使用 esxcli 命令將多重路徑 PSA 宣告規則新增到系統上的宣告規則集。為啟用新宣告規則,請先定義規則,然後載入到系統中。

新增 PSA 宣告規則時的範例包括:
  • 載入新的第三方 MPP,且必須定義此模組宣告的路徑。
  • 您必須啟用原生 HPP。
警告: 您無法建立兩個不同外掛程式宣告同一個裝置的路徑的規則。嘗試建立這些宣告規則會失敗,並在 vmkernel.log 中顯示警告。

必要條件

安裝 vCLI 或部署 vSphere Management Assistant (vMA) 虛擬機器。請參閱vSphere 命令列介面入門。若要進行疑難排解,請在 ESXi Shell 中執行 esxcli命令。

程序

  1. 若要定義新宣告規則,請使用下列命令:
    esxcli storage core claimrule add

    該命令採用下列選項:

    選項 說明
    -A|--adapter=<adapter> 要使用的路徑的介面卡。僅當 --typelocation 時有效。
    -u|--autoassign 根據特性新增宣告規則。不需要規則編號。
    -C|--channel=<channel> 要使用的路徑的通道。僅當 --typelocation 時有效。
    -c|--claimrule-class=<cl> 此作業中要使用的宣告規則類別。您可以指定 MP (預設值)、FilterVAAI

    若要為新陣列設定硬體加速,請新增兩個宣告規則,一個用於 VAAI 篩選器,而另一個用於 VAAI 外掛程式。如需詳細指示,請參閱新增硬體加速宣告規則

    -d|--device=<device_uid> 裝置的 UID。 僅當 --typedevice 時有效。
    -D|--driver=<driver> 要使用的路徑的 HBA 驅動程式。僅當 --typedriver 時有效。
    -f|--force 強制宣告規則在任何情況下均略過有效性檢查並安裝規則。
    --force-reserved 對保留的規則識別碼範圍的覆寫保護。

    保留的宣告規則是識別碼低於 100 的規則。您可以使用它們將本機裝置重新指派到特定外掛程式,例如將 NVMe 裝置重新指派到 HPP。

    --if-unset=<str> 如果此進階使用者變數未設定為 1,則執行該命令。
    -i|--iqn=<iscsi_name> 目標的 iSCSI 限定名稱。 僅當 --typetarget 時有效。
    -L|--lun=<lun_id> 路徑的 LUN。僅當 --typelocation 時有效。

    LUN 識別碼不能大於進階組態選項 /Disk/MaxLUN 的值。

    -M|--model=<model> 要使用的路徑的型號。僅當 --typevendor 時有效。

    有效值為 SCSI 查詢字串中的型號字串值。在每個裝置上執行 vicfg-scsidevs <conn_options> -l 可查看型號字串值。

    -P|--plugin=<plugin> 要使用的 PSA 外掛程式。值是 NMPMASK_PATHHPP。第三方還可以提供自己的 PSA 外掛程式。必要。
    -r|--rule=<rule_ID> 要使用的規則識別碼。規則識別碼指示宣告規則的評估順序。會以 101 開始的數字順序評估使用者定義的宣告規則。

    您可以執行 esxcli storage core claimrule list 來判定哪些規則識別碼可用。

    -T|--target=<target> 要使用的路徑的目標。僅當 --typelocation 時有效。
    -R|--transport=<transport>

    要使用的路徑的傳輸。僅當 --typetransport 時有效。支援下列值。

    • block — 區塊儲存區
    • fc — 光纖通道
    • iscsivendor — iSCSI
    • iscsi — 目前未使用
    • ide — IDE 儲存區
    • sas — SAS 儲存區
    • sata — SATA 儲存區
    • usb — USB 儲存裝置
    • parallel — 平行
    • fcoe — FCoE
    • unknown
    -t|--type=<type> 要用於此作業的相符類型。有效值如下。必要。
    • vendor
    • location
    • driver
    • transport
    • device
    • target
    -V|--vendor=<vendor> 要使用的路徑的廠商。僅當 --typevendor 時有效。

    有效值為 SCSI 查詢字串中的廠商字串值。在每個裝置上執行 vicfg-scsidevs <conn_options> -l 可查看廠商字串值。

    --wwnn=<wwnn> 目標的全球節點編號。
    --wwpn=<wwpn> 目標的全球連接埠號碼。
    -a|--xcopy-use-array-values 使用陣列報告的值來建構 XCOPY 命令,以傳送到儲存區陣列。這僅適用於 VAAI 宣告規則。
    -s|--xcopy-use-multi-segs 發出 XCOPY 要求時,使用多個區段。僅當指定了 --xcopy-use-array-values 時有效。
    -m|--xcopy-max-transfer-size 使用的傳輸大小不同於陣列報告的大小時的最大資料傳輸大小 (以 MB 為單位)。僅當指定了 --xcopy-use-array-values 時有效。
    -k|--xcopy-max-transfer-size-kib 使用的傳輸大小不同於陣列報告的大小時,針對 XCOPY 命令的最大傳輸大小 (以 KiB 為單位)。僅當指定了 --xcopy-use-array-values 時有效。
  2. 若要將新宣告規則載入到系統中,請使用下列命令:
    esxcli storage core claimrule load
    此命令會將所有新建立的多重路徑宣告規則從 esx.conf 組態檔載入到 VMkernel。此命令沒有選項。
  3. 若要套用載入的宣告規則,請使用下列命令:
    esxcli storage core claimrule run

    該命令採用下列選項:

    選項 說明
    -A|--adapter=<adapter> 如果 --typelocation,則為宣告規則執行所在路徑的 HBA 名稱。若要從所有介面卡在路徑上執行宣告規則,請省略此選項。
    -C|--channel=<channel> 如果 --typelocation,則為宣告規則執行所在路徑的 SCSI 通道編號值。若要在使用任何通道編號的路徑上執行宣告規則,請省略此選項。
    -c|--claimrule-class=<cl> 此作業中要使用的宣告規則類別。
    -d|--device=<device_uid> 裝置的 UID。
    -L|--lun=<lun_id> 如果 --typelocation,則為宣告規則執行所在路徑的 SCSI LUN 值。若要在使用任何 LUN 的路徑上執行宣告規則,請省略此選項。
    -p|--path=<path_uid> 如果 --typepath,此選項會指示唯一路徑識別碼 (UID) 或宣告規則執行所在路徑的執行階段名稱。
    -T|--target=<target> 如果 --typelocation,則為宣告規則執行所在路徑的 SCSI 目標編號值。若要在使用任何目標編號的路徑上執行宣告規則,請省略此選項。
    -t|--type=<location|path|all> 要執行的宣告類型。依預設,會使用 all,這表示會在對特定路徑或 SCSI 位址無限制的情況下執行宣告規則。有效值為 locationpathall
    -w|--wait 此選項必須與 --type all 搭配使用。

    如果包含此選項,宣告會等待路徑得以解決,然後再執行宣告作業。在此情況下,系統不會啟動宣告程序,直到系統上的所有路徑均已顯示,然後再啟動宣告程序。

    宣告程序啟動後,只有在完成裝置登錄後才會傳回命令。

    如果您在宣告或探索程序期間新增或移除路徑,此選項可能無法正常運作。

範例: 定義多重路徑宣告規則

在下列範例中,您可以新增並載入編號為 500 的規則。該規則會為 NMP 外掛程式宣告型號字串為 NewMod 以及廠商字串為 NewVend 的所有路徑。

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

# esxcli storage core claimrule load

執行 esxcli storage core claimrule list 命令之後,您可以看到新宣告規則出現在清單中。

下列輸出指示宣告規則 500 已載入到系統中,且處於作用中狀態。
Rule Class  Rule   Class    Type       Plugin     Matches
...         ...    ...      ...        ...        ...
MP          500    runtime  vendor     NMP        vendor=NewVend model=NewMod  
MP          500    file     vendor     NMP        vendor=NewVend model=NewMod