设备别名(也称为设备名称)是与 I/O 子系统中的 I/O 适配器关联的短名称。例如,网络上行链路具有别名,如 vmnic0、vmnic1 等。存储子系统和图形设备对象中的 SCSI 适配器对象也具有别名。

一个硬件设备可在 I/O 子系统中作为多个 I/O 适配器呈现。I/O 适配器的类型可以不同于底层物理设备。例如,FCoE 设备是使用网卡硬件的存储 I/O 适配器。软件 iSCSI 是在 IP 层使用网络堆栈的存储适配器。因此,在 ESXi 本机驱动程序模型中,别名仅正式引用 I/O 适配器,而不引用物理设备(如 PCI 网卡或 PCI HBA)。

设备别名分配

无状态 ESXi 部署模型是指 ESXi 主机未安装在硬盘上的模型,通常使用 PXE 引导。有状态 ESXi 部署模型是指 ESXi 主机安装在本地硬盘上的模型。在引导无状态 ESXi 或全新安装有状态 ESXi 的过程中,将执行设备别名分配。ESXi 主机按一种基于底层硬件枚举顺序的顺序将别名分配给 I/O 适配器。ESXi 主机先将别名分配给板载设备,然后再按照插槽顺序分配给附加卡。ESXi 主机无法将别名分配给不存在的设备或不具有支持驱动程序的设备。

使用主板中内置网卡的上行链路接收数字小于 PCI 附加卡的上行链路的 vmnicN 别名。网卡驱动程序可能会注册多个上行链路。如果其中一个上行链路未对应可枚举的硬件设备,则在系统中注册该上行链路后, ESXi 主机会将下一个可用的别名分配给该上行链路。

设备别名配置的持久性

ESXi 主机分配别名后,将保留别名配置。无论 ESXi 版本更新或硬件更改(例如,在插槽中添加或移除设备),ESXi 主机都会尝试保持每个设备的别名不变。

别名配置的持久性取决于部署模型。
  • 在有状态系统中,别名配置将保留在主机本地。
  • 在无状态系统中,如果不使用主机配置文件管理无状态系统,则不会在主机本地保留别名配置。
  • 在使用主机配置文件管理的有状态和无状态系统中,别名配置将保留在主机配置文件中。如果将主机配置文件应用于有状态主机,则主机配置文件将替代任何本地保留的别名配置。

设备别名配置中的更改

别名配置的持久性基于设备的总线地址。如果设备的总线地址发生改变,则保留的别名配置将变得不适用,并且分配给该设备的别名可能会更改。

在以下情况下,可能会更改设备别名配置:
  • 与驱动程序升级之前呈现 I/O 适配器的方式相比,驱动程序升级可能以不同的方式枚举 I/O 适配器或呈现给系统。
  • 堆栈升级可能导致对多模块驱动程序设置的某些部分进行更改,或对支持多模块驱动程序的 ESXi I/O 堆栈进行更改。
  • BIOS 或设备固件升级可能导致端口或插槽信息不完整。
  • 设备的插槽位置发生更改。
注: 如果从系统中移除设备,则将移除该设备的 I/O 适配器的别名配置。如果稍后将相同的设备重新添加到系统,则设备的 I/O 适配器可能不会收到其以前的别名。

ESXi 集群中的设备别名配置

初始别名配置在相同系统的集群中是一样的。但是,即使在同构集群上,硬件或固件中的细微差异也可能会导致主机之间的别名配置差异。

驱动程序绑定期间处理顺序的不同也可能会导致别名配置差异。例如,网卡驱动程序为同一 PCI 设备的两个端口注册两个上行链路,上行链路 1 和上行链路 2,且其中一个端口不是系统可枚举的硬件。对上行链路的注册顺序进行计时更改可能会导致 ESXi 主机为上行链路分配别名的方式有所不同。一个 ESXi 主机可能会将基于硬件的别名分配给上行链路 1,而另一个 ESXi 主机可能会将基于硬件的别名分配给上行链路 2。

要在同构主机之间匹配别名配置,可以使用主机配置文件。设备别名配置主机配置文件可将别名配置中的设备映射到 ESXi 主机设备,从而将别名配置应用于 ESXi 主机。映射操作基于用作初始别名分配基础的硬件信息源。有关用于别名分配的信息源的详细信息,请参见知识库文章 KB 2091560

设备别名配置主机配置文件还会标记错误,例如,当某设备在主机配置文件中存在但在主机上不存在时。

异构集群的主机之间没有相同的默认别名配置。由于设备之间存在差异,无法完全应用主机配置文件。