使用 esxcli 命令可列出可用的多路径声明规则。

开始之前

安装 vCLI 或部署 vSphere Management Assistant (vMA) 虚拟机。请参见vSphere 命令行界面入门。要进行故障排除,请在 ESXi Shell 中运行 esxcli 命令。

关于此任务

声明规则指出给定的物理路径由哪个多路径插件、NMP 或任何第三方 MPP 来管理。每个声明规则基于以下参数标识一组路径:

  • 供应商/型号字符串

  • 传输(如 SATA、IDE、光纤通道等)

  • 适配器、目标或 LUN 位置

  • 设备驱动程序(如 Mega-RAID)

在此过程中,--server=server_name 指定目标服务器。指定的目标服务器会提示您输入用户名和密码。支持其他连接选项,如配置文件或会话文件。有关连接选项的列表,请参见vSphere 命令行界面入门

过程

要列出多路径声明规则,请运行 esxcli --server=server_name storage core claimrule list --claimrule-class=MP 命令。

esxcli storage core claimrule list 命令的示例输出

Rule Class  Rule   Class    Type       Plugin     Matches
MP          0      runtime  transport  NMP        transport=usb
MP          1      runtime  transport  NMP        transport=sata
MP          2      runtime  transport  NMP        transport=ide
MP          3      runtime  transport  NMP        transport=block
MP          4      runtime  transport  NMP        transport=unknown
MP          101    runtime  vendor     MASK_PATH  vendor=DELL model=Universal Xport
MP          101    file     vendor     MASK_PATH  vendor=DELL model=Universal Xport
MP          200    runtime  vendor     MPP_1      vendor=NewVend model=* 
MP          200    file     vendor     MPP_1      vendor=NewVend model=* 
MP          201    runtime  location   MPP_2      adapter=vmhba41 channel=* target=* lun=* 
MP          201    file     location   MPP_2      adapter=vmhba41 channel=* target=* lun=* 
MP          202    runtime  driver     MPP_3      driver=megaraid 
MP          202    file     driver     MPP_3      driver=megaraid 
MP          65535  runtime  vendor     NMP        vendor=* model=*

此示例表示以下内容:

  • NMP 声明与使用 USB、SATA、IDE 和块 SCSI 传输的存储设备相连的所有路径。

  • 可以使用 MASK_PATH 模块隐藏主机中未使用的设备。默认情况下,PSA 声明规则 101 会屏蔽供应商字符串为 DELL 且型号字符串为 Universal Xport 的 Dell 阵列伪设备。

  • MPP_1 模块声明与任何型号 NewVend 存储阵列相连的所有路径。

  • MPP_3 模块声明由 Mega-RAID 设备驱动程序控制的存储设备的路径。

  • 未在先前的规则中描述的路径由 NMP 声明。

  • 输出中的“Rule Class”列说明声明规则的类别。类别可以是 MP(多路径插件)、Filter 或 VAAI。

  • “Class”列显示已定义的规则和已加载的规则。“Class”列中的 file 参数表示规则已定义。runtime 参数表示规则已被加载到系统中。为了激活用户定义的声明规则,应存在两个具有相同规则编号的行,一行是具有 file 参数的规则,另一行是具有 runtime的规则。几个低编号的规则只有一行,其“Class”为 runtime。这些是系统定义的声明规则,您无法对其进行修改。