Native VCSA bootstrap installer in vSAN 6.6
Almost four years ago, I documented a really cool vSAN capability here and here, which demonstrates how to bootstrap a vSAN datastore onto a single ESXi host. This powerful capability, which was by design, enables customers to easily standup new infrastructure including the vCenter Server Appliance (VCSA) in a pure greenfield environment where you only had bare-metal hardware to start with and no existing vCenter Server.
As you can probably guess, I am a huge advocate for this capability and I think it enables some really interesting use cases for being able to quickly and easily stand up a complete vSphere environment without having to rely on an external storage array or playing games with Storage vMotion’ing the VCSA between local VMFS and the vSAN datastore for initial provisioning.
Over time, this vSAN capability has gone mainstream not only from a customer standpoint but also internal to VMware. In fact, the use of this feature has made its way into several VMware implementations including but not limited to VMware Validated Designs (VVD), VxRail, VMware Cloud Foundation (VCF) and even in the upcoming VMware Cloud on AWS. This really goes to show how useful and critical of a feature this has become for standing up brand new VMware infrastructure which runs on top of vSAN. Huge thanks goes out to the original vSAN Architects who had envisioned such use cases and designed vSAN to include this functionality natively within the product and not have to rely or depend on vCenter Server.
So what has changed in the with the new release of vSAN 6.6 (vSphere 6.5ep2)? For starters, this functionality continues to exists, but the Engineers and specifically I would like to call out Christian Dickmann who was the lead architect for what I am about to talk about reached out to me and asked, could we make this even better? For those of you who have walked through the vSAN bootstrap process, although pretty straight forward it still does require quite a few steps to accomplish. Even with Automation, the overall user experience could still be improved and today, this bootstrap process is only available using the CLI or calling into several different remote APIs.
In vSAN 6.6, the vSAN bootstrap process is now natively integrated into the VCSA UI Installer which is referred to as the vSAN Easy Install feature. This means, as part of selecting an ESXi host to deploy the VCSA (for a pure greenfield deployment), you will now also be able to configure the vSAN datastore directly on the ESXi host with just a few clicks. However, the Engineers are not just stopping there, they have also thought about how else could they simplify the overall workflow for customers when standing up a new greenfield environment beyond just the initial vSAN Datastore. In addition, customers you will also have the option of specifying the vSphere Datacenter and Cluster configuration so that when the new vCenter Server is up and running, it will automatically configure it and add the ESXi host that it had just been provisioned into the new vSphere Cluster that a customer had just defined! How cool is that!?
Here is a screenshot of the new option that is included in the VCSA Installer if you wish to setup vSAN datastore when deploying to an ESXi host:
Once selected, you can specify the name of the vSphere Datacenter and Cluster which will automatically be provision onto the newly created vCenter Server.
The last thing you need to do is verify the disk claiming for vSAN. You can either accept or modify the selection as this will be unique to each environment. You also have the option of enabling vSAN dedupe/compression feature and this will automatically be configured for you in the vSAN Cluster once vCenter Server is up and running.
The rest of the VCSA UI Installer is exactly the same and once the deployment starts, you will notice the first thing it performs when connecting to the ESXi host is to bootstrap the vSAN datastore before starting the VCSA deployment. You will be able to see these new tasks before it starts the OVA deploy as shown in the screenshot below.
Providing this functionality natively within the VCSA UI Installer is going to make this feature even more accessible, especially for customers who may not feel comfortable using the CLI or APIs. But wait, there is more!
As much as I love a good UI, nothing beats some good ol’ Automation. Just like like any other vSAN feature, you will be able to automate this using public APIs and this functionality will be available as part of the update vSAN 6.6 Management APIs which will be consumable through various SDKs such as C#, Java, Perl, Python, Ruby and even PowerCLI with the upcoming 6.5R2 release. I will quickly introduce the new VCSA bootstrap APIs here but stay tuned for a future blog post which will demonstrate on how to exercise these new vSAN Management APIs.
A new Managed Object called VsanVcsaDeployerSystem will now be available both when connecting to a standalone ESXi host as well as a vCenter Server. It contains the following three methods:
- VsanPrepareVsanForVcsa() – Used to bootstrap the vSAN datastore on the ESXi host
- VsanPostConfigForVcsa() – Used to setup the vCenter Server once it is deployed
- VsanVcsaGetBootstrapProgress() – Used to retrieve progress from the two methods above