第13章 RHEL システムロールを使用した自動クラッシュダンプの設定
Ansible を使用して kdump を管理するには、RHEL 8 で使用できる 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: redhat.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'