vSphere 6.5 Auto Deploy (EFI based) on (Lab) Nested ESXi – Part 2

After configuring the platform for the auto deploy as in the part 1 of this blog series, then we need to configure the Auto Deploy in the lab environment. As mentioned before, we have to setup the followings Auto Deploy items for provisioning our ESXi Hosts.

  1. Preparing ESXi Images for Auto Deploy
  2. Setting up Host Profile to be used
  3. Setting up Auto Deploy Rule
  4. Provisioning ESXi Hosts
  5. Remediating Host Profile with Host Specific Input

Get Started!

So in my lab, I would like to use Auto Deploy to scale out my VSAN cluster. Well, I think this is legitimate than VSAN Nodes are going to be the most standard hardware Models in your environment and likely when you buying the concept of HCI (Hyper converged infrastructure), you would like to make your environment scaling out as easy as possible? And I believe Auto Deploy is a correct solution to be used. Let See how I’ve performed the above items in my lab step by step:

Day 0 Configuration

So before I’m provisioning new ESXi hosts in my environment, I have built a two node VSAN based on ROBO deployment topology. The existing hosts are running ESXi which is installed with disc and on local hard disk. I’m targeting to use Auto Deploy for stageful configuration deployment and be very careful of the following statement!

Stateless auto deploy is not supported with vSAN

Follow is my ROBO VSAN setup with all the stuffs healthy:

Scaling out the Environment

In order to scale out the environment, you can setup the hosts one by one. I have another blog post HERE which talks about the scaling method of a VSAN cluster. But as said, I would like to deploy my new VSAN Nodes with Auto Deploy which can let me scaling out my VSAN environment easily and more consistently.

In order to achieve this, I have already set up the Nested ESXi VMs which are empty actually to be the target new VSAN Nodes. And I have configured the DHCP Server to serve DHCP function with DHCP option 66 and 67 for distributing the TFTP server IP information and iPXE boot firmware. You can refer to Part 1 of this blog series for what we have already done.

After that, we can start configuring the Auto Deploy thru the vSphere Web Client.

STEP1: Preparing ESXi Images for Auto Deploy

So in order to provision a machine, you need a proper image. Of course, in easy approach, you can download the offline bundle image (not the ISO) from VMware.com for the use of Auto Deploy. The images can be native one from VMware or the 3rd Party Vendor Supplied ones (HP, IBM, Dell… images) which have been embedded with more drivers or softwares from the Vendors.

But actually Auto Deploy allows for creating custom ESXi images since version 5.0, you can download the base image provided by VMware and Inject whatever Drivers and Software (in vib format) on top of the image to create a tailored ESXi image. Now, in vSphere 6.5 version, you can do this from the vSphere Web GUI instead of using PowerCLI way. Effectively, if you are having different physical machines with different vendor or model, you can prepare numbers of images corresponding to each deploy you want to have. You can even have more than one image for one machine model. We can design the scope of image with Auto Deploy rule creation which will be covered soon.

If you are instead testing the Auto Deploy on nested ESXi, the default GA image from VMware will work great. Yet, as a caution if your are using a Nested ESXi 6.5 with EFI on a ESXi 6.5 host, do remember to check off the default setting of “sercure boot” on your nested ESXi hosts… As said, this takes me a really while to fix and enable the Auto Deploy working finally in my environment.

STEP2: Setting up Host Profile to be used

So actually this step is not mandatory, I mean after preparing the ESXi images and DHCP Server, you can actually make your ESXi host booting with PXE (network boot) and streaming the ESXi binary from the Auto Deploy Server and finally obtaining the IP from the DHCP server. You can actually then start using and further configuring the ESXi host afterwards.

The beauty of Auto Deploy is that, it also allows you configuring the initial settings thru Host Profile during the boot up phase of ESXi. Of course, you would need further supply the supplementary information e.g. vMotion IP, for remediation. But anyway, this helps a lot in comparing with the installation method through scripting.

From Web Client, you can create a Host Profile by “Copy setting from Host”

