VMware ESXi SCSI Sense Code Decoder

SCSI errors or warnings in ESXi are displayed with 6 status codes. This page converts these sense codes from ESXi Hosts to human readable status information. In the vmkernel.log system log file from an ESXi 5.x or 6.0 hosts, you see entries similar to the following. Enter the colored numbers to the form and press Submit:

ScsiDeviceIO: [...] Cmd 0x1a [...] to dev "naa.x" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x24 0x0.

H:0x   D:0x   P:0x    Sense data: 0x   0x   0x
(Optional: Cmd 0x )

Host Status[0x0]OKThis status is returned when there is no error on the host side. This is when you will see if there is a status for a Device or Plugin. It is also when you will see Valid sense data instead of Possible sense Data.
Device Status[0x2]CHECK_CONDITIONThis status is returned when a command fails for a specific reason. When a CHECK CONDITION is received, the ESX storage stack will send out a SCSI command 0x3 (REQUEST SENSE) in order to get the SCSI sense data (Sense Key, Additional Sense Code, ASC Qualifier, and other bits). The sense data is listed after Valid sense data in the order of Sense Key, Additional Sense Code, and ASC Qualifier.
Plugin Status[0x0]GOODNo error. (ESXi 5.x / 6.x only)
OP Code0x93WRITE SAME(16)

Leave a comment ?


  1. New Tool: Decoder for ESXi SCSI Sense Codes | Virten.net - pingback on May 10, 2015 at 11:22 pm
  2. Great Tool. Thank you very much. Very useful

  3. This is very useful tool, thank you for sharing that.

  4. This is a very useful tool. Thanks for developing and sharing this!

  5. This is great!

  6. Thanks for sharing. Great Tool.

  7. Excellent Tool, if we can get some information about how communication happens from ESXi host to Storage from logs that would be great, what command ESXi sends to Storage first and then what commands will be running on ESXi host when I/O is happening would be great.

    • Do you have Logs that you want to understand? If yes, feel free to provide.
      You do not see each SCSI command in the log. This would be way to much. There are physical appliances in the market that you can put between your server and the storage array to capture all traffic. But these appliances are very rare and require very deep protocol knowledge.

      From the ESXi log you usually only see datastore heartbeat and failed commands.

  8. Excellent tool and saves lot of time

  9. This has been so helpful over the last few months, I needed to write a comment to applaud you! THANK YOU VERY MUCH

  10. Really useful!

  11. Very useful tool - THANKS!

  12. Vivek Chaturvedi

    Great work.. It really helps. Thanks a TON..!!

  13. This is a greate tool, thank you for sharing.

  14. Thanks for sharing this great tool!

  15. Great tool indeed!

  16. Love it, and I'm using it every time I troubleshoot storage issues!

  17. Thanks for this awesome decoder, may my job so much easier!!

  18. Its an great tool and thank you very much for sharing this

  19. Do you have a file with all the sense codes you can share?

  20. Thank you! Wonderful tool!

  21. Excellent Tool. Saves such a lot of time. Thanks.

  22. Its great tool...thanks for sharing!!

  23. Thanks! Saves a ton of time searching :)
    Great tool.

  24. This is a very cool tool for finding the exact errors.
    Thanks alot.

  25. awsome tool
    Thanks heaps

  26. Love this tool! I use the heck out of it, If you ever get the chance to add a 'clear all fields' button that would be great, it would allow batch work to be done quicker, Thanks for the great tool!

  27. you should sell standalone version and I would buy it

  28. Thank you, awesome tool!

  29. Excellent tool, Thanks!!

  30. Great and excelent tool, many thanks!!!

  31. Had this bookmarked long time ago. Finally got to use it this weekend to resolve an issue. Thanks a lot !

  32. This is awesome, thank you so much!

  33. Thank you for the great tool.
    It saves a lot of time.

  34. Just a quick question, I have read in https://communities.vmware.com/thread/586023 that this messages/logs can be ignored but how would we know when the messages needs attention already?

    • I ignore all sense code messages by default but watch them when I know that there is an issue. It's usually specific to a single platform, so not generally speaking. When you have storage issues, the sense code might help you when looking for the root cause. When you have a storage issue (for example a disconnected datastore) you will be noticed anyway.

  35. A great tool. Thank you.

  36. Great and Excellent tool it is. Many thanks.

  37. fantastic, thank you very ,uch.

  38. Thanks for the tool!

    SCSI command 0x0 is "Test unit ready"

  39. I thank you!!! Awesome tool

  40. We have Loginsight and some hosts had lots of SCSI sense data codes. Now at least we can have an idea on whats going on

  41. Thanks GOD, you letting me find this page.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackbacks and Pingbacks: