无状态是一种执行模式,适用于不具有以前本应保存配置或状态的本地存储的 ESXi 主机。配置被抽象化为主机配置文件,以作为模板应用于某类别计算机。无状态允许轻松替换、移除和添加故障硬件,从而简化扩展硬件部署。

每个无状态 ESXi 引导都像是第一次引导。ESXi 主机借助内置标准交换机实现与 vCenter Server 的网络连接,从而进行引导。如果主机配置文件指定 Distributed Switch 的成员资格,那么 vCenter Server 会将 ESXi 主机添加到 VMware Distributed Switch。

当计划无状态 ESXi 主机的网络设置时,您应该尽可能地保持配置的通用性,并避免特定于主机的项目。当部署新主机时,目前设计未涉及重新配置物理交换机。任何此类要求都需要特殊处理。

要设置无状态部署,必须采用标准方式安装一台 ESXi 主机。然后,查找并记录以下网络相关信息,以保存到主机配置文件中:
  • vSphere 标准交换机实例和设置(端口组、上行链路、MTU,等等)
  • Distributed Switch 实例
  • 针对上行链路和上行链路端口或端口组的选择规则
  • vNIC 信息:
    • 地址信息(IPv4 或 IPv6、静态或 DHCP、网关)
    • 分配给物理网络适配器的端口组和分布式端口组 (vmknic)
    • 如果有 Distributed Switch,请记录 VLAN、绑定到 vmknic 的物理网卡和 Etherchannel(如果已配置)
记录的信息将用作主机配置文件的模板。主机配置文件虚拟交换机信息一经提取和放置在主机配置文件中后,您即有机会更改任意信息。以下部分提供了针对标准交换机和分布式交换机的修改:上行链路选择策略(基于 vmnic 名称或设备编号)以及自动发现(基于 VLAN ID)。信息(可能已修改)由无状态引导基础架构存储,并在无状态 ESXi 主机下次引导时进行应用。在网络初始化期间,通用网络插件将解释记录的主机配置文件设置并执行以下操作:
  • 加载合适的物理网卡驱动程序。
  • 随端口组一起创建所有标准交换机实例。它基于策略选择上行链路。如果策略是基于 VLAN ID,则将启动一个探测进程以收集相关信息。
  • 对于连接到标准交换机的 VMkernel 网络适配器,它将创建 VMkernel 网络适配器并将其连接到端口组。
  • 对于每个连接到 Distributed Switch 的 VMkernel 网络适配器,它将创建具有绑定到 VMkernel 网络适配器的上行链路的临时标准交换机(根据需要)。它将基于记录的信息创建具有 VLAN 和绑定策略的临时端口组。具体来说,如果在 Distributed Switch 中使用了以太通道,则将使用 IP 哈希。
  • 配置所有 VMkernel 网络适配器设置(分配地址、网关、MTU,等等)。
基本连接将正常工作,并且网络设置即已完成(如果不存在 Distributed Switch)。

如果存在 Distributed Switch,那么系统将处于维护模式下,直至 Distributed Switch 修复完成。此时不会启动任何虚拟机。因为 Distributed Switch 需要 vCenter Server,所以引导过程将继续,直至建立 vCenter Server 连接性,并且 vCenter Server 会发现主机应该是 Distributed Switch 的一部分。它将发出 Distributed Switch 主机加入,在主机上创建 Distributed Switch 代理标准交换机,选择相应的上行链路,然后将 vmknic 从标准交换机迁移到 Distributed Switch。此操作完成后,它将删除临时标准交换机和端口组。

在修复过程结束时,ESXi 主机将退出维护模式,然后 HA 或 DRS 可以在主机上启动虚拟机。

如果缺少主机配置文件,则将通过“默认网络连接”逻辑创建临时标准交换机,以创建其上行链路与 PXE 引导 vNIC 相对应的管理网络交换机(不具有 VLAN 标记)。将在管理网络端口组上创建 vmknic,其 MAC 地址与 PXE 引导 vNIC 相同。该逻辑以前用于 PXE 引导。如果有主机配置文件,但是网络连接主机配置文件处于停用状态或者具有致命的不完整性,则 vCenter Server 将回退到默认网络连接,以便可以远程管理 ESXi 主机。这将触发合规性故障,因此 vCenter Server 之后会启动恢复操作。