Wednesday, September 02, 2015

Storage related problems with LSI 12Gb SAS HBA card

Our Dell field engineer experienced strange storage problems with SAS storage connected to ESXi hosts having LSI 12Gb SAS HBAs. Datastores were inaccessible after ESXi reboot, paths were temporarily unavailable, etc. In this particular case it was DELL Compellent storage with SAS front-end ports but the problem was not related to particular storage and similar issue can be experienced on other SAS storage systems like DELL PowerVault MD, etc.

He has found (thanks Google) Christopher Glemot's blog post describing other issues with LSI 12Gb SAS HBA. However the key point was that mpt3sas driver should be used and not msgpt3 driver which was on these particular ESXi hosts.

The solution is relatively easy:

  • Uninstall msgpt3 driver - esxcli software vib remove –n lsi-msgpt3
  • Download the latest mpt3sas driver (currently mpt3sas-10.00.00.00-6.0-2803883.zip)
  • Unpack and upload mpt3sas driver  to ESXi host
  • Install  mpt3sas driver on ESXi host - esxcli software vib install –d /path/mpt3sas-10.00.00.00-6.0-offline_bundle-2803883.zip
  • Restart ESXi host
Hope this helps.

5 comments:

Christophe Nix said...

Thats true for Dell ESXi 6.O preinstalled with my two Dell R430 servers as well.
I was able to detect the control volume of my NetApp E2724 and at some point even the created volumes but failover was not working and overall it was not reliable.
Strange behaviour, lost one day of checking my config and cabling until I stumbled upon this post.

Thank you very much for saving my day :)

Christophe Nix said...
This comment has been removed by a blog administrator.
Christophe Nix said...

This is still true for a Dell R430 with ESXi 6.0 preinstalled.
Lost one day checking my cabling and config before stumbling on this post.
Control volumles of my NetApp E2724 where visible and at some point even the volumes but not reliable and deconnecting/reconnecting made them disappear forever.

This was the solution, thank you for saving my day

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

I had this exact same problem with a server that had two of the Dell 12Gbps SAS HBA connected to an MD3460 array. Changing over to the MPT3SAS drivers was half of the problem. After switching over to the new driver though all of the paths on one of the controllers showed Dead. The fix for that was to create a manual SATP plugin entry for the MD3460 to use VMW_SATP_LSI and Round Robin. After doing that all the paths showed up on the correct card. This was all with ESXi 6.0U2 In case anyone else runs across this I've included a complete set of steps below...

Dell SAS 12Gbps HBA External cards with an MD3460 SAN
• *Download MPT3SAS v11 drivers from https://my.vmware.com/group/vmware/details?downloadGroup=DT-ESXI60-LSI-MPT3SAS-11000000-1OEM&productId=491
• Unzip and copy mpt3sas-11.00.00.00-6.0-offline_bundle-3035604.zip up to local store on the Vmware ESXi host.
• Enabled SSH on the ESXi host and open an SSH session.
• Run the following command on each ESXi host to uninstall the default LSI driver: esxcli software vib remove –n lsi-msgpt3
• Run the following command to install the new mpt3sas driver: esxcli software vib install –d /vmfs/volumes/datastore1/mpt3sas-11.00.00.00-6.0-offline_bundle-3035604.zip
• Run the following command to change the SATP plugin and PSP selection to VMW_SATP_LSI and Round Robin: esxcli storage nmp satp rule add -V DELL -M "MD34xx" -P VMW_PSP_RR -s VMW_SATP_LSI
• Reboot the ESXi host(s)
• Open the PowerVault Modular Disk Storage Manager. Click on the “Stroage & Copy Services” tab. Right click on one of your disks and go to Advanced -> Redistribute Virtual Disks. If this option isn’t available then all the virtual disks are already on their preferred paths (which is good).
• Connect to the ESXi host via the vSphere Client.
• Go to the Configuration tab and in Hardware select the Storage Adapters.
• Click on “Rescall All” at the top.
• Find the cards listed under “Avago (LSI) 3008”. Click on the first one and then click on “Paths”. You should see some targets lists as “Active (I/O)” and some listed as “Stand by”. When you click on the other adapter the targets that were in Stand by on the first card should be set to “Active (I/O)” on the second card.

*I don’t think that the driver has to be v11. I think that v8 or any other version of the mpt3sas driver would probably work as well, I just landed on v11 and being the most recent version is the one I’ll stick with. The real secret is removing the default LSI_MSGPT3 driver and using an mpt3sas driver with “VMW_SATP_LSI” and “Round Robin”.