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

开始之前

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

关于此任务

例如,当加载新的多路径插件 (MPP) 并需要定义此模块应当声明的路径时,需要添加新的 PSA 声明规则。如果添加新路径并需要用现有的 MPP 对它们进行声明,则可能需要创建一条声明规则。

警告:

在创建新声明规则时,请注意避免出现以下情况:相同 LUN 的不同物理路径由不同的 MPP 进行声明。除非其中某个 MPP 是 MASK_PATH MPP,否则,此配置将导致出现性能问题。

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

过程

  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 命令之后,可以看到新的声明规则显示在列表中。

注:

声明规则的两行,一行中的“Class”为 runtime,另一行中的“Class”为 file,表示新声明规则已加载到系统中且处于活动状态。

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