Hyper-V 上の Linux ゲスト OS にて kdump が正しく動作しない

適用対象: Windows Server 2008 DatacenterWindows Server 2008 EnterpriseWindows Server 2008 R2 Datacenter

現象


LIS(Linux Integration Service) がインストールされている Linux ゲストにて kdump を構成すると、クラッシュ発生時に下記メッセージでダンプ生成処理が止まります。

[例1]

Waiting for block device discovery
Waiting for hda-like devices(s)...

[例2]

Waiting for block device discovery
Waiting for 1 sda-like devices(s)...

[例3 ]

Loading hv_vmbus.ko module
hv_vmbus: Hyper-V Host OS Build:7601-6.1-17-0.17514
hv_vmbus: Unable to initialize the hypervisor - 0xffffffff
insmod: can't insert '/lib/modules/2.6.32-131.0.15.el6.x86_64/hv_vmbus.ko':
Operation not permitted

上記メッセージはコンソールに出力されます。

原因


kdump kernel(/boot/initrd-[version].[arch]kdump.img) に LISLinux Integration Service) のドライバが含まれている場合、クラッシュ発生時に kdump kernel が初期化されますが、その際仮想デバイスの初期化処理に失敗するために、本問題は発生致します。

回避策


kdump kernel が仮想デバイスを利用しないよう kdump kernel を構成する必要があります。
Hyper-V 上の Linux ゲストにて LIS を利用する場合は以下の手順で構成してください。


方法 1 新規に kdump を構成する場合
  1. LIS(Linux Integration Service) インストール前にゲスト OS にて kdump を構成します。この際、kdump kernel には LIS 関連ドライバは含まれない状態となります。kdump の構成手順については各 OS のマニュアルをご参照お願い致します。
  2. LIS をインストールします。

方法 2 既に LIS インストール状態で kdump 構成済みの場合(本現象が発生している場合)

既に "LIS のインストール" -> "kdump の構成" の順で構築しており、現象が発生してしまった場合は以下の手順にて kdump を再構成してください。


1. LIS(Linux Integration Service) のパッケージ名を確認します。

rpm -q -a | grep hyper-v

2. 上記で確認した LIS のパッケージをアンインストールします。

rpm -e microsoft-hyper-v-rhelX-XX.X kmod-microsoft-hyper-v-rhelX-XX.X

3. kdump kernel の initrd をリネームします。これにより、再起動時に LIS ドライバを含まない initrd が再作成されます。

mv /boot/initrd-[version].[arch]kdump.img /boot/initrd-[version].[arch]kdump.img.old

4. LIS をインストールします。


5. 下記にてクラッシュダンプ生成の正常性確認を行います。

echo c > /proc/sysrq-trigger

6. 最後に ethX が初期化されておりますので、IP 等ネットワーク設定を行います。

詳細


Redhat Enterprise Linux 5.9 および 6.4 以降では OS 標準として Linux Integration Service が組み込まれておりますが、この場合にも kdump によるクラッシュ発生ダンプ生成時に本 KB と同様の事象が発生します。この際の対処方法は下記 KB2858695 をご参照ください。

KB2858695: Unable to use kdump or kexec for Linux virtual machines on Hyper-V
http://support.microsoft.com/kb/2858695

本事象は LIS の [Linux Integration Services v3.3 Read Me.pdf] にも記載されております。
http://www.microsoft.com/en-us/download/details.aspx?id=29991