panic –          おやじdemo_CentOSを使う
11月 192012
 

面倒なので、時間がゆっくり取れるときにと思っていましたが、昨日の日曜日、夕方に古い32bitOSを消して、64bitOSをインストールしました。

現時点ではhttpd(Apache2)は稼働しています。

インストールする時も問題だらけでした。
私が悪いのかハードの問題なのか?不明です。

と言うのも、64OSをインストール途中で固まる(いわゆる、カーネルパニック)訳です。
インストールDVDのメディアの問題と思い、再度ISOで焼き直ししてDVDを作り、再度チャレンジしても、やはり途中で固まります。

ハードの状況は・・・・・
ATOM510 メモリ2G×2=4GB HD=500GB という構成です。

前にメモリを2Gから4Gに付け替えた時にもパニック連発があったので、とりあえず、OSインストール前にmemtest+を動かして確認しました。2回しかループさせてみませんでしたが、エラーは無しと出ます。

しかし、またインストールするとパニックになります。

仕方ないので、1枚メモリを外し、2GBのメモリでインストールしてみます。

お~ぉ!ちゃんとインストール出来るぜ!
・・・でも何で?

前は32bitだったのでメモリエラー起こすのかな?と思ってましたが、どうやら違うようであります。

結局、時間ばかり掛けても仕方ないので、そのままインストール終了。
しかし、何か腑に落ちない。

とりあえず、他のPCからアクセス出きるようにSSHの設定をしようか?と思いましたが、またまた問題発生。

あ~っつ!そうだ!蟹さんマークのオンボードネットワーク(ギガイーサネット)が普通にインストール出来ないだ!それにこの蟹さん、負荷がかかると落ち易い、また他のドライバーと間違えてインストールされるという代物です。
どうもインストール途中でネットワーク設定聞いて来ないと思ったよ~
蟹さんのギガイーサは皆さん注意しましょう!

これを避けるには、最初からBIOS上で切ってしまい、PCIにちゃんと認識するカードを差すか、インストール後にifcfg eth0を手書きで設定して、とりあえずネットワークを繋げ、正しいドライバーを充てるという作業のどちらか?になります。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
HWADDR=00:90:99:25:**:**
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID=”2012f96c-97fc-***-b528-e5d5cbde213a”
IPADDR=192.168.*.*
NETMASK=255.255.255.0
GATEWAY=192.168.*.*
DNS1=192.168.*.*
IPV6INIT=no
USERCTL=no

こんな感じになりました。

私は確実性を選び、100base/Tのカードを取り付けました。
VIAのNICです。懐かしいアポロじゃぁ。
まぁ光なんで50MBくらいしか出てないのですからね~充分です。

蟹さんを削除して、VIAをeth0に設定して、IP、netmask、gatewayを設定して、ネットワーク起動!【ON】となりました。

ここまでに大変な時間の浪費をしてしまいました。

その2に続く・・・・

7月 082012
 

このところ鯖が不安定でちょっとした負荷がかかるとパニック状態になり落ちやすくなってきていました。現在はこの原因と思われたソフトの起動やcronなどの自動更新など止めていますが、それでもcron.dailyで動作している他の更新作業でパニックになったりしています。
前ほど頻繁ではありませんが、落ちてそのままになっている状態なのでこれが最悪で、パニックになったら自動的にrebootするようにしていても固まったままです。

現時点では追加したUMAXの2GBメモリ×2の相性問題もありますが、これは検証するにしても時間がかかるので後回しにします。

とりあえずはKernelの起動を変更します。
起動を変更といっても旧verのkernelで起動させるということです。

現在の状況は・・・・
# rpm -q kernel (rpmでインストールされているkernelをすべて表示する)
kernel-2.6.32-220.13.1.el6.i686
kernel-2.6.32-220.el6.i686
kernel-2.6.32-220.17.1.el6.i686
kernel-2.6.32-220.23.1.el6.i686 *

*印の付いている最新kernelで起動しています。
これを2世代前の13.1に戻すというか、rebootしても13.1でしか起動させないようにします。

# vi /etc/grub.conf
以下はgrub.conf本文
———————————————————————————
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
#title CentOS (2.6.32-220.23.1.el6.i686)
# root (hd0,0)
# kernel /vmlinuz-2.6.32-220.23.1.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap quiet rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM
# initrd /initramfs-2.6.32-220.23.1.el6.i686.img

title Memtest86+ (4.10)
root (hd0,0)
kernel –type=netbsd /elf-memtest86+-4.10
#title CentOS (2.6.32-220.17.1.el6.i686)
# root (hd0,0)
# kernel /vmlinuz-2.6.32-220.17.1.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap quiet rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM
# initrd /initramfs-2.6.32-220.17.1.el6.i686.img

title CentOS (2.6.32-220.13.1.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-220.13.1.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap quiet rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM
initrd /initramfs-2.6.32-220.13.1.el6.i686.img
#title CentOS (2.6.32-220.el6.i686)
# root (hd0,0)
# kernel /vmlinuz-2.6.32-220.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap quiet rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM
# initrd /initramfs-2.6.32-220.el6.i686.img

———————————————————————————
title CentOSという行の黒い太字にした部分を#を先頭に付けてコメントアウトしました。コメントアウトしていないのが起動させるkernelである13.1だけ。(memtestもありますがkernelではありません。メモリテストのソフト起動用です)

これで再起動をしても13.1でしか起動しません。
最後にreboot後に確認をします。

# /bin/uname -r (現在何のkernelで起動しているか調べるコマンド)
2.6.32-220.13.1.el6.i686

ちゃんと13.1で起動しています。

これでまた様子を見ることにします。
13.1か17.1か悩みましたが古い方を選択しました。
やはり鯖の場合にはkernelを最新にするよりも安定度を優先させなくてはなりません。

また、kernelがyumによって自動的に追加させないようにyum.confも変更しておきます。
# vi /etc/yum.conf
exclude=kernel* (この行をどこかに追加する。kernelをアップデートの対象から外す)

以上でkernelも手動でupdateしない限りは13.1で使用できる環境となりました。

 

6月 252012
 

CentOSですが、kernelがアップデートされました。
細かい日にちは覚えていませんが、つい一週間前くらいの感じだったと思います。

このカーネルのアップデートがされてから、またカーネルパニックが起きています。panic前のlogを確認するとCPU1がどうのこうのと書かれていますがハード面で何か問題あるかも知れません。メモリも以前信頼できていませんし。

ファイルシステムも怪しいので起動時に自動的にfsckを実行するようにしておきました。
# sudo touch /forcefsck

このところ 調子が悪い⇒修復⇒少し元に戻る⇒パニック⇒原因究明 この悪いパターンで泣いております。

まぁ勝手にカーネルがアップデートされないようにしておかなかった私も悪い。

このところ休日も出勤があったりとゆっくり考え修復する余裕もないので静観するとします。

ただ、鯖が勝手にパニ食ってもいけないのでパニックになったら5秒後に再起動設定をしておきます。(以前はSysRqコマンド設定)

最悪なのが再起動後にもパニ食っている時です。起動途中、または起動最後に固まってしまうパターンです。本気になってやれば2週間で再インストールからバックアップ復元できると思いますが、今後のために試験運用中なのでそのままにして課題解決できるよう模索していきたいと考えております。