Horizon Deployment on single node vSAN
So recently I have decided to do some updates to my home lab until I can afford the jump to some nice SuperMicro machines. With my recently role change I wanted to expand the lab to do more and one thing was a larger vSAN. This time I thought I would try a nested style environment and I just decided to try some NVMe 3rd party adapters along with a bulk of SSDs in my HP host. Luckily for me, I found that I lucked out and everything was seen after a bit of tinkering and yes I do know I can lose it all if I have certain failures but again its a lab 🙂
I had not played with Horizon in a while and I wanted to have this running so I could use Runecast against it along with a way of have a couple of VDIs to play with coding in for creating some user stories and experiences. Especially when I am testing all the Terraform I am doing to ensure I list any dependencies. Let alone helping a few people I know with some of the use cases for this great product.
I am not going to go over step by step on this article on how to set up Horizon but I will go over the error I got which was “Cannot complete file creation operation. There are currently 1 usable fault domains. The operation requires 2 more usable fault domains. Failed to create object. complete file creation operation. There are currently 1 usable fault domains. The operation requires 2 more usable fault domains. Failed to create object.”
Much like me you are probably thinking wait hang on I have set my vSAN policy to ignore the required failure tolerances and if feeling risky set it force provision.
Firstly you will not see this error until you first try to provision your first set of VMs as to be fair the wizards just want to find a useable vSAN as a target but the irony here is you need and want this to fail so you can perform the fix.
Once the failure has occurred you need to head to Menu and then Policies and Profiles. During the VM creation process it will have create a few new VM Storage policies with names similar to below
- OS_DISK_ {GUID}
- PERSISTENT_DISK_ {GUID}
- REPLICA_DISK_ {GUID}
- VM_HOME_ {GUID}
You will need to do the following in each of these to allow the deployment to succeeded. Open up the policy by double clicking it or selecting edit. Do not change the name but press next
Again from here leave the policy structure intact and press next
Now this should be familiar if you have set up labs on vSAN before, what you want to do here is change the failures to tolerate from 1 failure to No data redundancy, again if feeling brave head into advance policy rules and select Force provisioning
It should now look like something like below
Check that this now applies to your vSAN you are deploying your machines to, if so follow it through all the way to the end. Remembering you need to do this for each of the policies I have mentioned.
That’s it! Go back and try and re-provision your machines and this time it should work. Sometimes I have found it’s easier just to delete the job and start again but you may find that you can just use redeploy/update jobs to kick this off again. Go and enjoy your VMs and hope this helps someone play with the setup on limited hardware.