Konfigurieren Sie RHEL 8.1 für NVMe-oF mit ONTAP Speicher
Red Hat Enterprise Linux (RHEL)-Hosts unterstützen die Protokolle NVMe over Fibre Channel (NVMe/FC) und NVMe over TCP (NVMe/TCP) mit Asymmetric Namespace Access (ANA). ANA bietet Multipathing-Funktionalität, die dem asymmetrischen logischen Einheitenzugriff (ALUA) in iSCSI- und FCP-Umgebungen entspricht.
Erfahren Sie, wie Sie NVMe over Fabrics (NVMe-oF)-Hosts für RHEL 8.1 konfigurieren. Weitere Informationen zu Support und Funktionen finden Sie unter"NVME-oF-Übersicht" .
NVMe-oF mit RHEL 8.1 weist die folgenden bekannten Einschränkungen auf:
-
SAN-Booten mit dem NVMe-oF-Protokoll wird derzeit nicht unterstützt.
-
In-Kernel-NVMe-Multipath ist auf NVMe-oF-Hosts in RHEL 8.1 standardmäßig deaktiviert, Sie müssen es daher manuell aktivieren.
-
Der Eingeborene
nvme-cliPaket beinhaltet nichtnvme-fc auto-connectSkripte. Sie können das vom Anbieter des Hostbusadapters (HBA) bereitgestellte externe Auto-Connect-Skript verwenden. -
Standardmäßig ist Round-Robin-Lastausgleich nicht aktiviert. Sie können es aktivieren, indem Sie eine
udevRegel.
Schritt 1: Aktivieren Sie optional den SAN-Bootvorgang
Sie können Ihren Host für die Verwendung von SAN-Boot konfigurieren, um die Bereitstellung zu vereinfachen und die Skalierbarkeit zu verbessern. Verwenden Sie die"Interoperabilitäts-Matrix-Tool" um zu überprüfen, ob Ihr Linux-Betriebssystem, Ihr Hostbusadapter (HBA), Ihre HBA-Firmware, Ihr HBA-Boot-BIOS und ONTAP -Version das SAN-Booten unterstützen.
-
"Erstellen Sie einen NVMe-Namespace und ordnen Sie ihn dem Host zu" .
-
Aktivieren Sie das SAN-Booten im Server-BIOS für die Ports, denen der SAN-Boot-Namespace zugeordnet ist.
Informationen zum Aktivieren des HBA-BIOS finden Sie in der anbieterspezifischen Dokumentation.
-
Starten Sie den Host neu und überprüfen Sie, ob das Betriebssystem läuft.
Schritt 2: Überprüfen der Softwareversion und der NVMe-Konfiguration
Überprüfen Sie, ob Ihr System die Softwareanforderungen erfüllt, und überprüfen Sie die NVMe-Paketinstallationen und die Hostkonfiguration.
-
Installieren Sie RHEL 8.1 auf dem Server. Überprüfen Sie nach Abschluss der Installation, ob Sie den erforderlichen RHEL 8.1-Kernel ausführen:
uname -rBeispiel für eine RHEL-Kernelversion:
4.18.0-147.el8.x86_64
-
Installieren Sie den
nvme-cli-1.8.1-3.el8Paket:rpm -qa|grep nvme-cliDas folgende Beispiel zeigt eine nvme-cli-Paketversion:
nvme-cli-1.8.1-3.el8.x86_64
-
Unterstützung für NVMe Multipath im Kernel:
grubby –args=nvme_core.multipath=Y –update-kernel /boot/vmlinuz-4.18.0-147.el8.x86_64 -
Fügen Sie die folgende Zeichenfolge als separate udev-Regel bei hinzu
/lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules. Dies ermöglicht Round-Robin-Load-Balancing für NVMe Multipath:Enable round-robin for NetApp ONTAP ACTION==”add”, SUBSYSTEM==”nvme-subsystem”, ATTR{model}==”NetApp ONTAP Controller”, ATTR{iopolicy}=”round-robin -
Überprüfen Sie auf dem RHEL 8.1-Host die Host-NQN-Zeichenfolge unter
/etc/nvme/hostnqn:cat /etc/nvme/hostnqnDas folgende Beispiel zeigt eine Hostnqn-Zeichenfolge:
nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
-
Überprüfen Sie, ob die Host-NQN-Zeichenfolge mit der Host-NQN-Zeichenfolge für das entsprechende Subsystem auf dem ONTAP Array übereinstimmt:
vserver nvme subsystem host show -vserver vs_nvme_10Beispiel anzeigen
*> vserver nvme subsystem host show -vserver vs_nvme_10 Vserver Subsystem Host NQN ------- --------- -------------------------------------- ----------- rhel_141_nvme_ss_10_0 nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
Wenn die Host-NQN-Strings nicht übereinstimmen, verwenden Sie den vserver modifyBefehl zum Aktualisieren der Host-NQN-Zeichenfolge auf dem entsprechenden ONTAP-Array-Subsystem, um mit der Host-NQN-Zeichenfolge von zu übereinstimmen/etc/nvme/hostnqnAuf dem Host. -
Starten Sie den Host neu.
Schritt 3: Konfigurieren Sie NVMe/FC für Broadcom/Emulex
Sie können NVMe/FC für Broadcom/Emulex konfigurieren.
-
Stellen Sie sicher, dass Sie das unterstützte Adaptermodell verwenden:
-
Zeigen Sie die Modellnamen an:
cat /sys/class/scsi_host/host*/modelnameDie folgende Ausgabe sollte angezeigt werden:
LPe32002-M2 LPe32002-M2
-
Zeigen Sie die Modellbeschreibungen an:
cat /sys/class/scsi_host/host*/modeldescSie sollten eine Ausgabe ähnlich der folgenden sehen:
Emulex LightPulse LPe32002-M2 2-Port 32Gb Fibre Channel Adapter Emulex LightPulse LPe32002-M2 2-Port 32Gb Fibre Channel Adapter
-
-
Kopieren und installieren Sie den Broadcom lpfc-Outbox-Treiber und die Skripts für die automatische Verbindung:
tar -xvzf elx-lpfc-dd-rhel8-12.4.243.20-ds-1.tar.gz cd elx-lpfc-dd-rhel8-12.4.2453.20-ds-1 ./elx_lpfc_install-sh -i -nDie nativen Treiber, die mit dem Betriebssystem gebündelt sind, werden als Inbox-Treiber bezeichnet. Wenn Sie die Outbox-Treiber herunterladen (Treiber, die nicht im Lieferumfang eines Betriebssystemrelease enthalten sind), wird ein Auto-Connect-Skript im Download enthalten und sollte im Rahmen der Treiberinstallation installiert werden. -
Starten Sie den Host neu.
-
Stellen Sie sicher, dass Sie die empfohlenen Broadcom-Konfigurationen verwenden.
-
Überprüfen Sie die LPFC-Firmware:
cat /sys/class/scsi_host/host*/fwrevDie folgende Ausgabe sollte angezeigt werden:
12.4.243.20, sil-4.2.c 12.4.243.20, sil-4.2.c
-
Überprüfen Sie den Postausgangstreiber:
cat /sys/module/lpfc/versionDie folgende Ausgabe sollte angezeigt werden:
0:12.4.243.20
-
Überprüfen Sie die Versionen des Auto-Connect-Pakets:
rpm -qa | grep nvmefcDie folgende Ausgabe sollte angezeigt werden:
nvmefc-connect-12.6.61.0-1.noarch
-
-
Stellen Sie sicher, dass die erwartete Ausgabe von
lpfc_enable_fc4_typeauf eingestellt ist3:cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type -
Überprüfen Sie, ob die Initiator-Ports aktiv sind und die Ziel-LIFs sehen können:
cat /sys/class/fc_host/host*/port_nameSie sollten eine Ausgabe ähnlich der folgenden sehen:
0x10000090fae0ec61 0x10000090fae0ec62
-
Überprüfen Sie, ob Ihre Initiator-Ports online sind:
cat /sys/class/fc_host/host*/port_stateDie folgende Ausgabe sollte angezeigt werden:
Online Online
-
Vergewissern Sie sich, dass die NVMe/FC-Initiator-Ports aktiviert sind und die Ziel-Ports sichtbar sind:
cat /sys/class/scsi_host/host*/nvme_infoBeispiel anzeigen
NVME Initiator Enabled XRI Dist lpfc0 Total 6144 NVME 2947 SCSI 2977 ELS 250 NVME LPORT lpfc0 WWPN x10000090fae0ec61 WWNN x20000090fae0ec61 DID x012000 ONLINE NVME RPORT WWPN x202d00a098c80f09 WWNN x202c00a098c80f09 DID x010201 TARGET DISCSRVC ONLINE NVME RPORT WWPN x203100a098c80f09 WWNN x202c00a098c80f09 DID x010601 TARGET DISCSRVC ONLINE NVME Statistics
Schritt 4: Optional 1 MB I/O für NVMe/FC aktivieren
ONTAP meldet in den Identify Controller-Daten eine maximale Datenübertragungsgröße (MDTS) von 8. Dies bedeutet, dass die maximale E/A-Anforderungsgröße bis zu 1 MB betragen kann. Um E/A-Anfragen der Größe 1 MB für einen Broadcom NVMe/FC-Host auszugeben, sollten Sie die lpfc Wert des lpfc_sg_seg_cnt Parameter vom Standardwert 64 auf 256.
|
|
Diese Schritte gelten nicht für Qlogic NVMe/FC-Hosts. |
-
Setzen Sie den
lpfc_sg_seg_cntParameter auf 256:cat /etc/modprobe.d/lpfc.confSie sollten eine Ausgabe ähnlich dem folgenden Beispiel sehen:
options lpfc lpfc_sg_seg_cnt=256
-
Führen Sie den Befehl aus
dracut -f, und starten Sie den Host neu. -
Stellen Sie sicher, dass der Wert für
lpfc_sg_seg_cnt256 lautet:cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt
Schritt 5: NVMe-oF validieren
Vergewissern Sie sich, dass der in-Kernel-Multipath-Status, der ANA-Status und die ONTAP-Namespaces für die NVMe-of-Konfiguration richtig sind.
-
Vergewissern Sie sich, dass das in-Kernel NVMe Multipath aktiviert ist:
cat /sys/module/nvme_core/parameters/multipathDie folgende Ausgabe sollte angezeigt werden:
Y
-
Vergewissern Sie sich, dass die entsprechenden NVMe-of-Einstellungen (z. B. auf NetApp ONTAP-Controller gesetzt auf Modell und Load-Balancing-IOpolicy auf Round-Robin eingestellt) für die jeweiligen ONTAP-Namespaces den Host korrekt widerspiegeln:
-
Zeigen Sie die Subsysteme an:
cat /sys/class/nvme-subsystem/nvme-subsys*/modelDie folgende Ausgabe sollte angezeigt werden:
NetApp ONTAP Controller NetApp ONTAP Controller
-
Zeigen Sie die Richtlinie an:
cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicyDie folgende Ausgabe sollte angezeigt werden:
round-robin round-robin
-
-
Überprüfen Sie, ob die Namespaces auf dem Host erstellt und richtig erkannt wurden:
nvme listBeispiel anzeigen
Node SN Model Namespace Usage Format FW Rev ---------------- -------------------- ----------------------- /dev/nvme0n1 80BADBKnB/JvAAAAAAAC NetApp ONTAP Controller 1 53.69 GB / 53.69 GB 4 KiB + 0 B FFFFFFFF
-
Überprüfen Sie, ob der Controller-Status jedes Pfads aktiv ist und den korrekten ANA-Status aufweist:
nvme list-subsys /dev/nvme0n1Beispiel anzeigen
Nvme-subsysf0 – NQN=nqn.1992-08.com.netapp:sn.341541339b9511e8a9b500a098c80f09:subsystem.rhel_141_nvme_ss_10_0 \ +- nvme0 fc traddr=nn-0x202c00a098c80f09:pn-0x202d00a098c80f09 host_traddr=nn-0x20000090fae0ec61:pn-0x10000090fae0ec61 live optimized +- nvme1 fc traddr=nn-0x207300a098dfdd91:pn-0x207600a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live inaccessible +- nvme2 fc traddr=nn-0x207300a098dfdd91:pn-0x207500a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized +- nvme3 fc traddr=nn-0x207300a098dfdd91:pn-0x207700a098dfdd91 host traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live inaccessible
-
Vergewissern Sie sich, dass das NetApp Plug-in für jedes ONTAP Namespace-Gerät die richtigen Werte anzeigt:
Spaltenvme netapp ontapdevices -o columnBeispiel anzeigen
Device Vserver Namespace Path NSID UUID Size ------- -------- ------------------------- ------ ----- ----- /dev/nvme0n1 vs_nvme_10 /vol/rhel_141_vol_10_0/rhel_141_ns_10_0 1 55baf453-f629-4a18-9364-b6aee3f50dad 53.69GB
JSONnvme netapp ontapdevices -o jsonBeispiel anzeigen
{ "ONTAPdevices" : [ { Device" : "/dev/nvme0n1", "Vserver" : "vs_nvme_10", "Namespace_Path" : "/vol/rhel_141_vol_10_0/rhel_141_ns_10_0", "NSID" : 1, "UUID" : "55baf453-f629-4a18-9364-b6aee3f50dad", "Size" : "53.69GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 13107200 } ]
Schritt 6: Überprüfen Sie die bekannten Probleme
Es sind keine Probleme bekannt.