2010年12月5日日曜日

CentOS 5.5 において ext4 に kdump 出力する

CentOS 5.5 では、ext4 が使えるので、自分の管理している小規模サーバでは、全て ext4 にしてしまった。CentOS 5.5 のインストーラーでは、/ を ext4 にしてインストールしようとすると蹴られるのだが、予め、インストール CD からレスキューモードを起動して、ファイルシステムを作成してしまうことで、うまくインストールできた。本題ではないが、ext4 のファイルシステム作成手順は、次のとおり。
# mke2fs -j /dev/sda3          ※まずは、ext3 を作る

# tune4fs -O extent /dev/sda3  ※エクステントフラグを付加(ext4化する)する。これがキモ
      ※CentOS 5.5 の場合、tune4fs なので注意

# tune4fs -O flex_bg     /dev/sda3  ※その他のオプションを設定
# tune4fs -O huge_file   /dev/sda3  ※  そのうち、もう少し詳細を書こう
# tune4fs -O uninit_bg   /dev/sda3  ※
# tune4fs -O dir_nlink   /dev/sda3  ※
# tune4fs -O extra_isize /dev/sda3  ※
さて、kdump の領域に ext4 を使うには、ext3 の場合と同様に記述するのですが、次のように extra_bins の指定も必要です。これをやらないと、セカンドカーネルでダンプ採取領域をマウントする前の fsck が出来ず(fsck.ext4 が見つからないといわれる)、ダンプが失敗します。
extra_bins /sbin/fsck.ext4
ext4 LABEL=/
path /var/crash
core_collector makedumpfile -c -d 1
なお、ext3 で kdump 専用領域を作ったほうがいいのかもしれませんが、kdump のために遊ばせておくというのもと思うため、/ 1個にしています。/var も分割していません。もし重要度の高い業務用サーバなら /var を独立させて、ログとダンプ置き場専用とするのが一番無難だろうと思います。

2010-12-18追記
ext4 を使う前に、こちらも確認を。

2011-03-27追記
ext4 のファイルシステム作成は、mkfs.ext4 で行えば、最初に書いたような tune4fs でのオプション設定は不要でした。

2011-08-02追記
今ごろ気がつきましたが、既に 5.6 で kexec-tools に ext4 サポートが追加されていました。
http://rhn.redhat.com/errata/RHEA-2011-0146.html
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=667966
上のような小細工をするよりも、kexec-tools をアップデートしましょう。

0 件のコメント:

コメントを投稿

人気ブログランキングへ にほんブログ村 IT技術ブログへ