透過硬體加速,ESXi 主機可以與區塊儲存裝置、光纖通道或 iSCSI 整合,並使用包括完全複製、區塊歸零和硬體協助鎖定在內的儲存區陣列作業。

ESXi 硬體加速支援以下陣列作業:

  • 完全複製,也稱為複製區塊或複製卸載。儲存區陣列可以對陣列內的資料進行完全複製,而無需使主機讀取和寫入資料。此作業可減少在複製虛擬機器、從範本進行佈建或使用 vMotion 進行移轉時,所耗費的時間和網路負載。
  • 區塊歸零,也稱為同寫入。儲存區陣列可以將大量區塊歸零,從而提供新配置的儲存區 (不包含先前寫入的資料)。此作業可減少在建立虛擬機器和格式化虛擬磁碟時,所耗費的時間和網路負載。
  • 硬體協助鎖定,也稱為原子測試和設定 (ATS)。支援離散式虛擬機器鎖定,而不使用 SCSI 保留。此作業允許按磁區進行磁碟鎖定,而非使用 SCSI 保留對整個 LUN 進行磁碟鎖定。

請向您的廠商確認是否提供硬體加速支援。某些儲存區陣列要求在儲存區端啟動該支援。

在主機上,依預設可以使用硬體加速功能。如果儲存區不支援硬體加速,可以將其停用。

除了硬體加速支援外,ESXi 還支援陣列精簡佈建。如需相關資訊,請參閱ESXi 和陣列精簡佈建

停用區塊儲存裝置的硬體加速

在主機上,區塊儲存裝置的硬體加速功能預設處於啟用狀態。您可以使用 vSphere Client 進階設定來停用硬體加速作業。

如同停用其他進階設定,在停用硬體加速之前,請先洽詢 VMware 支援團隊。

程序

  1. vSphere Client 中,導覽至 ESXi 主機。
  2. 按一下設定索引標籤。
  3. 系統下,按一下進階系統設定
  4. 若要停用硬體加速,請將以下選項的值變更為 0:
    • VMFS3.HardwareAcceleratedLocking
    • DataMover.HardwareAcceleratedMove
    • DataMover.HardwareAcceleratedInit

管理區塊儲存裝置上的硬體加速

若要與區塊儲存區陣列整合,vSphere 將使用稱為 Storage APIs - Array Integration (VAAI) 的 ESXi 延伸。透過這項整合,vSphere 可以使用陣列硬體作業。

在 vSphere 5.x 及更新版本中,這些延伸是以 T10 SCSI 命令形式實作的。因此,透過支援 T10 SCSI 標準的裝置,您的 ESXi 主機可以直接通訊,而不需要 VAAI 外掛程式。

如果裝置不支援 T10 SCSI 或提供部分支援,ESXi 將還原為使用您主機上安裝的 VAAI 外掛程式。主機也可以使用 T10 SCSI 命令和外掛程式的組合。VAAI 外掛程式因個別廠商而有所不同,可能是 VMware 或合作夥伴開發的。若要管理支援 VAAI 的裝置,主機可將 VAAI 篩選器和廠商專屬的 VAAI 外掛程式連結到該裝置。

如需儲存區是否需要 VAAI 外掛程式,或是否透過 T10 SCSI 命令支援硬體加速的相關資訊,請參閱VMware 相容性指南或連絡您的儲存裝置廠商。

您可以使用多個 esxcli 命令查詢儲存裝置,以取得硬體加速支援資訊。對於需要 VAAI 外掛程式的裝置,也可以使用宣告規則命令。如需 esxcli 命令的相關資訊,請參閱 ESXCLI 入門

顯示硬體加速外掛程式和篩選器

若要與不支援 T10 SCSI 標準的裝置通訊,主機會使用單一 VAAI 篩選器和廠商專屬的 VAAI 外掛程式。使用 esxcli 命令檢視目前載入系統的硬體加速篩選器和外掛程式。

必要條件

安裝 ESXCLI。請參閱ESXCLI 入門。若要進行疑難排解,請在 ESXi Shell 中執行 esxcli 命令。

