NVMe-of Host-Konfiguration für ESXi 8.x mit ONTAP
Sie können NVMe over Fabrics (NVMe-of) auf Initiator-Hosts, die ESXi 8.x ausführen, und ONTAP als Ziel konfigurieren.
Instandhaltung
-
Ab ONTAP 9.16.1 ist die Speicherplatzzuweisung standardmäßig für alle neu erstellten NVMe-Namespaces aktiviert.
-
Ab ONTAP 9.9.1 P3 wird das NVMe/FC-Protokoll für ESXi 8 und höher unterstützt.
-
Ab ONTAP 9.10.1 wird das NVMe-/TCP-Protokoll für ONTAP unterstützt.
Funktionen
-
ESXi Initiator-Hosts können sowohl NVMe/FC- als auch FCP-Datenverkehr über dieselben Adapter-Ports ausführen. Siehe "Hardware Universe" Für eine Liste der unterstützten FC-Adapter und Controller. Siehe "NetApp Interoperabilitäts-Matrix-Tool" Erhalten Sie auf der aktuellen Liste der unterstützten Konfigurationen und Versionen.
-
Für ESXi 8.0 und höhere Versionen ist HPP (High Performance Plug-in) das Standard-Plug-in für NVMe Geräte.
Bekannte Einschränkungen
-
RDM-Zuordnung wird nicht unterstützt.
NVMe/FC aktivieren
NVMe/FC ist in vSphere Versionen standardmäßig aktiviert.
Sie müssen die NQN-Zeichenfolge des ESXi-Hosts überprüfen und überprüfen, ob sie mit der NQN-Zeichenfolge des Hosts für das entsprechende Subsystem auf dem ONTAP-Array übereinstimmt.
# esxcli nvme info get
Beispielausgabe:
Host NQN: nqn.2014-08.org.nvmexpress:uuid:62a19711-ba8c-475d-c954-0000c9f1a436
# vserver nvme subsystem host show -vserver nvme_fc
Beispielausgabe:
Vserver Subsystem Host NQN ------- --------- ---------------------------------------------------------- nvme_fc nvme_ss nqn.2014-08.org.nvmexpress:uuid:62a19711-ba8c-475d-c954-0000c9f1a436
Wenn die Host-NQN-Strings nicht übereinstimmen, sollten Sie den verwenden vserver nvme subsystem host add
Befehl zum Aktualisieren der korrekten Host-NQN-Zeichenfolge auf dem entsprechenden ONTAP-NVMe-Subsystem.
Konfigurieren Sie Broadcom/Emulex und Marvell/Qlogic
Der lpfc
Treiber und die qlnativefc
Für Treiber in vSphere 8.x ist die NVMe/FC-Funktion standardmäßig aktiviert.
"Interoperabilitäts-Matrix-Tool"Überprüfen Sie, ob die Konfiguration mit dem Treiber oder der Firmware unterstützt wird.
NVMe/FC validieren
Folgende Verfahren stehen zur Validierung von NVMe/FC zur Verfügung:
-
Überprüfen Sie, ob der NVMe/FC-Adapter auf dem ESXi-Host aufgeführt ist:
# esxcli nvme adapter list
Beispielausgabe:
Adapter Adapter Qualified Name Transport Type Driver Associated Devices ------- ------------------------------- -------------- ---------- ------------------ vmhba64 aqn:lpfc:100000109b579f11 FC lpfc vmhba65 aqn:lpfc:100000109b579f12 FC lpfc vmhba66 aqn:qlnativefc:2100f4e9d456e286 FC qlnativefc vmhba67 aqn:qlnativefc:2100f4e9d456e287 FC qlnativefc
-
Überprüfen Sie, ob die NVMe/FC-Namespaces ordnungsgemäß erstellt wurden:
Die UUIDs im folgenden Beispiel repräsentieren die NVMe/FC Namespace-Geräte.
# esxcfg-mpath -b uuid.116cb7ed9e574a0faf35ac2ec115969d : NVMe Fibre Channel Disk (uuid.116cb7ed9e574a0faf35ac2ec115969d) vmhba64:C0:T0:L5 LUN:5 state:active fc Adapter: WWNN: 20:00:00:24:ff:7f:4a:50 WWPN: 21:00:00:24:ff:7f:4a:50 Target: WWNN: 20:04:d0:39:ea:3a:b2:1f WWPN: 20:05:d0:39:ea:3a:b2:1f vmhba64:C0:T1:L5 LUN:5 state:active fc Adapter: WWNN: 20:00:00:24:ff:7f:4a:50 WWPN: 21:00:00:24:ff:7f:4a:50 Target: WWNN: 20:04:d0:39:ea:3a:b2:1f WWPN: 20:07:d0:39:ea:3a:b2:1f vmhba65:C0:T1:L5 LUN:5 state:active fc Adapter: WWNN: 20:00:00:24:ff:7f:4a:51 WWPN: 21:00:00:24:ff:7f:4a:51 Target: WWNN: 20:04:d0:39:ea:3a:b2:1f WWPN: 20:08:d0:39:ea:3a:b2:1f vmhba65:C0:T0:L5 LUN:5 state:active fc Adapter: WWNN: 20:00:00:24:ff:7f:4a:51 WWPN: 21:00:00:24:ff:7f:4a:51 Target: WWNN: 20:04:d0:39:ea:3a:b2:1f WWPN: 20:06:d0:39:ea:3a:b2:1f
In ONTAP 9.7 beträgt die Standardblockgröße für einen NVMe/FC-Namespace 4 KB. Diese Standardgröße ist nicht mit ESXi kompatibel. Daher müssen Sie beim Erstellen von Namespaces für ESXi die Namespace-Blockgröße auf 512B setzen. Sie können dies mit dem tun
vserver nvme namespace create
Befehl.Beispiel:
vserver nvme namespace create -vserver vs_1 -path /vol/nsvol/namespace1 -size 100g -ostype vmware -block-size 512B
Siehe "ONTAP 9 Befehlsman-Pages" Entnehmen.
-
Überprüfen Sie den Status der einzelnen ANA-Pfade der jeweiligen NVMe/FC-Namespace-Geräte:
# esxcli storage hpp path list -d uuid.df960bebb5a74a3eaaa1ae55e6b3411d fc.20000024ff7f4a50:21000024ff7f4a50-fc.2004d039ea3ab21f:2005d039ea3ab21f-uuid.df960bebb5a74a3eaaa1ae55e6b3411d Runtime Name: vmhba64:C0:T0:L3 Device: uuid.df960bebb5a74a3eaaa1ae55e6b3411d Device Display Name: NVMe Fibre Channel Disk (uuid.df960bebb5a74a3eaaa1ae55e6b3411d) Path State: active unoptimized Path Config: {ANA_GRP_id=4,ANA_GRP_state=ANO,health=UP} fc.20000024ff7f4a51:21000024ff7f4a51-fc.2004d039ea3ab21f:2008d039ea3ab21f-uuid.df960bebb5a74a3eaaa1ae55e6b3411d Runtime Name: vmhba65:C0:T1:L3 Device: uuid.df960bebb5a74a3eaaa1ae55e6b3411d Device Display Name: NVMe Fibre Channel Disk (uuid.df960bebb5a74a3eaaa1ae55e6b3411d) Path State: active Path Config: {ANA_GRP_id=4,ANA_GRP_state=AO,health=UP} fc.20000024ff7f4a51:21000024ff7f4a51-fc.2004d039ea3ab21f:2006d039ea3ab21f-uuid.df960bebb5a74a3eaaa1ae55e6b3411d Runtime Name: vmhba65:C0:T0:L3 Device: uuid.df960bebb5a74a3eaaa1ae55e6b3411d Device Display Name: NVMe Fibre Channel Disk (uuid.df960bebb5a74a3eaaa1ae55e6b3411d) Path State: active unoptimized Path Config: {ANA_GRP_id=4,ANA_GRP_state=ANO,health=UP} fc.20000024ff7f4a50:21000024ff7f4a50-fc.2004d039ea3ab21f:2007d039ea3ab21f-uuid.df960bebb5a74a3eaaa1ae55e6b3411d Runtime Name: vmhba64:C0:T1:L3 Device: uuid.df960bebb5a74a3eaaa1ae55e6b3411d Device Display Name: NVMe Fibre Channel Disk (uuid.df960bebb5a74a3eaaa1ae55e6b3411d) Path State: active Path Config: {ANA_GRP_id=4,ANA_GRP_state=AO,health=UP}
Konfiguration von NVMe/TCP
In ESXi 8.x werden die erforderlichen NVMe/TCP-Module standardmäßig geladen. Informationen zur Konfiguration des Netzwerks und des NVMe/TCP-Adapters finden Sie in der VMware vSphere-Dokumentation.
NVMe/TCP validieren
Zur Validierung von NVMe/TCP gehen Sie wie folgt vor.
-
Überprüfen Sie den Status des NVMe/TCP-Adapters:
esxcli nvme adapter list
Beispielausgabe:
Adapter Adapter Qualified Name Transport Type Driver Associated Devices ------- ------------------------------- -------------- ------- ------------------ vmhba65 aqn:nvmetcp:ec-2a-72-0f-e2-30-T TCP nvmetcp vmnic0 vmhba66 aqn:nvmetcp:34-80-0d-30-d1-a0-T TCP nvmetcp vmnic2 vmhba67 aqn:nvmetcp:34-80-0d-30-d1-a1-T TCP nvmetcp vmnic3
-
Liste der NVMe/TCP-Verbindungen abrufen:
esxcli nvme controller list
Beispielausgabe:
Name Controller Number Adapter Transport Type Is Online Is VVOL --------------------------------------------------------------------------------------------------------- ----------------- ------- nqn.2014-08.org.nvmexpress.discovery#vmhba64#192.168.100.166:8009 256 vmhba64 TCP true false nqn.1992-08.com.netapp:sn.89bb1a28a89a11ed8a88d039ea263f93:subsystem.nvme_ss#vmhba64#192.168.100.165:4420 258 vmhba64 TCP true false nqn.1992-08.com.netapp:sn.89bb1a28a89a11ed8a88d039ea263f93:subsystem.nvme_ss#vmhba64#192.168.100.168:4420 259 vmhba64 TCP true false nqn.1992-08.com.netapp:sn.89bb1a28a89a11ed8a88d039ea263f93:subsystem.nvme_ss#vmhba64#192.168.100.166:4420 260 vmhba64 TCP true false nqn.2014-08.org.nvmexpress.discovery#vmhba64#192.168.100.165:8009 261 vmhba64 TCP true false nqn.2014-08.org.nvmexpress.discovery#vmhba65#192.168.100.155:8009 262 vmhba65 TCP true false nqn.1992-08.com.netapp:sn.89bb1a28a89a11ed8a88d039ea263f93:subsystem.nvme_ss#vmhba64#192.168.100.167:4420 264 vmhba64 TCP true false
-
Liste der Pfade zu einem NVMe-Namespace abrufen:
esxcli storage hpp path list -d uuid.f4f14337c3ad4a639edf0e21de8b88bf
Beispielausgabe:
tcp.vmnic2:34:80:0d:30:ca:e0-tcp.192.168.100.165:4420-uuid.f4f14337c3ad4a639edf0e21de8b88bf Runtime Name: vmhba64:C0:T0:L5 Device: uuid.f4f14337c3ad4a639edf0e21de8b88bf Device Display Name: NVMe TCP Disk (uuid.f4f14337c3ad4a639edf0e21de8b88bf) Path State: active Path Config: {ANA_GRP_id=6,ANA_GRP_state=AO,health=UP} tcp.vmnic2:34:80:0d:30:ca:e0-tcp.192.168.100.168:4420-uuid.f4f14337c3ad4a639edf0e21de8b88bf Runtime Name: vmhba64:C0:T3:L5 Device: uuid.f4f14337c3ad4a639edf0e21de8b88bf Device Display Name: NVMe TCP Disk (uuid.f4f14337c3ad4a639edf0e21de8b88bf) Path State: active unoptimized Path Config: {ANA_GRP_id=6,ANA_GRP_state=ANO,health=UP} tcp.vmnic2:34:80:0d:30:ca:e0-tcp.192.168.100.166:4420-uuid.f4f14337c3ad4a639edf0e21de8b88bf Runtime Name: vmhba64:C0:T2:L5 Device: uuid.f4f14337c3ad4a639edf0e21de8b88bf Device Display Name: NVMe TCP Disk (uuid.f4f14337c3ad4a639edf0e21de8b88bf) Path State: active unoptimized Path Config: {ANA_GRP_id=6,ANA_GRP_state=ANO,health=UP} tcp.vmnic2:34:80:0d:30:ca:e0-tcp.192.168.100.167:4420-uuid.f4f14337c3ad4a639edf0e21de8b88bf Runtime Name: vmhba64:C0:T1:L5 Device: uuid.f4f14337c3ad4a639edf0e21de8b88bf Device Display Name: NVMe TCP Disk (uuid.f4f14337c3ad4a639edf0e21de8b88bf) Path State: active Path Config: {ANA_GRP_id=6,ANA_GRP_state=AO,health=UP}
Aktivieren Sie die Speicherplatzzuweisung
Die Speicherplatzzuweisung wird für ESXi 8.x und höher unterstützt.
Wenn die Speicherplatzzuweisung aktiviert ist und einem Namespace der Speicherplatz ausgeht, kommuniziert ONTAP mit dem Host, dass kein freier Speicherplatz für Schreibvorgänge verfügbar ist. Der Namespace bleibt online und Lesevorgänge werden weiter verarbeitet. Die Schreibvorgänge werden wieder aufgenommen, sobald zusätzlicher freier Speicherplatz verfügbar wird. Die Platzzuweisung erlaubt dem Host auch Operationen durchzuführen UNMAP
(manchmal auch genannt TRIM
). Durch UNMAP-Vorgänge kann ein Host Datenblöcke identifizieren, die nicht mehr benötigt werden, da sie keine gültigen Daten mehr enthalten. Das Storage-System kann diese Datenblöcke dann Zuordnung aufheben, sodass der Speicherplatz an anderer Stelle verbraucht werden kann.
"Aktivieren Sie die Speicherplatzzuweisung auf Ihrem ONTAP Storage-System". Dann sollten Sie die folgenden Schritte auf Ihrem ESXi-Host durchführen.
-
Stellen Sie auf Ihrem ESXi-Host sicher, dass DSM deaktiviert ist:
esxcfg-advcfg -g /SCSi/NVmeUseDsmTp4040
Der erwartete Wert ist 0.
-
Aktivieren Sie NVMe DSM:
esxcfg-advcfg -s 1 /Scsi/NvmeUseDsmTp4040
-
Stellen Sie sicher, dass DSM aktiviert ist:
esxcfg-advcfg -g /SCSi/NVmeUseDsmTp4040
Der erwartete Wert ist 1.
Bekannte Probleme
Die NVMe-of Hostkonfiguration für ESXi 8.x mit ONTAP weist folgende bekannte Probleme auf:
NetApp Bug ID | Titel | Beschreibung |
---|---|---|
ONTAP Node ist nicht betriebsbereit, wenn das NVMe/FC-Protokoll mit ONTAP Version 9.9.1 verwendet wird |
ONTAP 9.9.1 unterstützt jetzt den NVMe Befehl „abort“. Wenn ONTAP den Befehl „Abbrechen“ erhält, um einen mit NVMe fusionierten Befehl abzubrechen, der auf seinen Partnerbefehl wartet, tritt eine ONTAP Node-Unterbrechung auf. Das Problem wird nur bei Hosts bemerkt, die abgesicherte NVMe Befehle (z. B. ESX) und Fibre Channel (FC) verwenden. |
|
1543660 |
I/O-Fehler tritt auf, wenn bei Linux VMs mit vNVMe Adaptern lange alle Pfade ausfallen (APD) |
Linux-VMs, die vSphere 8.x und höher ausführen und virtuelle NVMe-Adapter (vNVME) verwenden, stoßen auf einen I/O-Fehler, da der vNVMe-Wiederholungsvorgang standardmäßig deaktiviert ist. Um eine Unterbrechung bei Linux VMs zu vermeiden, auf denen ältere Kernel während einer Alle Pfade unten (APD) ausgeführt werden, oder eine hohe I/O-Last zu vermeiden, hat VMware eine abstimmbare „VSCSIDisableNvmeRetry“ eingeführt, um den vNVMe-Wiederholungsvorgang zu deaktivieren. |