Understanding SCSI Check Conditions in VMkernel logs during rescan operations

Understanding SCSI Check Conditions in VMkernel logs during rescan operations

book

Article ID: 343525

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

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.

Environment

VMware vSphere ESXi 6.x
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x

Resolution

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.

  • ASQ/ASCQ 0x20/0x0 is Invalid Command Operation Code
  • ASQ/ASCQ 0x24/0x0 is Invalid Field in CDB (Command Descriptor Block)

    For more information, see Interpreting SCSI sense codes and SCSI Additional Sense Data at T10.org.

    Note: The preceding link was correct as of May 28, 2012. If you find the link is broken, provide feedback and a VMware employee will update the link.

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:

  • Local storage devices often do not support VPD page 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.
     
  • CD or DVD-ROM devices often do not support VPD pages 0x80, 0x83 or 0x85. This can be ignored.
     
  • Some device controllers do not support Report LUNs. If there is no LUN 0, or the SCSI version reported is 2 or lower, the ESX/ESXi host iteratively scans for LUNs on this controller.

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.

 

Additional Information