Scope
This article applies only to hosts running versions of ESX/ESXi hosts which have advanced setting
Misc.APDHandlingEnable set to a value of
0.
Note: The default setting is set to a value of
1.
Default APD handling is different in ESXi 5.1 and later including ESXi 6.x.
For more information, see the
Handling Transient APD Conditions section in the
vSphere Storage Guide.
Validation
Determine whether there are any LUNs in an All-Paths-Down (APD) state on an ESXi/ESX host:
- Open a console to the ESXi/ESX host. For more information, see Unable to connect to an ESX host using Secure Shell (SSH) (1003807) or Using Tech Support Mode in ESXi 4.1 and ESXi 5.0 (1017910).
- Use the
esxcfg-mpath
command to obtain a list of all device paths, and filter by their State:
# esxcfg-mpath --list-paths --device <device mpx/naa name> | grep state
If you do not know the problem device ID or you have many devices it may be more efficient to use this command to identify the dead paths:
# esxcfg-mpath -b |grep -C 1 dead
- If any path reports the State as
dead
, but other paths to the same device report the State as Up
, perform a rescan to remove the stale device entries. For more information, see Performing a rescan of the storage on an ESXi/ESX host (1003988). - If every path to a LUN reports the State as
dead
, then the LUN is in an All-Paths-Down state.
Preemptive workaround
If the APD condition is noticed prior to any process opening a file on the affected VMFS datastores, the impending blocking I/O can be fast-failed by setting the advanced configuration option
VMFS3.FailVolumeOpenIfAPD = 1
on ESXi/ESX 4.1. For more information, see
Configuring advanced options for ESX/ESXi (1038578).
In situations where any dead path or APD is noticed, individual HBAs can be rescanned using this command:
# esxcfg-rescan -d
vmhbaXNote: Replace
vmhbaX with the appropriate HBA, for example
vmhba33.
In ESX/ESXi 4.1 and later, all HBAs can be rescanned using this command:
# esxcfg-rescan -ANote: If any device is already in an APD condition with active I/O already waiting for the device to return, setting this option does not cause the already-issued I/O to fail. It is necessary to either bring the LUN paths back up, or to wait for the I/O to eventually fail.
For more information, see
Virtual machines stop responding when any LUN on the host is in an all-paths-down (APD) condition (1016626).
To avoid the APD state on an ESXi/ESX host, ensure to use the correct method to unpresent the LUNs. For more information on the correct procedure for unpresenting LUNs, see
Removing a LUN containing a datastore from VMware ESXi/ESX 4.x (1029786) or
Unmounting a LUN or Detaching a Datastore/Storage Device from multiple ESXi 5.x hosts (2004605), depending on your ESX/ESXi version.
Note: When changing Fabric switching, confirm that the settings are correct. This issue is seen to occur when switching brands of switches. Contact the switch vendor for the appropriate configuration when performing a switch migration.