ESXi hosts report "Lost access to volume" alerts for multiple VMFS datastores during a rolling microcode upgrade or node reboot of an IBM FlashSystem (e.g., FS9500)
The following patterns appear in the host logs:
vmkernel.log: Rapid succession of fabric Registered State Change Notifications (RSCNs) followed immediately by device loss timers. ####-##-##T##:##:##.###Z In(182) vmkernel: cpu##:#######)lpfc: lpfc_els_rcv_rscn:####: vmhba# #### RSCN received Data: ########-##-##T##:##:##.###Z Wa(180) vmkwarning: cpu##:#######)WARNING: lpfc : vmhba# lpfc_start_devloss:####: #### Start 10 sec devloss tmo WWPN ##:##:##:##:##:##:##:##
Native Multipathing (NMP): Paths become blocked as the driver queue saturates during fabric discovery loops. ####-##-##T##:##:##.###Z Wa(180) vmkwarning: cpu#:#######)WARNING: NMP: nmp_DeviceStartLoop:###: NMP Device "naa.################################" is blocked. Not starting I/O from device.
SCSI Errors: Heartbeat operations fail with MISCOMPARE status due to I/O timeouts. ####-##-##T##:##:##.###Z In(182) vmkernel: cpu##:#######)NMP: nmp_ThrottleLogForDevice:####: Cmd 0x89 (...) Failed: H:0x0 D:0x2 P:0x0 Valid sense data: 0xe 0x1d 0x0. Act:NONE. SK=MISCOMPARE
ESXi 8.0 U3
IBM FlashSystem storage
Emulex HBAs
Rolling storage node reboots trigger multiple fabric RSCNs. The default ESXi configuration lacks the necessary thresholds to maintain connectivity during these transitions:
lpfc_devloss_tmo of 10 seconds is too short. The host preemptively removes paths while the fabric is still settling from the reboot.Optimize the ESXi host multipathing and driver parameters to increase patience during storage maintenance.
Step 1: Increase Emulex Devloss Timeout
Adjust the Emulex driver threshold to 30 seconds to prevent premature path eviction during fabric discovery storms.
esxcli system module parameters set -m lpfc -p "lpfc_devloss_tmo=30"⚠️ IMPORTANT: This operation requires a scheduled host reboot to take effect.
Modify the path selection policy to rotate paths after every single I/O operation. This ensures immediate utilization of surviving paths if a controller node becomes unavailable.
esxcli storage nmp satp rule add -s VMW_SATP_ALUA -v IBM -m 2145 -P VMW_PSP_RR -o "iops=1" -c "user_default" -d "Optimized for IBM FlashSystem HyperSwap"⚠️ Review this command with your storage administrator before running it to ensure compatibility with your specific array model.