當您將 NVMe 技術與 VMware 搭配使用時,請遵循特定的準則和需求。

NVMe over PCIe 的需求

您的 ESXi 儲存區環境必須包含下列元件:
  • 本機 NVMe 儲存裝置。
  • 相容的 ESXi 主機。
  • 硬體 NVMe over PCIe 介面卡。安裝介面卡後,您的 ESXi 主機會偵測到該介面卡,並在 vSphere Client 中顯示為儲存區介面卡 (vmhba) 且通訊協定指示為 PCIe。無需設定介面卡。

NVMe over RDMA (RoCE v2) 的需求

  • 具有 NVMe over RDMA (RoCE v2) 傳輸支援的 NVMe 儲存區陣列。
  • 相容的 ESXi 主機。
  • 支援無失真網路的乙太網路交換器。
  • 支援 RDMA over Converged Ethernet (RoCE v2) 的網路介面卡。若要設定介面卡,請參閱檢視 RDMA 網路介面卡
  • 軟體 NVMe over RDMA 介面卡。必須在您的 ESXi 主機上啟用此軟體元件,並連接至適當的網路 RDMA 介面卡。如需相關資訊,請參閱啟用 NVMe over RDMA 或 NVMe over TCP 軟體介面卡
  • NVMe 控制器。您必須在設定軟體 NVMe over RDMA 介面卡之後新增控制器。請參閱為 NVMe over Fabrics 新增控制器
  • 無失真乙太網路。

NVMe over Fibre Channel 的需求

  • 支援 NVMe 的光纖通道儲存區陣列。如需相關資訊,請參閱將 ESXi 與光纖通道 SAN 搭配使用
  • 相容的 ESXi 主機。
  • 硬體 NVMe 介面卡。通常,它是支援 NVMe 的光纖通道 HBA。安裝介面卡時,您的 ESXi 主機會偵測到該介面卡,並在 vSphere Client 中顯示為標準光纖通道介面卡 (vmhba),且儲存區通訊協定指示為 NVMe。您無需設定硬體 NVMe 介面卡即可加以使用。
  • NVMe 控制器。無需設定控制器。安裝所需的硬體 NVMe 介面卡後,它會自動連線至目前可連線的所有目標和控制器。您可以稍後將控制器中斷連線或連線在主機開機期間無法使用的其他控制器。請參閱為 NVMe over Fabrics 新增控制器

NVMe over TCP 的需求

  • 具有 NVMe over TCP 傳輸支援的 NVMe 儲存區陣列。
  • 相容的 ESXi 主機。
  • 乙太網路介面卡。
  • 軟體 NVMe over TCP 介面卡。必須在您的 ESXi 主機上啟用此軟體元件,並連接至適當的網路介面卡。如需詳細資訊,請參閱 啟用 NVMe over RDMA 或 NVMe over TCP 軟體介面卡
  • NVMe 控制器。您必須在設定軟體 NVMe over TCP 介面卡之後新增控制器。請參閱為 NVMe over Fabrics 新增控制器

VMware NVMe over Fabrics 共用儲存區支援

ESXi 環境中,NVMe 儲存裝置的顯示類似於 SCSI 儲存裝置,並且可用作共用儲存區。使用 NVMe-oF 儲存區時,請遵循這些規則。
  • 請勿混用傳輸類型來存取相同的命名空間。
  • 請確保向主機呈現作用中路徑。在探索到作用中路徑之前,無法登錄命名空間。
共用儲存區功能 SCSI over Fabric 儲存區 NVMe over Fabric 儲存區
RDM 支援 不支援
核心傾印 支援 不支援
SCSI-2 保留區 支援 不支援
已叢集化 VMDK 支援 不支援
具有多重寫入器旗標的共用 VMDK 支援 支援

在 vSphere 7.0 Update 1 及更新版本中。

如需詳細資訊,請參閱知識庫文章

Virtual Volumes 支援 支援

在 vSphere 8.0 及更新版本中。

使用 VAAI 外掛程式的硬體加速 支援 不支援
預設 MPP NMP HPP (NMP 無法宣告 NVMe-oF 目標)

為 NVMe over RDMA 設定無失真乙太網路

ESXi 中的 NVMe over RDMA 需要使用無失真乙太網路。

若要建立無失真網路,您可以選取其中一個可用的 QoS 設定。

啟用全域暫停流量控制

在此網路組態中,請確保已在網路交換器連接埠上啟用全域暫停流量控制。此外,還需確保主機中具備 RDMA 功能的 NIC 會自動交涉,以便自動進行正確的流量控制。

若要檢查流量控制,請執行以下命令:

#esxcli network nic get -n vmnicX
   Pause RX: true
   Pause TX: true

如果上述命令選項未設定為 true,請執行以下命令。

#esxcli network nic pauseParams set -r true -t true -n vmnicX

啟用優先順序流量控制

若要使 RoCE 流量無失真,必須在實體交換器和主機中將 PFC 優先順序值設定為 3。您可以透過兩種方式在 ESXi 主機中設定 PFC:
  • 自動設定。如果 RNIC 驅動程式支援 DCB 和 DCBx,可以在主機 RNIC 上自動套用 DCB PFC 組態。

    您可以透過執行以下命令驗證目前的 DCB 設定:

    #esxcli network nic dcb status get -n vmnicX
  • 手動設定。在某些情況下,RNIC 驅動程式會提供使用驅動程式特定參數手動設定 DCB PFC 的方法。若要使用此方法,請參閱廠商特定的驅動程式說明文件。例如,在 Mellanox ConnectX-4/5 驅動程式中,您可以透過執行以下命令,然後將主機重新開機,以將 PFC 優先順序值設定為 3。
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08"

啟用基於 DSCP 的 PFC

基於 DSCP 的 PFC 是設定無失真網路的另一種方式。在實體交換器和主機中,必須將 DSCP 值設定為 26。若要使用此選項,請參閱廠商特定的驅動程式說明文件。例如,在 Mellanox ConnectX-4/5 驅動程式中,您可以透過執行以下命令將 DSCP 標籤值設定為 26。
  1. 啟用 PFC 和 DSCP 信任模式。
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08 trust_state=2"
    
  2. 將 DSCP 值設為 26。
    #esxcli system module parameters set -m nmlx5_rdma -p "dscp_force=26"
  3. 驗證要檢查的參數,以確認設定是否正確並且已設定。
    esxcli system module parameters list -m nmlx5_core | grep 'trust_state\|pfcrx\|pfctx'
  4. 將主機重新開機。