Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.4.10. カーネルクラッシュ収集 (Kdump) の変更

これまで、カーネルクラッシュ収集ツールである kdump は、kdump キャプチャーカーネル用に、カスタム mkdumprd スクリプトで初期 RAMDisk (initrd) を生成していました。Red Hat Enterprise Linux 7 では、初期 RAMDisk が dracut で生成されるようになり、初期 RAMDisk 生成プロセスの維持が容易になっています。

この結果、kdump とその設定ファイルには以下の変更がなされました。

  • net ディレクティブはサポート対象外となりました。ssh もしくは nfs を明示的に定義する必要があります。
  • blacklist オプションに対応しなくなりました。代わりに rd.driver.blacklist を、キャプチャーカーネルの /etc/sysconfig/kdump ファイル内のパラメーターとして指定することができます。
  • デフォルトの mount_root_run_init アクションは、対象ターゲットへのダンプが失敗した場合に実行されていましたが、これは dump_to_rootfs アクションに置き換えられました。実際の root ファイルシステムをマウントして init スクリプトを実行し、kdump サービス開始時に vmcore の保存を試みる代わりに、root ファイルシステムをマウントして、即座に vmcore をそこに保存します。
  • 新たなディレクティブである dracut_args は、kdump の設定時に追加の dracut 引数の指定を可能にします。
  • debug_mem_level オプションが kdump に含まれなくなりました。この機能は dracut に移動しました。ユーザーは、キャプチャーカーネルの/etc/sysconfig/kump ファイルのパラメーターとして rd.memdebug を指定することで、同じ機能が実行できます。
  • options ディレクティブはこれまで、初期 ram ファイルシステム (initramfs) 内のカーネルモジュール固有のパラメーターを含めるために使用されていました。この方法は、Red Hat Enterprise Linux 7 ではサポートされていません。代わりに、キャプチャーカーネルの /etc/sysconfig/kdump ファイルで関連パラメーターを指定できます。
  • link_delay および disk_timeout パラメーターは不要となり、サポート対象外となりました。今まで、これらのパラメーターが必要とされていたユースケースに対処する udev が、dracut に含まれているためです。
  • ファイルシステムのバックエンドダンプターゲットは、kdump サービスが開始し、初期 RAMDisk イメージが作成される前に、クラッシュしたカーネルにマウントする必要があります。そのターゲットを /etc/fstab に追加すると、システムの起動時に自動的にマウントされようになります。
  • パスを指定してもターゲットを指定せず、指定したパス内のディレクトリーが別のデバイスのマウントポイントであった場合、vmcore は、そのパスのどこかにマウントされたデバイスではなく、パスそのものに保存されます。このため、システムが再起動してデバイスがマウントされると、vmcore にはアクセスできなくなります。これは、デバイスがその位置の上にマウントするためです。Red Hat Enterprise Linux 7 は、ターゲットを指定せずにパスを指定した場合、この問題について警告します。

kdump の詳細は、http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/ の『Red Hat Enterprise Linux 7 カーネルクラッシュダンプガイド』を参照してください。