HA/FDM が仮想マシンの再起動に失敗し、次のエラーが表示される: vim.fault.NoCompatibleHost
search cancel

HA/FDM が仮想マシンの再起動に失敗し、次のエラーが表示される: vim.fault.NoCompatibleHost

book

Article ID: 344614

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

この記事では、仮想マシンを再起動するときに、vim.fault.NoCompatibleHost エラーを防ぐ手順を説明します。

Symptoms:
免責事項:これは英文の記事「HA/FDM fails to restart a virtual machine with the error: vim.fault.NoCompatibleHost (2036991)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


  • vSphere HA クラスタでホスト障害またはホスト隔離が発生し、1 つ以上の仮想マシンがフェイルオーバーに失敗した。
  • /var/log/fdm.log ファイルに次のようなエントリが表示される。

    <YYYY-MM-DD>T<time></time>.377Z [FFF57400 verbose 'Default' opID=SWI-99a6d1dd] DrmFault: reason powerOnVm, vm /vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx, host host-409, fault [N3Vim5Fault16NoCompatibleHostE:0x76fdcc0]
    <YYYY-MM-DD>T<time></time>.377Z [FFF57400 verbose 'Default' opID=SWI-99a6d1dd] FaultArgument: none
    <YYYY-MM-DD>T<time></time>.377Z [FFF57400 verbose 'Placement' opID=SWI-99a6d1dd] [DrmPE::InvokeDrsMultiplePasses] Pass3: use all compatible hosts
    <YYYY-MM-DD>T<time></time>.377Z [FFF57400 verbose 'Placement' opID=SWI-99a6d1dd] [DrmPE::InvokeDrsAlgorithmForPlacement] Calling mapVm to place 1 Vms
    <YYYY-MM-DD>T<time></time>.378Z [FFF57400 verbose 'Default' opID=SWI-99a6d1dd] DrmFault: reason powerOnVm, vm /vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx, host host-409, fault [N3Vim5Fault16NoCompatibleHostE:0x7741998]
    <YYYY-MM-DD>T<time></time>.378Z [FFF57400 verbose 'Default' opID=SWI-99a6d1dd] FaultArgument: none
    <YYYY-MM-DD>T<time></time>.379Z [FFF57400 verbose 'Placement' opID=SWI-99a6d1dd] [PlacementManagerImpl::PlacementUpdateCb] No recommendation is generated
    <YYYY-MM-DD>T<time></time>.379Z [FFF57400 verbose 'Placement' opID=SWI-99a6d1dd] [PlacementManagerImpl::HandleNotPlacedVms] Reset Vm /vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx, vim.fault.NoCompatibleHost

  • [タスクとイベント] タブに、次のようなエントリが表示される。

    Alert vSphere HA virtual machine failover failed
    Alarm 'vSphere HA virtual machine failover failed' changed from Gray to Red
    Not enough resources to failover this virtual machine. vSphere HA will retry when resources become available.

    :前述のログの引用は単なる例です。日付、時間、および環境変数は、環境によって異なる場合があります。  






Environment

VMware vCenter Server Appliance 5.5.x
VMware vCenter Server 5.1.x
VMware vCenter Server Appliance 6.5.x
VMware vCenter Server 6.0.x
VMware vCenter Server Appliance 5.0.x
VMware vCenter Server 5.5.x
VMware vSphere ESXi 5.0
VMware vCenter Server Appliance 6.0.x
VMware vCenter Server 6.5.x
VMware vSphere ESXi 5.5
VMware vCenter Server Appliance 5.1.x
VMware vSphere ESXi 5.1
VMware vSphere ESXi 6.0
VMware vCenter Server 5.0.x

Cause

この例で、ISO イメージが仮想マシンにマウントされましたが、VMFS ボリュームおよび ISO は現在存在しません。

仮想マシンに ISO イメージがマウントされたかどうかを確認するには、まず、仮想マシンが互換性のあるホストを特定します。詳細については、「Determining which hosts are compatible for HA protected virtual machines (2037002)」を参照してください。たとえば、仮想マシンに互換性があり、host-1208 上で実行しているとします。
<host>
<key>1</key>
<name>host-1208</name>
</host>

<vm>
<key>7</key>
<name>/vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx</name>
</vm>

<restartCompatibility>
<vm>7</vm>
<host>1</host>
</restartCompatibility>


