Stateless is a mode of execution for ESXi hosts with no local storage that formerly would save configuration or state. Configurations are abstracted into a host profile, which is a template that applies to a class of machines. Stateless allows easy replacement, removal, and addition of failed hardware, and improves the ease of scaling a hardware deployment.
Every stateless ESXi boot is like a first boot. The ESXi host boots with networking connectivity to vCenter Server through the built‐in standard switch. If the host profile specifies distributed switch membership, vCenter Server joins the ESXi host to VMware distributed switches or a third party switch solution.
When planning the network setup for stateless ESXi hosts, you should keep the configuration as generic as possible and avoid host‐specific items. Currently the design has no hooks to reconfigure physical switches when deploying a new host. Any such requirement would need special handling.
To set up stateless deployment, one ESXi host must be installed in the standard fashion. Then find and record the following network-related information to save in the host profile:
vSphere standard switch instances and settings (port groups, uplinks, MTU, and so forth)
Distributed switch instances (VMware and third party)
Selection rules for uplinks and uplink port or port groups
Address information (IPv4 or IPv6, static or DHCP, gateway)
Port groups and distributed port groups assigned to the physical network adapter (vmknic)
If there are distributed switches, record VLAN, physical NICs bound to the vmknic, and if
The recorded information is used as a template for the host profile. Once the host profile virtual switch information has been extracted and placed in the host profile, you have the opportunity to change any of the information. Modifications are offered for both standard and distributed switches in these sections: uplink selection policy, based on either vmnic name or device number, and auto discovery based on VLAN ID. The (possibly modified) information is stored by the stateless boot infrastructure and applied to a stateless ESXi host on its next boot. During network initialization, a generic network plug‐in interprets the recorded host profile setting and does the following:
Loads appropriate physical NIC drivers.
Creates all standard switch instances, along with port groups. It selects uplinks based on policy. If the policy is based on the VLAN ID, there is a probing process to gather relevant information.
For VMkernel network adapters connected to the standard switch, it creates VMkernel network adapters and connects them to port groups.
For each VMkernel network adapter connected to a distributed switch, it creates a temporary standard switch (as needed) with uplinks bound to the VMkernel network adapter. It creates a temporary port group with VLAN and teaming policies based on recorded information. Specifically, IP‐hash is used if Etherchannel was used in the distributed switch.
Configures all VMkernel network adapter settings (assigns address, gateway, MTU, and so forth).
Basic connectivity is functioning, and the networking setup is complete if there is no distributed switch present.
If there is a distributed switch present, the system stays in maintenance mode until distributed switch remediation is complete. No virtual machines are started at this time. Because distributed switches requires vCenter Server, the boot process continues until vCenter Server connectivity is established, and vCenter Server notices that the host should be part of a distributed switch. It issues a distributed switch host join, creating a distributed switch proxy standard switch on the host, selects appropriate uplinks, and migrates the vmknic from the standard switch to the distributed switch. When this operation is complete, it deletes the temporary standard switch and port groups.
At the end of the remediation process, the ESXi host is taken out of maintenance mode, and HA or DRS can start virtual machines on the host.
In the absence of a host profile, a temporary standard switch is created with “default networking” logic, which creates a management network switch (with no VLAN tag) whose uplink corresponds to the PXE booting vNIC. A vmknic is created on the management network port group with the same MAC address as the PXE booting vNIC. This logic was previously used for PXE booting. If there is a host profile, but the networking host profile is disabled or fatally incomplete, vCenter Server falls back to default networking so that the ESXi host can be managed remotely. This triggers a compliance failure, so vCenter Server then initiates recovery actions.