読者です 読者をやめる 読者になる 読者になる

なか日記

一度きりの人生、楽しく生きよう。

VMware ESXi:Windows Server 2012の仮想マシンにて共有フォルダからファイルをコピーするとESXi自体が死ぬ件の対処方法

タイトル長いですね。そして「死んだ」だなんて怖いところですね。IT業界というところは。

あらまし

VMware ESXi上にWindows Server 2012仮想マシンを立てました。

その仮想マシンから、別の仮想マシンが共有しているファイルをローカルにコピーしようとすると、ESXi自体が下のような画面で落ちちゃいました。

f:id:nakaji999:20140826175513j:plain

ESXiが落ちるなんて今まで見たことなかったので、なかなかたまげました。

どうもそこそこサイズの大きいファイルをコピーしたときに発生する感じ。でも、100%再現する訳でもありません。

さすがにちょっと見て見ぬふりはできないなぁということで、調べてみました。

Knowledge Baseに何か載ってた

調べていると、以下の情報にたどり着きました。

現象

  • ESXi 5.x host fails with a purple diagnostic screen.
    (ESXi 5.x のホストが紫の診断画面になって死んじゃう)
  • ESXi host is running virtual machines using an E1000 or E1000e virtual network adapter.
    (ESXiホストは E1000 か E1000e のネットワークアダプタを使った仮想マシンを稼働している)
  • The purple diagnostic screen contains entries similar to:
    (紫の診断画面に以下に似た内容が表示される)
@BlueScreen: #PF Exception 14 in world wwww:WorldName IP 0xnnnnnnnn addr 0x0
PTEs:0xnnnnnnnn;0xnnnnnnnn;0x0;
0xnnnnnnnn:[0xnnnnnnnn]E1000PollRxRing@vmkernel#nover+0xdb9
0xnnnnnnnn:[0xnnnnnnnn]E1000DevRx@vmkernel#nover+0x18a
0xnnnnnnnn:[0xnnnnnnnn]IOChain_Resume@vmkernel#nover+0x247
0xnnnnnnnn:[0xnnnnnnnn]PortOutput@vmkernel#nover+0xe3
0xnnnnnnnn:[0xnnnnnnnn]EtherswitchForwardLeafPortsQuick@#+0xd6
0xnnnnnnnn:[0xnnnnnnnn]EtherswitchPortDispatch@#+0x13bb
0xnnnnnnnn:[0xnnnnnnnn]Port_InputResume@vmkernel#nover+0x146
0xnnnnnnnn:[0xnnnnnnnn]Port_Input_Committed@vmkernel#nover+0x29
0xnnnnnnnn:[0xnnnnnnnn]E1000DevAsyncTx@vmkernel#nover+0x190
0xnnnnnnnn:[0xnnnnnnnn]NetWorldletPerVMCB@vmkernel#nover+0xae
0xnnnnnnnn:[0xnnnnnnnn]WorldletProcessQueue@vmkernel#nover+0x486

処置方法その1

以下のバージョンでは解消されているようなので、アップデートするという方法があります。

  • ESXi 5.5 Update 1
  • ESXi 5.1 Update 2
  • ESXi 5.0 Patch ESXi500-201401001

処置方法その2

E1000シリーズの仮想アダプタを使用せず、VMXNET3 を使用する。

処置方法その3

ゲストOSにおいて、E1000仮想アダプタのRSS を無効にするか、RSSマルチキューを1にする。

自分がしたこと

VMXNET3 の仮想アダプタを追加して、E1000アダプタを削除しました。

これで幾つかファイルコピーしてみましたが、現象は発生しなかったので解決したと思われます。