程序

  • 執行 esxcli storage core plugin list --plugin-class=value 命令。
    對於 value,輸入以下參數之一:
    • 輸入 VAAI,顯示外掛程式。
      此命令的輸出與以下範例類似:
      #esxcli storage core plugin list --plugin-class=VAAI
      Plugin name         Plugin class
      VMW_VAAIP_EQL       VAAI
      VMW_VAAIP_NETAPP    VAAI
      VMW_VAAIP_CX        VAAI
      
    • 輸入 Filter,顯示篩選器。
      此命令的輸出與以下範例類似:
      esxcli storage core plugin list --plugin-class=Filter
      Plugin name  Plugin class 
      VAAI_FILTER  Filter

確認硬體加速支援狀態

使用 esxcli 命令來確認特定儲存裝置的硬體加速支援狀態。

必要條件

安裝 ESXCLI。請參閱ESXCLI 入門。若要進行疑難排解,請在 ESXi Shell 中執行 esxcli 命令。

程序

  • 執行 esxcli storage core device list -d=device_ID 命令。
    輸出顯示硬體加速 (或 VAAI) 狀態,該狀態可以為未知、受支援或不受支援。
    # esxcli storage core device list -d naa.XXXXXXXXXXXX4c
    naa.XXXXXXXXXXXX4c
     Display Name: XXXX Fibre Channel Disk(naa.XXXXXXXXXXXX4c)
     Size: 20480
     Device Type: Direct-Access
     Multipath Plugin: NMP
     XXXXXXXXXXXXXXXX
     Attached Filters: VAAI_FILTER
     VAAI Status: supported
     XXXXXXXXXXXXXXXX
    

確認硬體加速支援詳細資料

請使用 esxcli 命令查詢區塊儲存裝置是否提供硬體加速支援。

必要條件

安裝 ESXCLI。請參閱ESXCLI 入門。若要進行疑難排解,請在 ESXi Shell 中執行 esxcli 命令。

程序

  • 執行 esxcli storage core device vaai status get -d=device_ID 命令。
    如果 VAAI 外掛程式管理裝置,則輸出會顯示連結到此裝置的外掛程式名稱。此外,輸出會顯示每個以 T10 SCSI 為基礎的原始支援狀態 (如果可用)。輸出顯示如下列範例:
    # esxcli storage core device vaai status get -d naa.XXXXXXXXXXXX4c
    naa.XXXXXXXXXXXX4c
     VAAI Plugin Name: VMW_VAAIP_SYMM
     ATS Status: supported
     Clone Status: supported
     Zero Status: supported
     Delete Status: unsupported

列出硬體加速宣告規則

VAAI 外掛程式管理的每個區塊儲存裝置都需要兩個宣告規則。一個宣告規則指定硬體加速篩選器,而另一個指定該裝置的硬體加速外掛程式。您可以使用 esxcli 命令列出硬體加速篩選器和外掛程式宣告規則。

程序

  1. 若要列出篩選器宣告規則,請執行 esxcli storage core claimrule list --claimrule-class=Filter 命令。
    在此範例中,篩選器宣告規則指定 VAAI_FILTER 篩選器宣告的裝置。
    # esxcli storage core claimrule list --claimrule-class=Filter
    Rule Class   Rule   Class   Type   Plugin      Matches                    XCOPY Use Array Reported Values  XCOPY Use Multiple Segments  XCOPY Max Transfer Size KiB
    Filter       65430  runtime vendor VAAI_FILTER vendor=EMC model=SYMMETRIX                           False                        False                            0
    Filter       65430  file    vendor VAAI_FILTER vendor=EMC model=SYMMETRIX                           False                        False                            0
    Filter       65431  runtime vendor VAAI_FILTER vendor=DGC model=*                                   False                        False                            0
    Filter       65431  file    vendor VAAI_FILTER vendor=DGC model=*                                   False                        False                            0
  2. 若要列出 VAAI 外掛程式宣告規則,請執行 esxcli storage core claimrule list --claimrule-class=VAAI 命令。
    在此範例中,VAAI 宣告規則指定 VAAI 外掛程式宣告的裝置。
    esxcli storage core claimrule list --claimrule-class=VAAI
    Rule Class   Rule   Class   Type    Plugin         Matches                   XCOPY Use Array Reported Values  XCOPY Use Multiple Segments  XCOPY Max Transfer Size KiB
    VAAI         65430  runtime vendor  VMW_VAAIP_SYMM vendor=EMC model=SYMMETRIX                          False                        False                            0
    VAAI         65430  file    vendor  VMW_VAAIP_SYMM vendor=EMC model=SYMMETRIX                          False                        False                            0
    VAAI         65431  runtime vendor  VMW_VAAIP_CX   vendor=DGC model=*                                  False                        False                            0
    VAAI         65431  file    vendor  VMW_VAAIP_CX   vendor=DGC model=*                                  False                        False                            0

