Fibre Channel (FC) storage adapters may report "Transient storage condition" alerts or lose connectivity to datastores.
VMs running on Fiber channel datastores have poor performance (high latency) on one or more ESXi hosts.
This occurs when the physical layer signaling is interrupted or frames are corrupted in transit.
Symptoms can include the following:
vCenter UI > Datastore > Monitor > Events" and "/var/run/log/hostd.log".2026-07-14T16:30:21.004Z In(166) Hostd[2099635]: [Originator@6876 sub=Vimsvc.ha-eventmgr] Event 218628 : Lost access to volume 69ed09bb-de78a555-2737-405b7fd831fe (IBOX3_EDC_ONT_PRODSTORE11) due to connectivity issues. Recovery attempt is in progress and outcome will be reported shortly.
esxcfg-mpath -b
naa.################################ : NFINIDAT Fibre Channel Disk (naa..################################)vmhba4:C0:T0:L25 LUN:25 state:active fc Adapter: WWNN: ##:##:##:##:##:##:##:## WWPN: ##:##:##:##:##:##:##:## Target: WWNN: ##:##:##:##:##:##:##:## WWPN: ##:##:##:##:##:##:##:##vmhba4:C0:T1:L25 LUN:25 state:active fc Adapter: WWNN: ##:##:##:##:##:##:##:## WWPN: ##:##:##:##:##:##:##:## Target: WWNN: ##:##:##:##:##:##:##:## WWPN: ##:##:##:##:##:##:##:##vmhba3:C0:T1:L25 LUN:25 state:dead fc Adapter: Unavailable Target: Unavailablevmhba3:C0:T0:L25 LUN:25 state:dead fc Adapter: Unavailable Target: Unavailablevmhba1:C0:T3:L25 LUN:25 state:active fc Adapter: WWNN: ##:##:##:##:##:##:##:## WWPN: ##:##:##:##:##:##:##:## Target: WWNN: ##:##:##:##:##:##:##:## WWPN: ##:##:##:##:##:##:##:##vmhba1:C0:T2:L25 LUN:25 state:active fc Adapter: WWNN: ##:##:##:##:##:##:##:## WWPN: ##:##:##:##:##:##:##:## Target: WWNN: ##:##:##:##:##:##:##:## WWPN: ##:##:##:##:##:##:##:##
2026-07-14T16:29:06.312Z In(182) vmkernel: cpu50:2098305)lpfc: lpfc_rportStats:3118: 0:(0) Compression log for fcp target 5, path is dead, IO errors: busy 0,retry 120, no_connect 506282, fcperr 65, tmo 282026-07-14T16:29:26.133Z In(182) vmkernel: cpu67:2098752)NMP: nmp_ThrottleLogForDevice:3893: Cmd 0x12 (0x45db56ae1c80, 0) to dev "naa.#######################"" on path "vmhba3:C0:T1:L25" Failed:2026-07-14T16:29:26.133Z In(182) vmkernel: cpu67:2098752)NMP: nmp_ThrottleLogForDevice:3898: H:0x1 D:0x0 P:0x0 . Act:NONE. cmdId.initiator=0x453b2769bb58 CmdSN 0x0SCSi commands failures are seen with sense code "H:0x0 D:0x28 P:0x0"
var/run/log/vmkernel.log , There scsi sense code " D:0x28" which means TASK_SET_FULL.This status is returned when the LUN prevents accepting SCSI commands from initiators due to lack of resources, namely the queue depth on the array.
If configured, this code will activate when device status TASK SET FULL (0x28) is return for failed commands and essentially throttles back the I/O until the array stops returning this status.
These status codes may indicate congestion at the LUN level or at the port (or ports) on the array. When congestion is detected, VMkernel throttles the LUN queue depth(reduces to half of the original value). The VMkernel attempts to gradually restore the queue depth when congestion conditions subside.
2026-07-14T16:30:07.825Z In(182) vmkernel: cpu84:2098770)ScsiDeviceIO: 4644: Cmd(0x45db56bfaa80) 0x8a, CmdSN 0x364 from world 36106452 to dev "naa.#######################" failed H:0x0 D:0x28 P:0x0
VMware vSphere ESXi (all versions).
This is caused to underlying SAN fabric issues i.e any physical layer instability in the SAN fabric.
Invalid Tx Word Count indicates a signaling error between the HBA and the switch, while Invalid CRC Count indicates hardware issues on SAN fabric layer.
These are typically caused by faulty SFPs, damaged FC cables, or loose connections.
Evidence of such issues may include:
qlnativefc: vmhba1(de:0.1): qlnativefcStatusEntry:1924:(3:8) Dropped frame(s) detected (37440 of 36864 bytes)esxcli storage san fc stats get
Tx Frames: 0Rx Frames: 0Lip Count: 0Error Frames: 3072Dumped Frames: 0Link Failure Count: 1Loss of Signal Count: 0PrimSeq Protocol Err Count: 0Invalid Tx Word Count: 1066134556Invalid CRC Count: 3072Input Requests: 0Output Requests: 0Control Requests: 0
/var/log/vmkernel.log includes logging similar to:
VSCSI: 3285: handle 9366752458711311(GID:8463)(vscsi1:2):processing reset for handle ... state 1381192707qlnativefc: vmhba1(de:0.1): qlnativefcTaskMgmt:2325:Task Mgmt virt resetqlnativefc: vmhba1(de:0.1): qlnativefcEhVirtualReset:3239:C0:T0:L5: VIRTUAL RESET ISSUED.qlnativefc: vmhba1(de:0.1): qlnativefcEhVirtualReset:3265:Command aborted on target=0x32x, lun=0x05 - SCSI command timeout counter incremented to 6081
2026-07-14T16:30:21.002Z In(182) vmkernel: cpu42:2097336)ScsiDeviceIO: 4681: Cmd(0x45bb657c7440) 0x89, cmdId.initiator=0x430bb676d800 CmdSN 0x912b from world 2097288 to dev "naa.#######################" failed H:0x5 D:0x0 P:0x0 Cancelled from device layer.2026-07-14T16:30:21.002Z In(182) vmkernel: cpu42:2097336)Cmd count Active:32 Queued:1842026-07-14T16:30:21.002Z In(182) vmkernel: cpu42:2097336)ScsiDeviceIO: 4616: Cmd(0x45bb6564f240) 0x2a, cmdId.initiator=0x430bb676d800 CmdSN 0x912a from world 2097288 to dev "naa.#######################" failed H:0x8 D:0x0 P:0x0 Cancelled from device layer2026-07-14T16:30:21.003Z In(182) vmkernel: cpu38:2098912)ScsiPath: 7084: Cancelled Cmd(0x45bb64b7b240) 0x2a, cmdId.initiator=0x430bb676d800 CmdSN 0x9128 from world 2097288 to path "vmhba3:C0:T5:L25". Cmd count Active:0 Queued:31.2026-07-14T16:30:21.003Z In(182) vmkernel: cpu38:2098912)NMP: nmp_ThrottleLogForDevice:3893: Cmd 0x2a (0x45bb64b7b240, 2097288) to dev "naa.#######################" on path "vmhba3:C0:T5:L25" Failed:2026-07-14T16:30:21.003Z Wa(180) vmkwarning: cpu38:2098912)WARNING: NMP: nmp_DeviceRequestFastDeviceProbe:235: NMP device "naa.#######################" state in doubt; requested fast path state update...
Use the following steps to monitor HBA statistics and isolate the fault to the HBA, SFP, or cable:
vmhbaX with your adapter ID): esxcli storage san fc stats get -A vmhbaXFcStat output for the following counters:Invalid Tx Word Count: Physical signaling/light interruption.Invalid CRC Count: Frame data corruption.Example output:
FcStat:
Adapter: vmhbaX
Tx Frames: #######
Rx Frames: #######
Lip Count: #
Error Frames: ######
Dumped Frames: #
Link Failure Count: #
Loss of Signal Count: #
PrimSeq Protocol Err Count: #
Invalid Tx Word Count: ### <===
Invalid CRC Count: #### <===
Input Requests: #
Output Requests: #
Control Requests: #