ESXi leveraging NVMe storage may encounter conditions leading to sub-optimal storage communication. A review of vmkernel.log may uncover NVMe errors. Example:
YYYY-MM-DDThh:mm:ss.###Z Wa(180) vmkwarning: cpu188:2098584)WARNING: NVMEIO:2644 command 0x45bd4063c080 failed: ctlr 262, queue 3, psaCmd 0x45bdc63a6b00, status 0x371, opc 0x2, cid 180, nsid 261
opc = 0x2
status = 0x371
Translation for this example: A read (0x2) command was aborted (0x371) by the host.
VMware ESXi 7.0.x
VMware ESXi 8.0.x
Various factors such as ESXi configuration, physical storage fabric, and storage array need to be reviewed to isolate the source of storage interruption. The OPCODE and STATUS tables below provide for translation of NVMe errors found in vmkernel.log. Collaboration with the storage vendor may be needed as detailed translation of the NVMe errors may need vendor-side context to fully interpret.
OPCODE | DESCRIPTION |
0x0 | Brief Flush |
0x1 | Brief Write |
0x2 | Brief Read |
0x4 | Brief Write Uncorrectable |
0x5 | Brief Compare |
0x8 | Brief Write Zeros |
0x9 | Brief Dataset Management |
0xd | Brief Reservation Register |
0xe | Brief Reservation Report |
0x11 | Brief Reservation Acquire |
0x15 | Brief Reservation Release |
0x19 | Brief Copy |
STATUS | DESCRIPTION |
0x4 | Brief Data Transfer Error |
0x6 | Brief Command Abort Requested |
0xb | Brief Invalid Namespace or Format |
0x12 | Brief Invalid Use of Controller Memory Buffer |
0x19 | Brief Keep Alive Timeout Expired |
0x22 | Brief Transient Transport Error |
0x80 | Brief LBA Out of Range |
0x82 | Brief Namespace Not Ready |
0x11b | Brief Thin Provisioning Not Supported |
0x182 | Brief Attempted Write to Read Only Range |
0x189 | Brief Insufficient Resources |
0x280 | Brief Write Fault |
0x281 | Brief Unrecovered Read Error |
0x285 | Brief Compare Failure |
0x286 | Brief Access Denied |
0x300 | Brief Internal Path Error |
0x371 | Brief Command Aborted by Host |
0x807 | Brief Queue is Full |
0x808 | Brief Device is Busy |
0x80a | Brief Command Timed Out |
The above tables are not a comprehensive list of all the codes, but the most common seen. If you don't see the code listed seen in vmkernel.log, open a case with VMware by Broadcom for further assistance.