新增硬體加速宣告規則

若要為新陣列設定硬體加速,請新增兩個宣告規則,一個用於 VAAI 篩選器,而另一個用於 VAAI 外掛程式。為啟用新宣告規則,請先定義規則,然後載入到系統中。

必要條件

安裝 ESXCLI。請參閱ESXCLI 入門。若要進行疑難排解,請在 ESXi Shell 中執行 esxcli 命令。

程序

  1. 透過執行 esxcli storage core claimrule add --claimrule-class=Filter --plugin=VAAI_FILTER 命令,為 VAAI 篩選器定義新宣告規則。
  2. 透過執行 esxcli storage core claimrule add --claimrule-class=VAAI 命令,為 VAAI 外掛程式定義新宣告規則。
  3. 執行下列命令載入這兩個宣告規則:
    esxcli storage core claimrule load --claimrule-class=Filter

    esxcli storage core claimrule load --claimrule-class=VAAI

  4. 透過使用 esxcli storage core claimrule run --claimrule-class=Filter 命令,執行 VAAI 篩選器宣告規則。
    備註: 必須僅執行篩選器類別規則。當 VAAI 篩選器宣告裝置時,會自動尋找要連結的適當 VAAI 外掛程式。

範例: 定義硬體加速宣告規則

此範例顯示如何為使用 VMW_VAAIP_T10 外掛程式的 IBM 陣列設定硬體加速。請依序使用下列命令。如需命令使用的選項的相關資訊,請參閱新增多重路徑宣告規則

# esxcli storage core claimrule add --claimrule-class=Filter --plugin=VAAI_FILTER --type=vendor --vendor=IBM --autoassign

# esxcli storage core claimrule add --claimrule-class=VAAI --plugin=VMW_VAAIP_T10 --type=vendor --vendor=IBM --autoassign

# esxcli storage core claimrule load --claimrule-class=Filter

# esxcli storage core claimrule load --claimrule-class=VAAI

# esxcli storage core claimrule run --claimrule-class=Filter

設定 XCOPY 參數

XCOPY 是其中一個 VAAI 原始物件,用於將工作卸載到儲存區陣列。例如,您可以使用 XCOPY 卸載此類作業,例如將虛擬機器移轉或複製到陣列,而不是耗用 vSphere 資源來執行這些工作。

您可以搭配使用 XCOPY 機制和所有儲存區陣列,這些陣列支援由 VMware 開發的以 SCSI T10 為基礎的 VMW_VAAIP_T10 外掛程式。若要啟用 XCOPY 機制,請建立 VAAI 類別的宣告規則。

必要條件

安裝 ESXCLI。請參閱ESXCLI 入門。若要進行疑難排解,請在 ESXi Shell 中執行 esxcli 命令。

程序

  • 請使用下列命令並輸入 XCOPY 選項:
    esxcli storage core claimrule add --claimrule-class=VAAI

    如需命令使用的選項的相關資訊,請參閱新增多重路徑宣告規則

    選項 說明
    -a|--xcopy-use-array-values 針對 XCOPY 命令使用陣列報告的值。
    -s|--xcopy-use-multi-segs 針對 XCOPY 命令使用多個區段。僅當指定了 --xcopy-use-array-values 時有效。
    -m|--xcopy-max-transfer-size 使用的傳輸大小不同於陣列報告的大小時,針對 XCOPY 命令的最大傳輸大小 (以 MB 為單位)。僅當指定了 --xcopy-use-array-values 時有效。
    -k|--xcopy-max-transfer-size-kib 使用的傳輸大小不同於陣列報告的大小時,針對 XCOPY 命令的最大傳輸大小 (以 KiB 為單位)。僅當指定了 --xcopy-use-array-values 時有效。

    -e | --extended-xcopy-support

    使用已延伸 XCOPY 命令可最佳化位於不同儲存區陣列中的資料存放區之間的資料複製。

