Wenn Sie die NVMe-Technologie mit VMware verwenden, müssen Sie spezifische Richtlinien und Anforderungen befolgen.

Anforderungen für NVMe over PCIe

Ihre ESXi-Speicherumgebung muss über die folgenden Komponenten verfügen:
  • Lokale NVMe-Speichergeräte.
  • Kompatibler ESXi-Host.
  • NVMe over PCIe-Hardwareadapter. Nach der Installation des Adapters erkennt Ihr ESXi-Host ihn und zeigt ihn im vSphere Client als Speicheradapter (vmhba) mit als PCIe angegebenem Protokoll an. Es ist kein Konfigurieren des Adapters erforderlich.

Anforderungen für NVMe over RDMA (ROCE v2)

  • NVMe-Speicher-Array mit NVMe over RDMA (ROCE v2)-Transportunterstützung.
  • Kompatibler ESXi-Host.
  • Ethernet-Switches, die ein verlustfreies Netzwerk unterstützen.
  • Netzwerkadapter, der RDMA over Converged Ethernet (ROCE v2) unterstützt. Informationen zur Konfiguration des Adapters finden Sie unter Anzeigen von RDMA-Netzwerkadaptern.
  • NVMe over RDMA-Softwareadapter. Diese Softwarekomponente muss auf Ihrem ESXi-Host aktiviert und mit einem entsprechenden Netzwerk-RDMA-Adapter verbunden sein. Weitere Informationen finden Sie unter Aktivieren von NVMe over RDMA- oder NVMe oder TCP-Softwareadaptern.
  • NVMe-Controller. Sie müssen einen Controller hinzufügen, nachdem Sie einen NVMe over RDMA-Softwareadapter konfiguriert haben. Weitere Informationen hierzu finden Sie unter Hinzufügen eines Controllers für NVMe over Fabrics.
  • Verlustfreies Ethernet.

Anforderungen für NVMe over Fibre Channel

  • Fibre Channel-Speicher-Array, das NVMe unterstützt. Weitere Informationen finden Sie unter Verwenden von ESXi mit Fibre-Channel-SAN.
  • Kompatibler ESXi-Host.
  • NVMe-Hardwareadapter. In der Regel handelt es sich um einen Fibre Channel-HBA, der NVMe unterstützt. Wenn Sie den Adapter installieren, erkennt der ESXi-Host ihn und zeigt ihn im vSphere Client als Fibre Channel-Standardadapter (vmhba) mit als NVMe angegebenem Speicherprotokoll an. Für den NVMe-Hardwareadapter ist keine Konfiguration erforderlich, um ihn verwenden zu können.
  • NVMe-Controller. Es ist kein Konfigurieren des Controllers erforderlich. Nachdem Sie den erforderlichen NVMe-Hardwareadapter installiert haben, stellt er automatisch eine Verbindung zu allen Zielen und Controllern her, die derzeit erreichbar sind. Sie können die Controller später trennen oder andere Controller verbinden, die während des Hoststarts nicht verfügbar waren. Weitere Informationen hierzu finden Sie unter Hinzufügen eines Controllers für NVMe over Fabrics.

Anforderungen für NVMe over TCP

  • NVMe-Speicher-Array mit NVMe over TCP-Transportunterstützung.
  • Kompatibler ESXi-Host.
  • Ein Ethernet-Adapter.
  • NVMe over TCP-Softwareadapter. Diese Softwarekomponente muss auf Ihrem ESXi-Host aktiviert und mit einem entsprechenden Netzwerkadapter verbunden sein. Weitere Informationen finden Sie unter Aktivieren von NVMe over RDMA- oder NVMe oder TCP-Softwareadaptern.
  • NVMe-Controller. Sie müssen einen Controller hinzufügen, nachdem Sie einen NVMe over TCP-Softwareadapter konfiguriert haben. Weitere Informationen hierzu finden Sie unter Hinzufügen eines Controllers für NVMe over Fabrics.

VMware NVMe over Fabric-Unterstützung für gemeinsam genutzten Speicher

In der ESXi-Umgebung werden die NVMe-Speichergeräte ähnlich wie SCSI-Speichergeräte angezeigt und können als gemeinsam genutzter Speicher verwendet werden. Befolgen Sie die folgenden Regeln bei Verwendung des NVMe-oF-Speichers.
  • Mischen Sie keine Transporttypen, um auf denselben Namespace zuzugreifen.
  • Stellen Sie sicher, dass dem Host aktive Pfade angezeigt werden. Die Namespaces können erst registriert werden, nachdem der aktive Pfad erkannt wurde.
