第13章 RHEL システムロールを使用した自動クラッシュダンプの設定
Ansible を使用して kdump を管理するには、RHEL 9 で使用可能な RHEL システムロールの 1 つである kdump
ロールを使用できます。
kdump
ロールを使用すると、後で分析するためにシステムのメモリーの内容を保存する場所を指定できます。
13.1. kdump
RHEL システムロールを使用したカーネルクラッシュダンプメカニズムの設定
カーネルクラッシュダンプは、システムの問題を診断およびトラブルシューティングするための重要な機能です。システムでカーネルパニックやその他の重大な障害が発生した場合、クラッシュカーネルダンプを使用すると、障害発生時におけるカーネルの状態のメモリーダンプ (コアダンプ) をキャプチャーできます。
Ansible Playbook を使用すると、kdump
RHEL システムロールを使用して、複数のシステムでカーネルクラッシュダンプのパラメーターを設定できます。これにより、kdump
サービスのすべての管理対象ノードで一貫した設定が確保されます。
kdump
システムロールは、/etc/kdump.conf
および /etc/sysconfig/kdump
設定ファイルの内容を置き換えます。以前の設定は、ロール変数で指定された設定に変更され、ロール変数で指定されていない場合は失われます。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml
) を作成します。--- - name: Configuring kernel crash dumping hosts: managed-node-01.example.com tasks: - name: Setting the kdump directory. ansible.builtin.include_role: name: rhel-system-roles.kdump vars: kdump_target: type: raw location: /dev/sda1 kdump_path: /var/crash/vmcore kernel_settings_reboot_ok: true
サンプル Playbook で指定されている設定は次のとおりです。
kdump_target: <type_and_location>
-
vmcore
をルートファイルシステム以外の場所に書き込みます。type
が raw またはファイルシステムの場合、location
は (名前、ラベル、または UUID で) パーティションを参照します。 kernel_settings_reboot_ok: <true|false>
-
デフォルトは
false
です。true
に設定すると、要求された変更を有効にするために管理対象ホストの再起動が必要かどうかをシステムロールが判断し、ホストを再起動します。false
に設定すると、再起動が必要であることを示すtrue
値を持つ変数kernel_settings_reboot_required
がロールによって返されます。この場合、ユーザーが管理対象ノードを手動で再起動する必要があります。
Playbook で使用されるすべての変数の詳細は、コントロールノードの
/usr/share/ansible/roles/rhel-system-roles.kdump/README.md
ファイルを参照してください。Playbook の構文を検証します。
$ ansible-playbook --syntax-check ~/playbook.yml
このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook ~/playbook.yml
検証
カーネルクラッシュダンプのパラメーターを確認します。
$ ansible managed-node-01.example.com -m command -a 'grep crashkernel /proc/cmdline'
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.kdump/README.md
ファイル -
/usr/share/doc/rhel-system-roles/kdump/
ディレクトリー