使用 esxcli 命令将多路径 PSA 声明规则添加到系统上的一组声明规则。为了激活新声明规则,请先定义规则,然后将其加载到系统中。

下面是一些添加 PSA 声明规则的示例:
  • 加载新的多路径插件 (MPP) 并且必须定义此模块声明的路径。
  • 添加新路径并希望用现有 MPP 对它们进行声明。
小心: 在创建声明规则时,请避免出现以下情况:相同 LUN 的不同物理路径由不同的 MPP 进行声明。除非其中某个 MPP 是 MASK_PATH MPP,否则,此配置可能会导致出现性能问题。

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

前提条件

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

过程

  1. 要定义新声明规则,请运行以下命令:
    esxcli --server=server_name storage core claimrule add

    该命令采用以下选项:

    选项 描述
    -A|--adapter=<str> 表示路径的适配器。
    -u|--autoassign 系统自动分配规则 ID。
    -C|--channel=<long> 表示路径的通道。
    -c|--claimrule-class=<str> 表示声明规则类。

    有效值为:MP, Filter, VAAI

    -d|--device=<str> 表示设备 UID。
    -D|--driver=<str> 表示路径的驱动程序。
    -f|--force 强制声明规则在任何情况下均忽略有效性检查并安装规则。
    --if-unset=<str> 如果此高级用户变量未设置为 1,请运行该命令。
    -i|--iqn=<str> 表示目标的 iSCSI 限定名称。
    -L|--lun=<long> 表示路径的 LUN。
    -M|--model=<str> 表示路径的型号。
    -P|--plugin=<str> 表示哪个 PSA 插件。(必填)
    -r|--rule=<long> 表示规则 ID。
    -T|--target=<long> 表示路径的目标。
    -R|--transport=<str> 表示路径的传输。

    有效值为:block, fc, iscsi, iscsivendor, ide, sas, sata, usb, parallel, unknown

    -t|--type=<str> 表示哪一种匹配类型用于声明/取消声明或声明规则。

    有效值为:vendor, location, driver, transport, device, target。(必填)

    -V|--vendor=<str> 表示路径的供应商。
    --wwnn=<str> 表示目标的全球节点编号。
    --wwpn=<str> 表示目标的全球端口编号。
  2. 要将新声明规则加载到系统中,请运行以下命令:
    esxcli --server=server_name storage core claimrule load
    此命令会从系统的配置文件中加载所有新创建的多路径声明规则。

示例: 定义多路径声明规则

在以下示例中,将添加并加载编号为 500 的规则。此规则为 NMP 插件声明型号字符串为 NewMod 以及供应商字符串为 NewVend 的所有路径。

# esxcli --server=server_name storage core claimrule add -r 500 -t vendor -V NewVend -M NewMod -P NMP

# esxcli --server=server_name storage core claimrule load

运行 esxcli --server=server_name storage core claimrule list 命令之后,可以看到新的声明规则显示在列表中。

以下输出表明编号为 500 的声明规则已加载到系统中,并处于活动状态。
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          500    runtime  vendor     NMP        vendor=NewVend model=NewMod  
MP          500    file     vendor     NMP        vendor=NewVend model=NewMod