このところ鯖が不安定でちょっとした負荷がかかるとパニック状態になり落ちやすくなってきていました。現在はこの原因と思われたソフトの起動や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で使用できる環境となりました。
あまりセキリュティ部分は記載しない方がいいよ。
カーネルのバージョンとか、サービス停めてるとか・・・
((;゚Д゚)ガクガクブルブル
一応、セキュリティはちゃんと設定してあるんで心配はしていないです。殆どがルーターで遮断されていますからね。
やはり無料のOSは限界がありますか~
OSの問題ではなくて、私の問題解決能力が無いということでしょう。
安定(初期設定終了または稼動開始)時のディスク・イメージを取ってかないと駄目だな。
しかしカーネルが勝手にアップデートって、CentもWindowsみたいになったのね。
kernelのアップデートは何もしなければ更新されませんが、yumで他のソフトをアップデートすると同時にkernelも更新されてしまいます。SuperServerの場合には最新kernelよりも安定しているものを選んでおいた方がいいようです。今回yumの設定をしておいたので自動更新はしなくなりますから安心です。
実際に不安定になってからでないと分からないことばかりだよ。