During troubleshooting VMware vSphere and storage related issues it is quite useful to understand SCSI command responses and sense codes.
Usually you can see in log something like "failed H:0x8 D:0x0 P:0x0 Possible sense data: 0xA 0xB 0xC"
H: means host codes
D: means device codes
P: means plugin codes
A: is Sense Key
B: is Additional Sense Code
C: is Additional Sense Code Qualifier
Some host codes:
0x2 Bus state busy
Some device codes:
00h GOOD
02h CHECK CONDITION
04h CONDITION MET
08h BUSY
18h RESERVATION CONFLICT
28h TASK SET FULL
30h ACA ACTIVE
40h TASK ABORTED
Some plugin codes:
00h No error.
01h An unspecified error occurred. Note: The I/O cmd should be tried.
02h The device is a deactivated snapshot. Note: The I/O cmd failed because the device is a deactivated snapshot and so the LUN is read-only.
03h SCSI-2 reservation was lost.
04h The plug-in wants to requeue the I/O back. Note: The I/O will be retried.
05h The test and set data in the ATS request returned false for equality.
06h Allocating more thin provision space. Device server is in the process of allocating more space in the backing pool for a thin provisioned LUN.
07h Thin provisioning soft-limit exceeded.
08h Backing pool for thin provisioned LUN is out of space.
Some SCSI Sense Keys:
SCSI Sense Keys appear in the Sense Data available when a command returns with a CHECK CONDITION status. The sense key contains all the information necessary to understand why the command has failed.
Code Name
0h NO SENSE
1h RECOVERED ERROR
2h NOT READY
3h MEDIUM ERROR
4h HARDWARE ERROR
5h ILLEGAL REQUEST
6h UNIT ATTENTION
7h DATA PROTECT
8h BLANK CHECK
9h VENDOR SPECIFIC
Ah COPY ABORTED
Bh ABORTED COMMAND
Dh VOLUME OVERFLOW
Eh MISCOMPARE
There is VMware KB with further details here.
It is worth to read following documents
http://www.tldp.org/LDP/khg/HyperNews/get/devices/scsi.html (this is quite old document for programmers willing to write SCSI driver)
http://en.wikipedia.org/wiki/SCSI
http://en.wikipedia.org/wiki/SCSI_contingent_allegiance_condition
http://en.wikipedia.org/wiki/SCSI_Request_Sense_Command
What is SCSI reservation
http://mrwhatis.com/scsi-reservation.html
SCSI-3 Persistent Group Reservation
http://scsi3pr.blogspot.cz/
Usually you can see in log something like "failed H:0x8 D:0x0 P:0x0 Possible sense data: 0xA 0xB 0xC"
H: means host codes
D: means device codes
P: means plugin codes
A: is Sense Key
B: is Additional Sense Code
C: is Additional Sense Code Qualifier
Some host codes:
0x2 Bus state busy
0x3 Timeout for other reason
0x5 Told to abort for some other reason
0x8 Bus resetSome device codes:
00h GOOD
02h CHECK CONDITION
04h CONDITION MET
08h BUSY
18h RESERVATION CONFLICT
28h TASK SET FULL
30h ACA ACTIVE
40h TASK ABORTED
Some plugin codes:
00h No error.
01h An unspecified error occurred. Note: The I/O cmd should be tried.
02h The device is a deactivated snapshot. Note: The I/O cmd failed because the device is a deactivated snapshot and so the LUN is read-only.
03h SCSI-2 reservation was lost.
04h The plug-in wants to requeue the I/O back. Note: The I/O will be retried.
05h The test and set data in the ATS request returned false for equality.
06h Allocating more thin provision space. Device server is in the process of allocating more space in the backing pool for a thin provisioned LUN.
07h Thin provisioning soft-limit exceeded.
08h Backing pool for thin provisioned LUN is out of space.
Some SCSI Sense Keys:
SCSI Sense Keys appear in the Sense Data available when a command returns with a CHECK CONDITION status. The sense key contains all the information necessary to understand why the command has failed.
Code Name
0h NO SENSE
1h RECOVERED ERROR
2h NOT READY
3h MEDIUM ERROR
4h HARDWARE ERROR
5h ILLEGAL REQUEST
6h UNIT ATTENTION
7h DATA PROTECT
8h BLANK CHECK
9h VENDOR SPECIFIC
Ah COPY ABORTED
Bh ABORTED COMMAND
Dh VOLUME OVERFLOW
Eh MISCOMPARE
There is VMware KB with further details here.
It is worth to read following documents
http://www.tldp.org/LDP/khg/HyperNews/get/devices/scsi.html (this is quite old document for programmers willing to write SCSI driver)
http://en.wikipedia.org/wiki/SCSI
http://en.wikipedia.org/wiki/SCSI_contingent_allegiance_condition
http://en.wikipedia.org/wiki/SCSI_Request_Sense_Command
What is SCSI reservation
http://mrwhatis.com/scsi-reservation.html
SCSI-3 Persistent Group Reservation
http://scsi3pr.blogspot.cz/
4 comments:
hi want to understand scsi command specially response for read_capacity_16.
could you help me in it ? anything will be helpful.
hi want to understand scsi command specially response for read_capacity_16.
could you help me in it ? anything will be helpful.
Hi Tushar,
I would start here
https://www.seagate.com/staticfiles/support/disc/manuals/Interface%20manuals/100293068c.pdf
READ CAPACITY command is on page 142.
Post a Comment