ESXi 环境中,每个存储设备由多个名称进行标识。

设备标识符

ESXi主机使用不同的算法和约定为每个存储设备生成标识符,具体取决于存储类型。

存储提供的标识符
ESXi 主机查询目标存储设备的设备名称。主机从返回的元数据中提取或生成设备的唯一标识符。该标识符基于特定存储标准,在所有主机之间具有唯一和持久性,且采用以下格式之一:
  • naa.xxx
  • eui.xxx
  • t10.xxx
基于路径的标识符
如果设备未提供标识符,主机将生成 mpx. path 名称,其中 path 代表设备的第一个路径,例如 mpx.vmhba1:C0:T1:L3。此标识符的使用方法可以与存储提供的标识符相同。

假设本地设备的路径名称唯一时,才会为其创建 mpx. path 标识符。但是,此标识符不是唯一的也不是永久的,并且每次系统重新启动后都会发生变化。

设备路径通常采用以下格式:

vmhbaAdapter:CChannel:TTarget:LLUN

  • vmhbaAdapter 是存储适配器的名称。此名称指的是主机上的物理适配器,而不是由虚拟机使用的 SCSI 控制器。
  • CChannel 是存储通道号。

    软件 iSCSI 适配器和从属硬件适配器使用通道号来显示到同一目标的多个路径。

  • TTarget 为目标号。目标编号由主机确定,对主机可见的目标的映射更改时,编号也可能更改。由不同主机共享的目标可能没有相同的目标号。
  • LLUN 是显示目标中 LUN 位置的 LUN 号。LUN 号由存储系统提供。如果目标只有一个 LUN,则 LUN 号始终为零 (0)。

例如,vmhba1:C0:T3:L1 表示通过存储适配器 vmhba1 和通道 0 访问的目标 3 上的 LUN 1。

旧标识符
除了设备提供的标识符或 mpx. Path 标识符, ESXi 还会为每个设备生成一个备用的旧名称。标识符具有以下格式:

vml.number

旧标识符包含一系列对于设备唯一的数字。可以从通过 SCSI INQUIRY 命令获取的元数据部分派生出标识符。对于未提供 SCSI INQUIRY 标识符的非本地设备,使用 vml.number 标识符作为唯一可用的标识符。

在 vSphere CLI 中显示设备名称

您可以在 vSphere CLI 中使用 esxcli storage core device list 命令显示所有设备名称。输出与下例类似:

# esxcli storage core device list
naa.XXX
	  Display Name: DGC Fibre Channel Disk(naa.XXX)
	  ... 
	  Other UIDs: vml.000XXX
mpx.vmhba1:C0:T0:L0
   Display Name: Local VMware Disk (mpx.vmhba1:C0:T0:L0)
   ...
   Other UIDs: vml.0000000000XYZ