During boot, a rescan operation, or a storage multi-pathing or topology change, the VMware ESX/ESXi VMkernel enumerates storage targets to determine what LUNs are presented. Commands are sent to each target to retrieve a list of LUNs, and to each LUN to retrieve vital product data (VPD) information.
The VMkernel logs at /var/log/vmkernel
or /var/log/messages
may report, during these storage device enumerations, messages similar to:
StorageMonitor: nnn: vmhba C: T: L:0 status = 2/0 0x5 0x24 0x0
StorageMonitor: nnn: vmhba C: T: L:0 status = 2/0 0x5 0x20 0x0
Command 0x12 to XX device "naa.NNN" failed on physical path "vmhba C: T: L:0" H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x24 0x0
Command 0x12 to XX device "naa.NNN" failed on physical path "vmhba C: T: L:0" H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x20 0x0
For more information, see Location of log files for VMware products and Identifying disks when working with VMware ESX.
VMware vSphere ESXi 6.x
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x
During a re-enumeration of storage devices, the VMware ESX/ESXi VMkernel sends SCSI Report LUNs command (0xa0
) to the target to retrieve a list of LUNs, and SCSI Inquiry commands (0x12
) to each LUN to determine the type of device (disk, CD-ROM, USB, etc), the make and model of the device, and the features the device supports.
A SCSI Inquiry requests Vital Product Data (VPD) page information from the LUN, including the unit serial number (page 0x80
), a device identification number (page 0x83
), and the management network address (page 0x85
).
If a SCSI device does not support a particular VPD page, it may respond to such a request with an error. Specifically, it may return SCSI Status 2
(Check Condition), with sense key 5
(Illegal Request) and additional sense code (ASC) and additional sense code qualifier (ASCQ) set to 0x20/0x0
or 0x24/0x0
.
0x20/0x0
is Invalid Command Operation Code0x24/0x0
is Invalid Field in CDB (Command Descriptor Block)The two additional sense codes described here are distinct, but are used interchangeably by different storage device vendors to mean the same thing: the request is not supported. Usually this indicates that the target cannot provide one of the requested VPD pages, or cannot respond to the Report LUNs command. The VMkernel treats the two sense codes as the same, and thus knows that the device or target does not support the given request.
This is not necessarily a problem. Some devices do not and cannot provide the requested information. This may be configurable, or a limitation of the device. For example:
0x83
, and thus cannot be used for Raw Device Mappings (RDMs). The content of page 0x83
is used as a unique identifier for the device. For more information, see Creating Raw Device Mapping (RDM) is not supported for local storage.0x80
, 0x83
or 0x85
. This can be ignored.If the storage device is otherwise working correctly, the log messages can be ignored. If the device is experiencing issues, engage the hardware storage device vendor and VMware Support to investigate further.