Determining hosts compatible for HA protected virtual machines
search cancel

Determining hosts compatible for HA protected virtual machines

book

Article ID: 330060

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

This article helps determine which hosts are compatible for protected HA virtual machines using the prettyPrint.sh script.
This article can also be used to proactively show compatibility, or show when a failover occurred after the event.
 
Note: VMware recommends gathering all FDM files as soon as possible after a failure. Performing any actions (such as removing a host, reconfiguring VMware HA Cluster, or unregistering/registering a virtual machine) complicates log analysis and root cause analysis.

For information about collecting diagnostic information, see:


Symptoms:
  • An unexpected failover occurs in a VMware HA cluster and certain virtual machines do not failover.
  • vSphere HA cluster experiences a host failure or a host isolation and one or more virtual machines has failed to failover.
  • One or more virtual machines do not successfully failover.


Resolution

To determine which hosts are compatible for protected HA virtual machines:

  1. One responsibility of the primary host in a cluster is to manage the lists of cluster hosts and protected virtual machines.

    To determine which is the primary host:
     
    1. Navigate to the Summary tab.
    2. Click Cluster Status.

      The Hosts tab shows the primary host:

  2. Open an SSH console to the primary host.
  3. Use the prettyPrint.sh script to display information:

    Notes:
    • prettyPrint.sh accepts three different arguments (hostlist, clusterconfig, compatlist).
    • The fdm files are located at /etc/opt/vmware/fdm and each host including the primary host is stored locally. Updates to this information is sent to the primary host by vCenter Server and propagated by primary to the secondary hosts.
    • The prettyPrint.sh script is used to display information. Do not modify these files for any reason. The cluster configuration is done exclusively by the GUI or by PowerCLI.

      ~ # /opt/vmware/fdm/fdm/prettyPrint.sh
      Usage: prettyPrint.sh

       
  4. The compatlist is a binary file. It provides the compatibility matrix information for each HA protected virtual machine and lists all hosts with which it is compatible. Run this command from the directory /etc/opt/vmware/fdm to display the content:

    # /opt/vmware/fdm/fdm/prettyPrint.sh compatlist
     
    • Between xml tags , there is a list of computers and virtual machines in the cluster. For example:


      0
      host-1201


      1
      host-1208



      0
      /vmfs/volumes/4e983f21-9155921c-adf8-017a4770410/vm004/vm004.vmx


      1
      /vmfs/volumes/4fbf41e5-da3ba7c6-993c-017a4770460/vm008/vm008.vmx


       
    • Between xml tags , there is a list of every HA protected virtual machines and their respective compatible hosts. For example:


      0
      0
      1
      2
      3
      4
      5


      1
      0
      1
      2
      3
      4
      5



      This shows that virtual machines vm004 and vm008 can be started on any hosts in the cluster.
       
  5. To show when a failover occurred after the event, see between xml tags . There is a file version that allows you to retrieve the timestamp in the vCenter Server and fdm logs:

    9044
     
    • On the primary host ( /var/run/log/fdm.log):

      [48DC6B90 info 'Default' opID=SWI-7f0fbb9-a] [VpxLRO] -- BEGIN task-internal-9157 -- -- csi.FdmService.setHostCompatList -- 52e1fd67- dcc0-3e1c-e404-e17dc1b261bf
      [48DC6B90 verbose 'Cluster' opID=SWI-7f0fbb9-a] [ClusterManagerImpl::SetHostCompatList] version 9044
      [48DC6B90 verbose 'Cluster' opID=SWI-7f0fbb9-a] [ClusterManagerImpl::Compress] compressed from size 4760 to size 824 (max 4772)
      [48DC6B90 verbose 'Cluster' opID=SWI-7f0fbb9-a] [ClusterManagerImpl::UpdatePersistentObject] name compatlist version (9044 ?> 9043) force true
      [48A81B90 verbose 'Invt' opID=SWI-7f0fbb9-a-SWI-bdb6690a] [InventoryManagerImpl::ProcessHostCompatList] processing compat list version:9044
      [48C40B90 info 'Cluster' opID=SWI-7f0fbb9-a-SWI-9bcd2e43] [ClusterManagerImpl::StoreDone] Wrote host-compatabilty-list version 9044
      [48A81B90 info 'Placement' opID=SWI-7f0fbb9-a-SWI-bdb6690a] [PlacementManagerImpl::CompatListListener::Handle] Get a new compat list
      [48DC6B90 info 'Default' opID=SWI-7f0fbb9-a] [VpxLRO] -- FINISH task-internal-9157 -- -- csi.FdmService.setHostCompatList -- 52e1fd67-dcc0-3e1c-e404-e17dc1b261bf

       
    • On vCenter Server ( vpxd.log):

      2012-09-26T11:19:55.280+02:00 [143356 info 'DAS' opID=SWI-7f0fbb9] [FdmManager::SendPendingFdmUpdates] Pushed partial update for cluster domain-c9 to master [vim.HostSystem:host-406,server13.domain.local] compat version 9044


Additional Information

“vm-support” command in ESX/ESXi to collect diagnostic information
Collecting diagnostic information for VMware vCenter Server 4.x, 5.x and 6.x
HA/FDM fails to restart a virtual machine with the error: vim.fault.NoCompatibleHost
Collecting diagnostic information for VMware ESX/ESXi