And what you have to do is simple, given if you are going to deploy 100 hosts in your environment and you want those 100 hosts being configured in the same way, then you just have to setup one of them in the traditional way and fully configured it. When all the configuration is done, you just extract the Host Profile from the Host. Certainly, if of the same model of machine and you would like to have multiple configurations, you need to manual setup a few for Host Profile extraction. This will come helpful when you are building different clusters say, DMZ, internal and management cluster, but you want to have different configurations among the clusters for adapting to your environment.

While steps are rather simple as following:

STEP3: Setting up Auto Deploy Rule

So after we have prepared the ESXi images and configuration from Host Profile, what to be done next? It would be defining the scope of those, that’s mapping which Target machine should use which ESXi images and which Host Profile. Not until we have this kind of mapping, the Auto Deploy won’t be functioning. We call this Auto Deploy Rules, which let us creation the scope and governance of images and configuration mapping to a certain target hosts according to some specific criteria.

Much simpler than what you may think of, Auto Deploy provides a Wizard for your ease in managing the Rules Sets. The step is as trivial as above, your just need to:

  1. Define Criteria of Target Host to screen hosts
  2. Choose the Auto Deploy Image to be provisioned
  3. Choose the Host Profile to be configured

Again, trust me that you would love the new Auto Deploy UI in the vSphere Web Client. As in old days, you would have to perform all of the above through PowerCLI commands.

And here is my steps performed:

Go to the Auto Deploy page and Select the “Deploy hosts”, choose “New Deploy Rule” for creating new Auto Deploy Rules, as the first step of the Wizard you would have to select the Scope. While I use “All Hosts” in my test, but you can actually define the Scope base on Mac Address prefix, Vendor or IP… etc.

Then you need to choose the image for provisioning into your iPXE boot ESXi. As said, I will choose the Default VMware ESXi images provided by VMware

Then you can select the Host Profile we extracted in the previous step, which is the host configuration of a VSAN node in our existing environment.

Lastly, choose where you would like to add your host into. I would choose the VSAN ROBO cluster which I would like to scale out.

Confirm the setting and press Finish to complete the Rule Setup

STEP4: Provisioning ESXi Hosts

After creating the Auto Deploy Rules, you still need one last step to enable the Auto Deploy based provisioning. You have to select the rule(s) which you would like to “Activate”, after that, you can start you mechanics which you would like to provision with the ESXi. Of course, after provisioning the machine, I would recommend you “De-Activiate” the Auto Deploy Rules to avoid any accidents of unexpected provisioning on other hosts in the network.

So, let see what should be going on in an Auto Deploy provisioning:

Booting with PXE boot file from the TFTP server

ESXi binary being streamed from the Auto Deploy Server

Host Profile Applying the basic configurations

ESXi Booted up with Management IP obtained from the DHCP server

STEP5: Remediating Host Profile with Host Specific Input

You would see the host being added into the designated cluster after the provisioning and basic configuration should be in place according to the host profile selected. In order to have the full configuration in place, you need to remediate the Host profile by input more details like the vMotion IP, VSAN IP stuffs, remember that we are trying to scale out our vSAN with auto deploy and this is why VSAN IP is needed. If you are just scaling out a standard ESXi cluster, you can skip it for sure.

So following you can see my steps in performing the remediation

Go to the Host Profile and Remediate the Incompliant Configuration, you would need to input the Required fields. I do this by Filtering “Yes”.

Afterwards, I have to create a Disk Group on the New host, as I was using Manual Disk Claim in my VSAN Cluster

BOOM!!! You see, you environment has just got Scaled out. Nice right?

So after the remediation, you can check the result from the vSAN monitor and management page. And… yeah! You got it scaled out!


Auto Deploy indeed provides a very intuitive way for setting up ESXi hosts easily and consistently, this is very useful actually for large environment deployment and also fit for the web scaling infrastructure provided by solutions like hyper converged infrastructure (HCI). As of the vSphere’s new features and support, Auto Deploy finally becomes user friendly and production ready solution. Although there are still limitations like LACP and iSCSI software boot… etc., for many of the scenario, that should be a very great solution for simplifying the ESXi provisioning. I wish you enjoy the blog and wish it is helpful for you!


vSphere 6.5 Auto Deploy (EFI based) on (Lab) Nested ESXi – Part 1
Heads Up! Upgrade Your NSX to 6.2.5

Leave a Reply

Your email address will not be published / Required fields are marked *