Several months back, I started noticing an increase number of folks reporting problems powering on their vSphere Cluster Services (vCLS) VM when using the VMware Cloud Foundation (VCF) Holodeck Toolkit solution and the following workaround can be applied, which came directly from the Holodeck developers.
While a workaround exists including vCLS script located at C:\VLC\VLC-Holo-Site-1\vclsfix, it was very puzzling because this seems to only happen with the Nested ESXi VMs and the VCF Holodeck Toolkit and it was NOT observed when deploying a regular Nested ESXi environment, but I never took a closer look to see why that might be.
A few weeks back, I recieved an email from Mike Foley (former vSphere HA and vCLS PM), I came to learn the reason folks using the VCF Holodeck Toolkit was seeing this problem and it was specific to that solution due to how the guestOS was configured for the Nested ESXi VMs.
Instead of using the ESXi guestOS type, the VCF Holodeck Toolkit was deploying the Nested ESXi VM using the "Other (64-Bit) and this is problematic because there are only two guestOS types that have the MWAIT instruction enabled by default, one of which is the ESXi guestOS type and the other is for Apple macOS. This is why vCLS VMs (which are running "Nested") are having problems powering on due to required MWAIT instruction and hence some additional workarounds are required.
In a correctly configured Nested ESXi configuration (such as using my Nested ESXi Virtual Appliances), the guestOS type is specified correctly and hence you will not have any issues powering on the vCLS VMs when you deploy your Nested ESXi environment. The good news is that the developers of VCF Holodeck Toolkit is now aware of this issue and this will be fixed in a future update, so no additional workaround will be required.
If you wish to fix the issue with VCF Holodeck Toolkit, you can manually update the VLCGui.ps1 script and search for "otherGuest64" and replace it with the desired ESXi identifier (use vmkernel8Guest for VCF 5.x and later) listed below:
ESXi Version | GuestOS Identifier |
---|---|
ESXi 8.x | vmkernel8Guest |
ESXi 7.x | vmkernel7Guest |
ESXi 6.7 & 6.5 | vmkernel65Guest |
Thanks for the comment!