Hacking vSAN HCL DB to "support" an unsupported card (worked, almost...) - LSI9300-8i in vSAN 7.x
Disclaimer: I'm just messing around in my lab. It's in a hollowed out volcano and evil things happen here so don't take it too seriously 😉
I have a 4 node vSAN 7 U1 cluster with LSI SAS9300-8i cards in it. It was supported until ESXi 6.7 U3 but it's not supported anymore in 7.x
So I thought "let's change that" (as the card works perfectly in vSAN 7, Broadcom/Avago are just being lazy)
I downloaded the current vSAN HCL DB file (called "all.json") and edited it. I changed the actual SAS9300-8i card by changing the name to some bogus name like "SAS9301-8i" and changed the "did" and "ssid" into something bogus.
I then went to the LSI SAS9305-16i (which is supported in vSAN 7U1) and changed it's "did" and "ssid" entries to that of the SAS9300-8i and changed the name to 9300-8i.
I also changed the Firmware to v16 as that is the version that works in 7.x. The driver for this card is the same as for the SAS9305-16i so I did not have to modify anything there.
At all times, the JSON structure must stay intact otherwise importing the DB file will fail obviously.
Then the moment of truth: uploading the hacked DB "from file" instead of fetching it from the web. I then re-ran the SkyLine health-check and EUREKA !!! suddenly the card appears as fully supported and all is good with the world. Whoohoooo!
I then noticed that the firmware version of the cards is not read at all.
Under "Controller Firmware is VMware certified", the firmware does appear.
To my understanding, when a card is supported and when having installed the correct tool ("sas3flash" in "/opt/lsi/bin" in this case), the healthcheck should use that tool to enumerate the firmware version (I can run sas3flash manually and it sees the card just fine).
Am I missing something here?
(again, this is just for **bleep**s&giggles)
Side-note: The LSI SAS9300-8i needed FW v15 in vSAN 6.7 Ux to work correctly (it was the only supported FW version). In vSAN v7, this FW version causes horrible write-performance (around 30MB/s max.). I think because the ESXi Kernel in v7 together with v15 cannot enable the write-cache on the SSD's. I upgraded the cards to FW v16 and performance is back as it should be. I did not test v17 of this card's firmware.
To summarize: when using this card in v7 you MUST upgrade the firmware to v16 for the card to work correctly (and it has been perfectly stable and super fast for 3 weeks now. No errors of any kind. Works perfectly.