vSphere Auto Deploy is a great feature that uses PXE boot infrastructure together with vSphere Host Profiles to provision and customize ESXi hosts. Depending on the ESXi host configuration, enforced by its attached Host Profile, state information is stored on the ESXi host itself or by the Auto Deploy server. When the Auto Deploy server manages the state information for ESXi hosts, it is referred to as a stateless installation.
With vSphere 7, the new vSphere Lifecycle Manager (vLCM) is introduced. vLCM is a powerful new approach to simplify consistency for ESXi host lifecycle management. Not only for the hypervisor itself, but also for the full stack of drivers and firmware for the server hardware powering your virtual infrastructure. This blog post details vLCM support for vSphere Auto Deploy.
Stateless vs Stateful
First, let’s zoom in on typical Auto Deploy configurations. To start using Auto Deploy, which is part of the vSphere Enterprise+ license, there’s some infrastructural components used. Think about a TFTP host for the boat-loader used by Auto Deploy, DNS and DHCP (configured with option 66 and 67), and a syslog target for logs and dumps next to your vSphere infrastructure that contains the Auto Deploy feature.
Customers have multiple options in Auto Deploy. There’s several configuration options how ESXi is run on the physical host. Options are:
- Stateful Install: When a host is booted for the first time, the host profile configuration states Auto Deploy is to install ESXi on local host storage. All consecutive host boots, only the local storage is used until the image profile configuration is changed.
- Stateless: Auto Deploy is used to install ESXi in memory on the target host. The state information of the ESXi host is managed by Auto Deploy. No local storage is required.
- Stateless Caching: Similar to Stateless installations. However, the ESXi image and configuration is cached on local storage. If communication with the Auto Deploy server is disrupted, the host is able to boot using the cached data.
Using deploy rules that incorporates image profiles and host profiles determines how the hosts are running ESXi. The image profile provides the ESXi bits, the ESXi host configuration is applied using Host Profiles. The configuration of the Host Profile determines to use stateless caching or stateful installations, while stateless is the default.
Why does vLCM require stateful hosts?
With new features and capabilities, like vSphere Lifecycle Manager, vSAN, and NSX, the way VMware approaches ESXi host installations have changed. More and more features and capabilities rely on host local storage for additional kernel modules but also for state information like PCIe mappings, SSL certificates, etcetera. The way local storage is used is even changed in vSphere 7 to provide a flexible and futureproof platform. That is the reason that it’s highly recommended for ESXi hosts to have local storage. vLCM is a new feature that doesn’t support stateless installations anymore.
When ESXi hosts are upgraded to or installed with vSphere 7, they are still using vSphere Update Manager. vLCM however, is the path forwards using a desired state model. When customers enable vLCM (Manage with a single image) the following screen provides information about the prerequisites.
One of the prerequisites being that hosts may not be stateless, as they can be when using Auto Deploy. vLCM does support Auto Deploy, but for stateful installations only.
When configuring the Auto-Deploy “Deploy Rule”, select a vLCM managed cluster to be the “Host Location” to use Auto Deploy with vCLM. By doing so, there is no need to provide an Image Profile because vLCM will automatically create it from the selected cluster.
How to migrate from stateless to stateful?
What needs to be done to change a current Auto Deploy environment from stateless to stateful? This is as easy as re-configuring the Host Profile used in the deploy rules. Moving to a stateful installation does require host local storage, so verify if your host is equipped with local storage. Be sure to check the blog vSphere 7 – ESXi System Storage Changes to get a better understanding of what is required and recommended for ESXi host local storage in vSphere 7.
Select the Host Profile as used in the Auto Deploy Deploy Rule. This is where you need to change the System Image Cache Configuration to ‘Enable stateful installs on the host’. The process of changing the Host Profile configuration is shown here:
Now, when ESXi hosts reboot, the ESXi bits are installed on the host local storage. The installation is persistent, fully supported by vLCM and futureproof!
Other Resources to Learn
- APIs, Code Capture, and Developer Center
- Storage vMotion Improvements
- A Closer Look at the VM DRS Score
- vCenter Server 7 Migration & Upgrades