Understanding SCSI host-side NMP errors/conditions in ESXi
search cancel

Understanding SCSI host-side NMP errors/conditions in ESXi

book

Article ID: 309543

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

This article provides information about the SCSI host status messages that you observe when reviewing NMP errors in the vmkernel log.


Environment

VMware ESXi 4.0.x Embedded
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 5.5
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.1
VMware ESX 4.1.x
VMware vSphere ESXi 6.7
VMware vSphere ESXi 5.0
VMware vSphere ESXi 7.0
VMware vSphere ESXi 8.0
VMware ESXi 4.0.x Installable
VMware vSphere ESXi 6.0
VMware vSphere ESXi 6.5
VMware ESX 4.0.x

Resolution

This table outlines theVMkernel SCSI host status messages that are defined and updated by VMware:
 
Status
Example
Definition
VMK_SCSI_HOST_OK = 0x00 or 0x0
vmkernel: 76:23:45:36.239 cpu11:22687)NMP: nmp_CompleteCommandForPath: Command 0x28 (0x41000b10f000) to NMP device "naa.600601601f7019001
6361881f3b4de11" failed on physical path "vmhba3:C0:T2:L10" H:0x0 D:0x2 P:0x0 Valid sense data: 0x2 0x4 0x3.
This status is returned when there is no error on the host side. This is when you see if there is a status for a device or plugin. This status is also when you see valid sense data instead of possible sense data.
 
For more Device SCSI status (such as Check Condition), see http://www.t10.org/lists/2status.htm.
VMK_SCSI_HOST_NO_CONNECT= 0x01 or 0x1
vmkernel: 27:10:19:24.190 cpu1:4552)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x41000504e500) to NMP device "naa.600601602c411800
f955e0bbe09fdb11" failed on physical path "vmhba1:C0:T1:L0" H:0x1 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned if the connection is lost to the LUN. This can occur if the LUN is no longer visible to the host from the array side or if the physical connection to the array has been removed.
 
VMK_SCSI_HOST_BUS_BUSY = 0x02 or 0x2
vmkernel: 116:03:44:19.039 cpu4:4100)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x4100020e0b00) to NMP device "sym.029010111
831353837" failed on physical path "vmhba2:C0:T0:L152" H:0x2 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when the HBA driver is unable to issue a command to the device. This status occurs due to dropped FCP frames in the environment.
VMK_SCSI_HOST_TIMEOUT= 0x03 or 0x3
vmkernel: 4:10:53:57.450 cpu6:4197)ScsiDeviceIO: 1672: Command 0x1a to device "naa.6006016053702100
6e618a620a1ddf11" failed H:0x3 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when the command in-flight to the array times out.
VMK_SCSI_HOST_BAD_TARGET= 0x04 or 0x4
vmkernel: 0:00:21:42.980 cpu0:4103)ScsiDeviceIO: SCSICompleteDeviceCommand:747: Command 0x28 to device
"naa.6001e4f0191f37
00108a26974d0ffdda" failed H:0x4 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned after the driver abort commands to a bad target. Typically this status occurs when the target experiences a hardware error, butit can also occurif a command is sent to a bad target ID.
VMK_SCSI_HOST_ABORT = 0x05 or 0x5
vmkernel: 0:00:13:23.910 cpu20:4251)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x4100010bf9c0) to NMP device "naa.60060480000190
103838533030363542" failed on physical path "vmhba3:C0:T0:L4" H:0x5 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned if the driver aborts commands in-flight to the target. This occurs due to a command timeout or parity error in the frame.
VMK_SCSI_HOST_PARITY= 0x06 or 0x6

 
This status is returned for generic errors. For example, this status occurs for events not covered by the other errors (such as data overrun or underrun).
VMK_SCSI_HOST_ERROR= 0x07 or 0x7
vmkernel: 0:00:57:27.056 cpu4:4100)NMP: nmp_CompleteCommandFor
PhysicalPath: Command 0x16 (0x41000e639880) to NMP device "naa.600601602a1b1
70074c945e4d5d9dc11" failed on physical path "vmhba3:C0:T0:L0" H:0x7 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when a device is reset due to a Storage Initiator Error. This typically occurs due to an outdated HBA firmware or possibly (though rarely) as the result of a bad HBA.

For more information on the bad HBA scenario, see One host shows a Storage Initiator Error while all other hosts show SCSI Reservation Conflicts (1021187).
VMK_SCSI_HOST_RESET= 0x08 or 0x8
vmkernel: 0:19:26:42.068 cpu0:4103)NMP: nmp_CompleteCommand
ForPath: Command 0x28 (0x4100070e8e80) to NMP device "naa.60060480000190
101883533030323731" failed on physical path "vmhba2:C0:T1:L27" H:0x8 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when the HBA driver aborts I/O. It also occurs if the HBA resets the target.
VMK_SCSI_HOST_BAD_INTR= 0x09 or 0x9
 
This is a legacy error and never be returned.
VMK_SCSI_HOST_PASSTHROUGH = 0x0a or 0xa
 
This is a legacy error and never be returned. It was meant for a way for drivers to return an I/O that failed due to temporary conditions in the driver and that I/O be retried.
VMK_SCSI_HOST_SOFT_ERROR= 0x0b or 0xb
vmkernel: 0:02:59:13.873 cpu4:4302)NMP: nmp_CompleteCommand
ForPath: Command 0x2a (0x41000603c840) to NMP device "naa.500000e113a3f090" failed on physical path "vmhba0:C0:T0:L0" H:0xb D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned if the HBA driver returns a DID_REQUEUE command. Upon receiving this status, the I/O command is reissued immediately.
VMK_SCSI_HOST_RETRY = 0x0c or 0xc
vmkernel: 0:00:21:46.926 cpu3:4099)NMP: nmp_CompleteCommandFor
PhysicalPath: Command 0x28 (0x41000cea7d00) to NMP device "naa.6006016042961
700d8f545356140dc11" failed on physical path "vmhba2:C0:T0:L6" H:0xc D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned due to a transient error. When this status is returned, the I/O command is requeued and issued again.
VMK_SCSI_HOST_REQUEUE = 0x0d or 0xd
vmkernel: 0:20:34:39.755 cpu0:4103)NMP: nmp_CompleteCommandFor
PhysicalPath: Command 0x28 (0x41000fe5fa00) to NMP device "naa.60030d907361
7461305f76766f6c3300" failed on physical path "vmhba2:C0:T0:L63" H:0xd D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when the HBA driver tries to abort a command which then sets the IOSTAT_LOCAL_REJECT status on all commands in the iocb ring. This causes the original command to requeue.
 
For information on SCSI Sense Codes, see Interpreting SCSI sense codes (289902).


Workaround:
 

 


Additional Information

SCSI events that can trigger ESX server to fail a LUN over to another path
One host shows a Storage Initiator Error while all other hosts show SCSI Reservation Conflicts
Entender erros/problemas da parte do host SCSI no ESX 4.x e ESXi 5.0
ESX/ESXi 4.x、ESXi 5.x、および 6.x における SCSI ホスト側の NMP エラー/状態について
Entender condiciones/errores NMP del lado del host SCSI en ESX 4.x y ESXi 5.0
了解 ESX/ESXi 4.x、ESXi 5.x 和 6.x 中的 SCSI 主机端 NMP 错误/状况
Interpreting SCSI sense codes in VMware ESXi and ESX