Elastic Compute Service (ECS) ベアメタルインスタンスでは、オペレーティングシステムに付属のkdumpサービスがクラッシュダンプファイルの生成に失敗することがあります。 この問題は, この問題の原因と解決する.
問題の説明
このセクションでは、次のインスタンスでデバイスをホットスワップした後にクラッシュダンプファイルを生成できない既知のシナリオについて説明します。
6 世代 ECS Bare Metal Instance family (ebmg6, ebmc6, ebmc6, ebmc6, ebmc6, ebmc6, ebmc6, ebmc6, ebmc6, ebmc6 を含む)
C8.3 / 初期の画像
Ubuntu 16/18イメージ
Debian 10 画像
4.19.91-24.al7より前のカーネルバージョンを持つAlibaba Cloud Linux 2イメージ
Debian 10イメージを使用する第7世代ECS Bare Metalインスタンスファミリーのインスタンス (ebmg7、ebmc7、およびebmr7を含む) 。
原因
実行の kdump service がcrashker nel 段階であれば, pci _ resourceはvdaブロックデバイスに分けられなかった. その結果, クラッシュダプファイルは生成できない. この問題の根本原因は, オペレーティングシステムと不合同である. 次の図に示すようなコマンド出力が返されます。
解決策
次のいずれかの方法を使用して、この問題を解決できます。
メソッド1: オペレーティングシステムカーネルをバージョン5.10.
方法2: オペレーティングシステムに次のパッチを追加し、カーネルを再構築します。
する.Benjamin Herrenschmidt (1): esma PCI: Auto-realloc を守るようになって ケルシー・スカンバーグ (1): イラストPCI: pci_hotplug _io_size, mem _ size, bus_size ドーローガン・ゴンソープ (1): ダブ PCI: バスの資源を割り当てる ニコラス・ジョンソン (2): PCI: "pci=hpmmiosize" および "pci=hpmmioprefsize" パラメーターを追加する デマシン: 二重 Hpmemsize MMIO ウィンドウを避
説明いくつかのカーネル版は既に以前のパッチの一部が含まれる. また, カーネルに含まれないパッチを追加する必要がある. たとえば、Debian 10のカーネルバージョン4.19には、すでに1番目と3番目のパッチが含まれています。 オペレーティングシステムが期待どおりにkdumpサービスを使用する前に、2番目、4番目、5番目のパッチをカーネルに追加する必要があります。
また、次の項目にも注意する必要があります。
DebianまたはUbuntuオペレーティングシステムのカーネルの場合、kdump用に予約されたメモリを調整するためにcrashkernel
パラメーターを変更する必要があります。 推奨設定:
crashkernel=0M-2G:0M、2G-8G:192M、8G-:256M
Debian 10イメージなどの一部のオペレーティングシステムイメージでは、予約メモリの量を384 MBまたは512 MBに調整する必要があります。 予約されたメモリの量が増加しない場合、kdumpサービスがcrashkernel
フェーズにあるときにメモリ不足 (OOM) 例外が発生し、クラッシュダンプファイルを生成できません。
次の手順では、システムメモリの合計量が384 MBを超える場合に、crashkernel
パラメーターを調整して256 MBのメモリを予約する方法を示します。
/kdump-tools.cfgファイルを開きます。
vim /etc/default/grub.d/kdump-tools.cfg
Iキーを押してInsertモードに入り、次のcrashkernelパラメーター設定を変更します。
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT crashkernel=384M-:256M"
パラメーターを変更した後、Escキーを押し、
:wq
と入力し、enterキーを押してファイルを保存して閉じます。GRand Unified Bootloader (GRUB) の設定を更新します。
update-grub
設定を有効にするには、ECSインスタンスを再起動します。
インスタンスの再起動による業務運用への影響を軽減するため、オフピーク時にECSインスタンスを再起動することを推奨します。 ECSインスタンスを再起動する方法の詳細については、「インスタンスの再起動」をご参照ください。