I need to install 150+ vSAN hosts and therefore set up PXE boot with a kickstart script. We have hardware from two vendors. On the Huawei hosts I see only the disk where the ESXi installation should go, so the ks parameter install --firstdisk works. This is because the second controller with the vSAN disks is not yet configured...
On the Lenovo hosts however, by default I see also the vSAN cache and capacity disks, and the RAID controller with the disk for ESXi is listed as the last one... so I can't use "firstdisk". (The same applies to the Huawei hosts once the controller has been set to JBOD mode for vSAN)
According to the vSphere product documentation I shall be able to address the disks with their device path: --disk=/vmfs/devices/disks/mpx.vmhba1:C0:T0:L0
But this does not work (at least not with ESXi 7.0.2), only the device names (naa.1234567890) are available it seems. The kickstart script stops with the error "... install --disk= specified, but drive "/vmfs/devices/disks/mpx.vmhba3:C2:T0:L0" was not found on the system. The available disk(s) are: naa.1234567890" etc.
Even on an installed host, there are no mpx or vmhba devices under /vmfs/devices/disks, only those random naa numbers. How the hell can I make a ks script that finds the correct disk to install?! --seventhdisk would be what I need in this case...
I found a solution. You can provide a list with multiple possible device names or model name. During installation the installer tries every entry until it has a match. But you need to know how the name is displayed in esxi. This is different from vendor to vendor, I think Therefore you can install one host manually and then run the following command: esxcli storage core device list | grep Model
In our kickstart file, I have created a list for our two vendor's dell and fujitsu. Sometimes we have a raid controller with two devices in raid1, sometimes we have dual micro sd's or dell boss cards.
install --firstdisk=PRAID\ CP400i,Dual\ microSD0123,Internal\ Dual\ SD,DELLBOSS\ VD,Dual\ microSD --ignoressd --overwritevmfs --novmfsondisk