Gemeinsam genutzter Speicher – Funktionalität SCSI over Fabric-Speicher NVMe over Fabric-Speicher
RDM Unterstützt Nicht unterstützt
Core-Dump Unterstützt Nicht unterstützt
SCSI-2-Reservierungen Unterstützt Nicht unterstützt
Cluster-VMDK Unterstützt Nicht unterstützt
Gemeinsam genutzte VMDK mit Multiwriter-Flag Unterstützt Unterstützt

In vSphere 7.0 Update 1 und höher.

Weitere Informationen finden Sie im Knowledgebase-Artikel.

Virtual Volumes Unterstützt Nicht unterstützt
Hardwarebeschleunigung mit VAAI-Plug-Ins Unterstützt Nicht unterstützt
Standard-MPP NMP HPP (NVMe-oF-Ziele können nicht von NMP beansprucht werden)
Grenzwerte LUNs=1024, Pfade=4096 Namespaces=32, Pfade=128 (maximal 4 Pfade pro Namespace in einem Host)

Konfigurieren von verlustfreiem Ethernet für NVMe over RDMA

NVMe over RDMA in ESXi erfordert ein verlustfreies Ethernet-Netzwerk.

Zum Einrichten von verlustfreien Netzwerken können Sie eine der verfügbaren QoS-Einstellungen auswählen.

Aktivieren von Global Pause Flow Control

Stellen Sie in dieser Netzwerkkonfiguration sicher, dass Global Pause Flow Control auf dem Netzwerk-Switch-Port aktiviert ist. Stellen Sie außerdem sicher, dass RDMA-fähige Netzwerkkarten auf dem Host automatisch die richtige Flusssteuerung aushandeln.

Führen Sie den folgenden Befehl aus, um die Flusssteuerung zu überprüfen:

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

Wenn die obigen Befehlsoptionen nicht auf „True“ festgelegt sind, führen Sie folgenden Befehl aus.

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

Aktivieren von Priority Flow Control

Für verlustfreien RoCE-Datenverkehr müssen Sie den PFC-Prioritätswert im physischen Switch und den Hosts auf 3 festlegen. Zum Konfigurieren der PFC im ESXi-Host stehen zwei Möglichkeiten zur Verfügung:
  • Automatische Konfiguration. Wenden Sie die DCB-PFC-Konfiguration automatisch auf der Host-RNIC an, wenn der RNIC-Treiber DCB und DCBx unterstützt.

    Sie können die aktuellen DCB-Einstellungen überprüfen, indem Sie den folgenden Befehl ausführen:

    #esxcli network nic dcb status get -n vmnicX
  • Manuelle Konfiguration. In bestimmten Fällen stellen die RNIC-Treiber eine Methode zur manuellen Konfiguration der DCB-PFC mithilfe von treiberspezifischen Parametern bereit. Informationen zur Verwendung dieser Methode finden Sie in der Treiberdokumentation des jeweiligen Herstellers. Im Mellanox ConnectX-4/5-Treiber können Sie den PFC-Prioritätswert beispielsweise auf 3 festlegen, indem Sie den folgenden Befehl ausführen und den Host neu starten.
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08"

Aktivieren einer DSCP-basierten PFC

Mit einer DSCP-basierten PFC erhalten Sie eine weitere Möglichkeit zum Konfigurieren eines verlustfreien Netzwerks. Für physische Switches und Hosts müssen Sie den DSCP-Wert auf 26 festlegen. Informationen zur Verwendung dieser Option finden Sie in der Treiberdokumentation des jeweiligen Herstellers. Im Mellanox ConnectX-4/5-Treiber können Sie den DSCP-Tag-Wert beispielsweise auf 26 festlegen, indem Sie die folgenden Befehle ausführen.
  1. Aktivieren Sie den PFC- und DSCP-Vertrauensmodus.
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08 trust_state=2"
    
  2. Legen Sie als Wert für DSCP 26 fest.
    #esxcli system module parameters set -m nmlx5_rdma -p "dscp_force=26"
  3. Überprüfen Sie die Parameter, um zu bestätigen, ob die Einstellungen korrekt und festgelegt sind.
    esxcli system module parameters list -m nmlx5_core | grep 'trust_state\|pfcrx\|pfctx'
  4. Starten Sie den Host neu.