可以阻止主機存取儲存裝置或 LUN,或阻止主機使用某個 LUN 的個別路徑。使用 esxcli 命令可遮罩路徑。遮罩路徑時,請建立宣告規則,將 MASK_PATH 外掛程式指派給指定路徑。

在此程序中,--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 list
    用於遮罩路徑之宣告規則的規則識別碼都在 101 到 200 範圍內。如果此命令顯示規則 101 和 102 已經存在,則可以為要新增的規則指定 103。
  2. 透過為 MASK_PATH 外掛程式建立新的宣告規則,將該外掛程式指派給某個路徑。
    esxcli --server=server_name storage core claimrule add -P MASK_PATH
  3. 將 MASK_PATH 宣告規則載入系統中。
    esxcli --server=server_name storage core claimrule load
  4. 確認已新增正確的 MASK_PATH 宣告規則。
    esxcli --server=server_name storage core claimrule list
  5. 如果存在已遮罩路徑的宣告規則,則移除此規則。
    esxcli --server=server_name storage core claiming unclaim
  6. 執行路徑宣告規則。
    esxcli --server=server_name storage core claimrule run

結果

在將 MASK_PATH 外掛程式指派給路徑之後,路徑狀態變為不相關,且不再由主機進行維護。因此,顯示遮罩路徑資訊的命令可能將路徑狀態顯示為 [無作用]。

範例: 遮罩 LUN

在此範例中,遮罩目標 T1 和 T2 上,透過儲存裝置介面卡 vmhba2 和 vmhba3 存取的 LUN 20。

  1. #esxcli --server=server_name storage core claimrule list
  2. #esxcli --server=server_name storage core claimrule add -P MASK_PATH -r 109 -t location -A vmhba2 -C 0 -T 1 -L 20 
    #esxcli --server=server_name storage core claimrule add -P MASK_PATH -r 110 -t location -A vmhba3 -C 0 -T 1 -L 20 
    #esxcli --server=server_name storage core claimrule add -P MASK_PATH -r 111 -t location -A vmhba2 -C 0 -T 2 -L 20 
    #esxcli --server=server_name storage core claimrule add -P MASK_PATH -r 112 -t location -A vmhba3 -C 0 -T 2 -L 20
  3. #esxcli --server=server_name storage core claimrule load
  4. #esxcli --server=server_name storage core claimrule list
  5. #esxcli --server=server_name storage core claiming unclaim -t location -A vmhba2 
    #esxcli --server=server_name storage core claiming unclaim -t location -A vmhba3
  6. #esxcli --server=server_name storage core claimrule run