More than one of my customers has reported during the last 12 months that the SD cards that they use as boot devices for ESXi 6.0 have been breaking and have needed replacement and ESXi reinstallation.
This is of course very unfortunate. SD cards is a great solution for booting ESXi from, compared to expensive SSD disks or heat-and-electricity-generating old spinning hard disks. Remember, all we really need is a couple of 100 megabytes to read the ESXi binaries (VIBs) during boot, plus an additional copy of the penultimate version, so that we can revert back to it in case we bump into problems after an upgrade. Logging is not done to SD cards, so a separate scratch/locker folder needs to be created and set per ESXi host.
The good news is that the problem with these SD cards breaking has (hopefully) been solved in ESXi 6.0 U3. The root cause of this seems to have been excessive read commands being issued to the SD card to the ‘VMtools’ files (where VMware Tools is stored, for being able to install them from the ESXi host).
These files can now instead be stored in RAMdisk on boot, which eases the load on the SD card. This is configured by setting a new Advanced Setting named ‘UserVars.ToolsRamdisk’ to 1 in each ESXi host.
PowerCLI example: Get-Host -name esxi01* | Get-AdvancedSetting -Name “UserVars.ToolsRamdisk” | Set-AdvancedSetting -Value 1 -Confirm:$false
Esxcli example: esxcli system settings advanced set -o /UserVars/ToolsRamdisk -i 1
Or, you can just set it in the vSphere Web Client.