3.12. Microsoft Azure インスタンス用の kdump の設定
RHEL インスタンスでカーネルクラッシュが発生した場合は、kdump
サービスを使用してクラッシュの原因を特定できます。インスタンスカーネルが予期せず終了したときに kdump
が正しく設定されていれば、kdump
はクラッシュダンプまたは vmcore
ファイルと呼ばれるダンプファイルを生成します。その後、ファイルを分析してクラッシュが発生した原因を見つけ、システムをデバッグできます。
kdump
を Microsoft Azure インスタンスで動作させるには、仮想マシンのサイズと RHEL バージョンに合わせて、kdump
の予約メモリーと vmcore
ターゲットの調整が必要になる場合があります。
前提条件
kdump
をサポートする Microsoft Azure 環境を使用している。- Standard_DS2_v2 VM
- Standard NV16as v4
- Standard M416-208s v2
- Standard M416ms v2
- システムの root 権限がある。
-
システムが、
kdump
の設定とターゲットの要件を満たしている。詳細は 対応している kdump 設定とターゲット を参照してください。
手順
kdump
およびその他の必要なパッケージがシステムにインストールされていることを確認します。# dnf install kexec-tools
クラッシュダンプファイルのデフォルトの場所が
kdump
設定ファイルで設定されており、/var/crash
ファイルが使用可能であることを確認します。# grep -v "#" /etc/kdump.conf path /var/crash core_collector makedumpfile -l --message-level 7 -d 31
RHEL 仮想マシン (VM) インスタンスのサイズとバージョンに基づいて、
/mnt/crash
などのより多くの空き領域を持つvmcore
ターゲットが必要かどうかを判断します。これを行うには、次の表を使用します。表3.4 Azure 上の GEN2 VM でテストされた仮想マシンのサイズ RHEL バージョン Standard DS1 v2 (1 vCPU、3.5GiB) Standard NV16as v4 (16 vCPU、56 GiB) Standard M416-208s v2 (208 vCPU、5700 GiB) Standard M416ms v2 (416 vCPU、11400 GiB) RHEL 9.0 - RHEL 9.3
デフォルト
デフォルト
Target
Target
-
Default は、デフォルトのメモリーとデフォルトの
kdump
ターゲットでkdump
が期待どおりに動作することを示します。デフォルトのkdump
ターゲットは/var/crash
です。 -
Target は、
kdump
がデフォルトのメモリーで期待どおりに動作することを示します。ただし、より多くの空き領域を持つターゲットを割り当てる必要がある場合があります。
-
Default は、デフォルトのメモリーとデフォルトの
インスタンスで必要な場合は、
/mnt/crash
など、より多くの空き領域を持つターゲットを割り当てます。これを行うには、/etc/kdump.conf
ファイルを編集し、デフォルトのパスを置き換えます。$ sed s/"path /var/crash"/"path /mnt/crash"
オプションパス
/mnt/crash
は、kdump
がクラッシュダンプファイルを保存するファイルシステムへのパスを表します。クラッシュダンプファイルを別のパーティションに書き込む、デバイスに直接書き込む、リモートマシンに保存するなどのその他のオプションは、kdump ターゲットの設定 を参照してください。
インスタンスで必要な場合は、それぞれのブートパラメーターを追加して、クラッシュカーネルのサイズを、
kdump
がvmcore
をキャプチャーするのに十分なサイズまで増やします。たとえば、Standard M416-208s v2 仮想マシンの場合、十分なサイズは 512 MB なので、ブートパラメーターは
crashkernel=512M
になります。GRUB 設定ファイルを開き、ブートパラメーター行に
crashkernel=512M
を追加します。# vi /etc/default/grub GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300 crashkernel=512M"
GRUB 設定ファイルを更新します。
RHEL 9.2 以前
# grub2-mkconfig -o /boot/grub2/grub.cfg
RHEL 9.3 以降の場合:
# grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
- 仮想マシンを再起動して、仮想マシンに個別のカーネルクラッシュメモリーを割り当てます。
検証
kdump
がアクティブで実行されていることを確認します。# systemctl status kdump ● kdump.service - Crash recovery kernel arming Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor prese> Active: active (exited) since Fri 2024-02-09 10:50:18 CET; 1h 20min ago Process: 1252 ExecStart=/usr/bin/kdumpctl start (code=exited, status=0/SUCCES> Main PID: 1252 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 16975) Memory: 512B CGroup: /system.slice/kdump.service