NVMe/FC-Hostkonfiguration für RHEL 8.1 mit ONTAP
Ab ONTAP 9.6 wird NVMe/FC für Red hat Enterprise Linux (RHEL) 8.1 unterstützt. Auf einem RHEL 8.1 Host kann sowohl NVMe- als auch SCSI-Datenverkehr über dieselben FC-Initiator-Adapter-Ports ausgeführt werden. Eine Liste der unterstützten FC-Adapter und Controller finden Sie im "Hardware Universe" .
Die aktuelle Liste der unterstützten Konfigurationen finden Sie im"Interoperabilitäts-Matrix-Tool".
Bekannte Einschränkungen
-
Im befinden sich keine nativen NVMe/FC-Skripts für die automatische Verbindung
nvme-cli
Paket. Sie können das vom Anbieter bereitgestellte externe Auto-Connect-Skript des Host Bus Adapters (HBA) verwenden. -
NVMe Multipath ist standardmäßig deaktiviert. Deshalb müssen Sie sie manuell aktivieren.
-
Standardmäßig ist der Round-Robin-Lastenausgleich nicht aktiviert. Sie können diese Funktion aktivieren, indem Sie einen schreiben
udev
Regel. -
Das Booten von SAN über das NVMe-of-Protokoll wird derzeit nicht unterstützt.
Aktivieren Sie das Booten über SAN
Sie können Ihren Host so konfigurieren, dass er SAN-Booting verwendet, um die Bereitstellung zu vereinfachen und die Skalierbarkeit zu verbessern.
Überprüfen Sie mithilfe des"Interoperabilitäts-Matrix-Tool", ob Ihr Linux-Betriebssystem, Ihr Host Bus Adapter (HBA), die HBA-Firmware, das HBA-Boot-BIOS und die ONTAP-Version das Booten über das SAN unterstützen.
-
Erstellen Sie einen SAN-Boot-Namespace und ordnen Sie ihn dem Host zu.
-
Aktivieren Sie das SAN-Booten im Server-BIOS für die Ports, denen die SAN-Boot-LUN zugeordnet ist.
Informationen zum Aktivieren des HBA-BIOS finden Sie in der anbieterspezifischen Dokumentation.
-
Überprüfen Sie, ob die Konfiguration erfolgreich war, indem Sie den Host neu starten und überprüfen, ob das Betriebssystem ausgeführt wird.
NVMe/FC aktivieren
Wie folgt vorgehen, um NVMe/FC zu aktivieren.
-
Installieren Sie Red hat Enterprise Linux 8.1 auf dem Server.
-
Überprüfen Sie nach Abschluss der Installation, ob Sie den angegebenen RHEL-Kernel ausführen:
# uname -r 4.18.0-147.el8.x86_64
Die aktuelle Liste der unterstützten Versionen finden Sie im"Interoperabilitäts-Matrix-Tool".
-
Installieren Sie den
nvme-cli-1.8.1-3.el8
Paket:# rpm -qa|grep nvme-cli 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 NQN-Hostzeichenfolge unter
/etc/nvme/hostnqn
Und überprüfen Sie, ob es mit der Host-NQN-Zeichenfolge für das entsprechende Subsystem auf dem ONTAP-Array übereinstimmt:# cat /etc/nvme/hostnqn nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
*> 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 modify
Befehl zum Aktualisieren der Host-NQN-Zeichenfolge auf dem entsprechenden ONTAP-Array-Subsystem, um mit der Host-NQN-Zeichenfolge von zu übereinstimmen/etc/nvme/hostnqn
Auf dem Host. -
Starten Sie den Host neu.
Konfigurieren Sie den Broadcom FC-Adapter für NVMe/FC
Sie können den Broadcom-FC-Adapter wie folgt konfigurieren.
-
Vergewissern Sie sich, dass Sie den unterstützten Adapter verwenden. Eine aktuelle Liste der unterstützten Adapter finden Sie im"Interoperabilitäts-Matrix-Tool".
# cat /sys/class/scsi_host/host*/modelname LPe32002-M2 LPe32002-M2
# cat /sys/class/scsi_host/host*/modeldesc 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 -n
Die 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.
-
Überprüfen Sie, ob Sie die empfohlene Broadcom lpfc-Firmware, den Outbox-Treiber und die Auto-connect-Paketversionen verwenden:
# cat /sys/class/scsi_host/host*/fwrev 12.4.243.20, sil-4.2.c 12.4.243.20, sil-4.2.c
# cat /sys/module/lpfc/version 0:12.4.243.20
# rpm -qa | grep nvmefc nvmefc-connect-12.6.61.0-1.noarch
-
Verifizieren Sie das
lpfc_enable_fc4_type
Ist auf 3 eingestellt:# cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type 3
-
Vergewissern Sie sich, dass die Initiator-Ports ausgeführt werden:
# cat /sys/class/fc_host/host*/port_name 0x10000090fae0ec61 0x10000090fae0ec62
# cat /sys/class/fc_host/host*/port_state Online Online
-
Vergewissern Sie sich, dass die NVMe/FC-Initiator-Ports aktiviert sind und ausgeführt werden. Außerdem werden die Ziel-LIFs angezeigt:
# cat /sys/class/scsi_host/host*/nvme_info 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 …
Aktivieren Sie 1 MB I/O-Größe für Broadcom NVMe/FC
ONTAP meldet eine MDTS (MAX Data-Übertragungsgröße) von 8 in den Identifizieren von Controller-Daten. Das bedeutet, dass die maximale E/A-Anforderungsgröße bis zu 1 MB betragen kann. Um I/O-Anforderungen der Größe 1 MB für einen Broadcom-NVMe/FC-Host auszustellen, sollten Sie den Wert des lpfc_sg_seg_cnt
Parameters ab dem Standardwert 64 auf 256 erhöhen lpfc
.
|
Diese Schritte gelten nicht für Qlogic NVMe/FC-Hosts. |
-
Setzen Sie den
lpfc_sg_seg_cnt
Parameter auf 256:cat /etc/modprobe.d/lpfc.conf
Sie 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_cnt
256 lautet:cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt
NVMe/FC validieren
Folgende Verfahren stehen zur Validierung von NVMe/FC zur Verfügung:
-
Überprüfen Sie die folgenden NVMe/FC-Einstellungen.
# cat /sys/module/nvme_core/parameters/multipath Y
# cat /sys/class/nvme-subsystem/nvme-subsys*/model NetApp ONTAP Controller NetApp ONTAP Controller
# cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicy round-robin round-robin
-
Vergewissern Sie sich, dass die Namespaces erstellt wurden.
# nvme list 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 den Status der ANA-Pfade.
# nvme list-subsys/dev/nvme0n1 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
-
Überprüfen Sie das NetApp Plug-in für ONTAP Geräte.
# nvme netapp ontapdevices -o column 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 # nvme netapp ontapdevices -o json { "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 } ]