フェイルオーバー要求(RequestPlacement など)が、マスターによって正しい順序になっています(VmOperationsManager など)。

<YYYY-MM-DD>T<time></time>.900Z [48A81B90 verbose 'Policy' opID=SWI-6e28e512] [VmOperationsManager::RequestPlacement] VM ID /vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx: Transitioned to 'Placement' state for 'VmFailover'

前述したとおり、仮想マシンに互換性があり、あるホスト上で実行している場合、フェイルオーバーは fdm ログ ファイルのエラー NoCompatibleHost で失敗します。この問題は、ISO イメージが仮想マシンでマウントされても VMFS ボリュームおよび ISO が現在存在しないために発生します:

server22.domain.local-YYYY-MM-DD--09.27/vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx:
ide0:0.present = "true"
ide0:0.fileName = "/vmfs/volumes/4dde0d0f-6daac226-86d4-00215e237bc2/iso/mysoftware.iso"
ide0:0.deviceType = "cdrom-image"

server22.domain.local-YYYY-MM-DD--09.27/var/run/log/hostd.log:
<YYYY-MM-DD>T<time></time>.809Z [67EA0B90 verbose 'vm:/vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx'] Retrieved current VM state from foundry 7, 6
<YYYY-MM-DD>T<time></time>.454Z [67EA0B90 verbose 'vm:/vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx'] Handling message _vmx2: Cannot connect file "/vmfs/volumes/4dde0d0f-6daac226-86d4-00215e237bc2/iso/mysoftware.iso" as a CD-ROM image: Could not find the file
<YYYY-MM-DD>T<time></time>.454Z [67EA0B90 info 'ha-eventmgr'] Event 21 : Warning message on vm009 on server22.domain.local in ha-datacenter: Virtual device ide0:0 will start disconnected.
<YYYY-MM-DD>T<time></time>.455Z [67EA0B90 verbose 'vm:/vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx'] sleepState value is 0
<YYYY-MM-DD>T<time></time>.471Z [67EA0B90 info 'ha-eventmgr' opID=3CAF5A58-00005C2E-a4-37-bf] Event 22 : vm009 on server22.domain.local in ha-datacenter is powered on
<YYYY-MM-DD>T<time></time>.471Z [67EA0B90 info 'vm:/vmfs/volumes/4fbf41e5-da3ba7c6-993c-0017a4770460/vm009/vm009.vmx' opID=3CAF5A58-00005C2E-a4-37-bf] State Transition (VM_STATE_POWERING_ON -> VM_STATE_ON)

Resolution

:vSphere HA クラスタの vSphere 5.x でも、ローカル ストレージに存在する仮想マシンは保護状態としてマーク付けされますが、フェイルオーバーできません。

これは設計による既知の動作で、VMware で現在見直しています。

HA が現在仮想マシンを再起動できるかどうかを反映するために、保護状態は変更されません。
  • たとえば、仮想マシンが 1 つのホストのみと互換性がある場合も、仮想マシンで HA 再起動の優先順位が無効になっている場合も、仮想マシンは保護解除状態であると報告されません。
この動作を回避するには:
  • どの仮想マシンでも、クラスタ内のあらゆるホスト上で実行できることを確認します。すべてのホストは、同じ仮想マシン ネットワークとデータストアにアクセスできる必要があります。
  • 仮想マシンがローカル ストレージではなく、共有ストレージ上にあることを確認します。仮想マシンはローカル ストレージ上にある場合、ホスト障害の場合にフェイルオーバーできません。

詳細については、『vSphere Availability 5.0』、『vSphere Availability 5.1』、『vSphere Availability 5.5』、『vSphere Availability 6.0』、または『vSphere Availability 6.5』の「vSphere HA チェックリスト」を参照してください。

この問題が環境で発生する場合、vMotion を使用して仮想マシンを移行してみてください。vMotion を使用して、ターゲット ホストでアクセスできないデバイスでバッキングされている仮想デバイスを使用する仮想マシンを移行することはできますが、警告が表示されます。

たとえば、ソース ホストで物理 CD ドライブでバッキングされている CD ドライブを使用する仮想マシンを移行することはできますが、警告が表示されます。

詳細については、以下を参照してください。


Additional Information

仮想マシンが再起動に失敗した詳細については、『vSphere Troubleshooting』を参照してください。HA/FDM fails to restart a virtual machine with the error: vim.fault.NoCompatibleHost