设备别名(也称为设备名称)是与 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 主机无法将别名分配给不存在的设备或不具有支持驱动程序的设备。
设备别名配置的持久性
ESXi 主机分配别名后,将保留别名配置。无论 ESXi 版本更新或硬件更改(例如,在插槽中添加或移除设备),ESXi 主机都会尝试保持每个设备的别名不变。
- 在有状态系统中,别名配置将保留在主机本地。
- 在无状态系统中,如果不使用主机配置文件管理无状态系统,则不会在主机本地保留别名配置。
- 在使用主机配置文件管理的有状态和无状态系统中,别名配置将保留在主机配置文件中。如果将主机配置文件应用于有状态主机,则主机配置文件将替代任何本地保留的别名配置。
设备别名配置中的更改
别名配置的持久性基于设备的总线地址。如果设备的总线地址发生改变,则保留的别名配置将变得不适用,并且分配给该设备的别名可能会更改。
- 与驱动程序升级之前呈现 I/O 适配器的方式相比,驱动程序升级可能以不同的方式枚举 I/O 适配器或呈现给系统。
- 堆栈升级可能导致对多模块驱动程序设置的某些部分进行更改,或对支持多模块驱动程序的 ESXi I/O 堆栈进行更改。
- BIOS 或设备固件升级可能导致端口或插槽信息不完整。
- 设备的插槽位置发生更改。
ESXi 集群中的设备别名配置
初始别名配置在相同系统的集群中是一样的。但是,即使在同构集群上,硬件或固件中的细微差异也可能会导致主机之间的别名配置差异。
驱动程序绑定期间处理顺序的不同也可能会导致别名配置差异。例如,网卡驱动程序为同一 PCI 设备的两个端口注册两个上行链路,上行链路 1 和上行链路 2,且其中一个端口不是系统可枚举的硬件。对上行链路的注册顺序进行计时更改可能会导致 ESXi 主机为上行链路分配别名的方式有所不同。一个 ESXi 主机可能会将基于硬件的别名分配给上行链路 1,而另一个 ESXi 主机可能会将基于硬件的别名分配给上行链路 2。
要在同构主机之间匹配别名配置,可以使用主机配置文件。设备别名配置主机配置文件可将别名配置中的设备映射到 ESXi 主机设备,从而将别名配置应用于 ESXi 主机。映射操作基于用作初始别名分配基础的硬件信息源。有关用于别名分配的信息源的详细信息,请参见知识库文章 KB 2091560。
设备别名配置主机配置文件还会标记错误,例如,当某设备在主机配置文件中存在但在主机上不存在时。
异构集群的主机之间没有相同的默认别名配置。由于设备之间存在差异,无法完全应用主机配置文件。