範例: 設定 XCOPY

  • # esxcli storage core claimrule add -r 914 -t vendor -V XtremIO -M XtremApp -P VMW_VAAIP_T10 -c VAAI -a -s -k 64
  • # esxcli storage core claimrule add -r 65430 -t vendor -V EMC -M SYMMETRIX -P VMW_VAAIP_SYMM -c VAAI -a -s -m 200

使用延伸 XCOPY 參數最佳化資料複製

延伸 XCOPY 參數可最佳化兩個不同陣列中資料存放區之間的資料複製。透過該參數,可以移轉和複製工作負載,從而在兩個不同的陣列之間卸載 XCOPY。

延伸 XCOPY 的特性:
  • 在宣告規則中使用新的延伸 XCOPY 選項。

    esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -e

    範例:

    esxcli storage core claimrule add -t vendor -V DellEMC -M PowerStore -P VMW_VAAIP_T10 -c VAAI --autoassign -e

  • 僅 T10 外掛程式支援延伸 XCOPY。
程序
  1. 使用以下命令檢查延伸 XCOPY 狀態。
    esxcli storage core device vaai status get -d device
    範例:
    [root@tpp-h127:~] esxcli storage core device vaai status get -d naa.68ccf098007f554c61148eb1786e6749
    naa.68ccf098007f554c61148eb1786e6749
       VAAI Plugin Name: VMW_VAAIP_T10
       ATS Status: supported
       Clone Status: supported
       Zero Status: supported
       Delete Status: supported
       Ex Clone Status: supported"
    
  2. 為支援的儲存區陣列啟用延伸 XCOPY。
    1. 驗證是否已新增 VAAI_FILTER 外掛程式裝置。
      esxcli storage core claimrule list -c Filter
    2. 如果沒有為 VAAI_FILTER 外掛程式新增裝置,請使用以下命令。
      esxcli storage core claimrule add -t vendor -V vendor -M model name -P VAAI_FILTER -c Filter --autoassign
    3. 載入 VAAI_FILTER 宣告規則。
      esxcli storage core claimrule load -c Filter
    4. 使用 T10 外掛程式新增延伸 XCOPY 宣告規則。
      esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -e
      備註:
      • 步驟 d 中的宣告規則將對 XCOPY 命令使用 ESXi 預設傳輸大小和單一區段。若要使用包含不同傳輸大小和多個區段的陣列報告值,請在上述命令中使用可選參數 -a-s-m|-k
      • 延伸 XCOPY 設定可跨不同的陣列執行。
      • 為來源裝置和目的地裝置新增包含可選參數 (例如 -a-s-m|-k) 的宣告規則。在此情況下,資料傳輸將考慮來源陣列和目的地陣列的最小傳輸大小。

        來源裝置:

        esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -a -s

        目的地裝置:

        esxcli storage core claimrule add -t vendor -V vendor -M model name -P VMW_VAAIP_T10 -c VAAI --autoassign -a -s -e
    5. 載入 VAAI_T10 外掛程式。
      esxcli storage core claimrule load -c VAAI
    6. 執行新增的宣告規則選項。
      esxcli storage core claimrule run --claimrule-class=Filter

刪除硬體加速宣告規則

使用 esxcli 命令可刪除現有硬體加速宣告規則。

必要條件

安裝 ESXCLI。請參閱ESXCLI 入門。若要進行疑難排解,請在 ESXi Shell 中執行 esxcli 命令。

程序

  • 執行下列命令:
    esxcli storage core claimrule remove -r claimrule_ID --claimrule-class=Filter

    esxcli storage core claimrule remove -r claimrule_ID --claimrule-class=VAAI