After moving to a new ESXi host I started seeing a number of AHCI sense errors in the ESXi system log – turns out the
VMWare-provided AHCI driver (vmw_ahci
) either doesn’t play nicely with the AHCI controller in this machine (TYAN S7012 with an Intel ICH10 6 port SATA/AHCI controller) or is just broken in general. I
discovered that you can disable the built-in VMWare AHCI kernel module in favor of
the native sata-ahci
and there are two benefits to this in my case: errors go away, and throughput goes way up.
To disable the vmw_ahci
kernel module issue the following command:
esxcli system module set --module="vmw_ahci" --enabled=false
Here are the relevant errors that I saw in the system log
2017-06-21T17:02:11.687Z cpu1:66241)NMP: nmp_ThrottleLogForDevice:3546: last error status from device t10.ATA_____KINGSTON_SV300S37A120G__________________50026B766B01DC92____ repeated 10 times
2017-06-21T17:02:11.688Z cpu1:66241)WARNING: NMP: nmp_DeviceRequestFastDeviceProbe:237: NMP device "t10.ATA_____KINGSTON_SV300S37A120G__________________50026B766B01DC92____" state in doubt; requested fast path state update...
2017-06-21T17:02:11.842Z cpu1:65578)NMP: nmp_ThrottleLogForDevice:3546: last error status from device t10.ATA_____KINGSTON_SV300S37A120G__________________50026B766B01DC92____ repeated 20 times
2017-06-21T17:02:12.153Z cpu1:65578)NMP: nmp_ThrottleLogForDevice:3546: last error status from device t10.ATA_____KINGSTON_SV300S37A120G__________________50026B766B01DC92____ repeated 40 times
2017-06-21T17:02:12.731Z cpu3:65580)NMP: nmp_ThrottleLogForDevice:3546: last error status from device t10.ATA_____KINGSTON_SV300S37A120G__________________50026B766B01DC92____ repeated 80 times
2017-06-21T17:02:13.345Z cpu3:65580)ScsiDeviceIO: 2927: Cmd(0x439500e5bb00) 0x2a, CmdSN 0x712 from world 65567 to dev "t10.ATA_____KINGSTON_SV300S37A120G__________________50026B766B01DC92____" failed H:0x2 D:0x0 P:0x0 Invalid sense data: 0x0 0x0 0x0.
2017-06-21T17:02:13.417Z cpu3:65580)ScsiDeviceIO: 2927: Cmd(0x439500e5da80) 0x2a, CmdSN 0x713 from world 65567 to dev "t10.ATA_____KINGSTON_SV300S37A120G__________________50026B766B01DC92____" failed H:0x2 D:0x0 P:0x0 Invalid sense data: 0x0 0x0 0x0.