NVMe/FC-Hostkonfiguration für RHEL 8.2 mit ONTAP
NVMe/FC wird für Red hat Enterprise Linux (RHEL) 8.2 unter ONTAP 9.6 oder höher unterstützt. Auf dem RHEL 8.2 Host werden sowohl NVMe- als auch SCSI-Datenverkehr über dieselben FC-Initiator-Adapter-Ports (Fibre Channel) ausgeführt. Siehe "Hardware Universe" Für eine Liste der unterstützten FC-Adapter und Controller.
Siehe "NetApp Interoperabilitäts-Matrix-Tool" Hier finden Sie die aktuelle Liste der unterstützten Konfigurationen.
Funktionen
-
Ab RHEL 8.2
nvme-fc auto-connect
sind Skripte im nativen Paket enthaltennvme-cli
. Sie können diese nativen automatischen Verbindungsskripte verwenden, anstatt die von einem externen Anbieter bereitgestellten autom. Verbindungsskripte installieren zu müssen. -
Ab RHEL 8.2, einem nativen
udev
Regel ist bereits als Teil des angegebennvme-cli
Paket, das Lastverteilung für NVMe Multipath nach dem Round Robin-Verfahren ermöglicht Sie müssen diese Regel nicht mehr manuell erstellen (wie in RHEL 8.1 ausgeführt). -
Ab RHEL 8.2 kann sowohl NVMe- als auch SCSI-Datenverkehr auf demselben vorhandenen Host ausgeführt werden. Dies ist die erwartete bereitgestellte Hostkonfiguration. Daher können Sie für SCSI konfigurieren
dm-multipath
Wie üblich bei SCSI LUNs führt dies zumpath
Geräte, wohingegen NVMe Multipath verwendet werden kann, um NVMe-of Multipath-Geräte auf dem Host zu konfigurieren. -
Ab RHEL 8.2 ist das NetApp-Plug-in im nativen System integriert
nvme-cli
Das Paket kann ONTAP-Details für ONTAP-Namespaces anzeigen.
Bekannte Einschränkungen
-
Für RHEL 8.2 ist NVMe Multipath im Kernel standardmäßig deaktiviert. Deshalb müssen Sie sie manuell aktivieren.
-
Das Booten von SAN über das NVMe-of-Protokoll wird derzeit nicht unterstützt.
NVMe/FC aktivieren
Wie folgt vorgehen, um NVMe/FC zu aktivieren.
-
Installieren Sie Red hat Enterprise Linux 8.2 GA auf dem Server.
-
Wenn Sie ein Upgrade von RHEL 8.1 auf RHEL 8.2 mit durchführen
yum update/upgrade
, Ihr/etc/nvme/host*
Dateien können verloren gehen. Um den Dateiverlust zu vermeiden, gehen Sie wie folgt vor:-
Sichern Sie Ihre Daten
/etc/nvme/host*
Dateien: -
Wenn Sie eine manuelle Bearbeitung haben
udev
Regel entfernen:/lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules
-
Führen Sie das Upgrade durch.
-
Führen Sie nach Abschluss des Upgrades den folgenden Befehl aus:
yum remove nvme-cli
-
Stellen Sie die Host-Dateien unter wieder her
/etc/nvme/
.yum install nvmecli
-
Kopieren Sie das Original
/etc/nvme/host*
Inhalt vom Backup zu den eigentlichen Host-Dateien unter/etc/nvme/
.
-
-
Überprüfen Sie nach Abschluss der Installation, ob Sie den angegebenen Red hat Enterprise Linux-Kernel ausführen.
# uname -r 4.18.0-193.el8.x86_64
Siehe "NetApp Interoperabilitäts-Matrix-Tool" Erhalten Sie auf der aktuellen Liste der unterstützten Versionen.
-
Installieren Sie das nvme-cli-Paket.
# rpm -qa|grep nvme-cli nvme-cli-1.9.5.el8.x86_64
-
NVMe Multipath im Kernel aktivieren
# grubby –args=nvme_core.multipath=Y –update-kernel /boot/vmlinuz-4.18.0-193.el8.x86_64
-
Überprüfen Sie auf dem RHEL 8.2-Host die NQN-Hostzeichenfolge unter
/etc/nvme/hostnqn
Und überprüfen Sie, ob es mit der NQN-Zeichenfolge des Hosts für das entsprechende Subsystem auf dem ONTAP-Array übereinstimmt.# cat /etc/nvme/hostnqn nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1 ::> vserver nvme subsystem host show -vserver vs_fcnvme_141 Vserver Subsystem Host NQN ----------- --------------- ----------- --------------- vs_fcnvme_141 nvme_141_1 nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
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.
-
Aktualisieren Sie die
enable_foreign
Einstellung (optional).Wenn Sie sowohl NVMe- als auch SCSI-Datenverkehr auf demselben vorhandenen RHEL 8.2 Host ausführen möchten, empfiehlt NetApp die Verwendung von NVMe Multipath im Kernel für ONTAP-Namespaces bzw. dm-Multipath für ONTAP-LUNs. Sie sollten auch die ONTAP-Namespaces in dm-Multipath auf eine Blacklist setzen, um zu verhindern, dass dm-Multipath diese Namespace-Geräte beansprucht. Sie können dies tun, indem Sie die hinzufügen
enable_foreign
Einstellung auf/etc/multipath.conf
, Wie unten gezeigt.# cat /etc/multipath.conf defaults { enable_foreign NONE }
-
Starten Sie den Multipathd-Daemon neu, indem Sie ein ausführen
systemctl restart multipathd
.
Konfigurieren Sie den Broadcom FC-Adapter für NVMe/FC
Sie können den Broadcom-FC-Adapter wie folgt konfigurieren.
Die aktuelle Liste der unterstützten Adapter finden Sie im "NetApp Interoperabilitäts-Matrix-Tool".
-
Vergewissern Sie sich, dass Sie den unterstützten Adapter verwenden.
# 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
-
Verifizieren Sie das
lpfc_enable_fc4_type
Wird auf „3“ gesetzt.# cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type 3
-
Überprüfen Sie, ob die Initiator-Ports aktiv sind und die Ziel-LIFs sehen können.
# cat /sys/class/fc_host/host*/port_name 0x100000109b1c1204 0x100000109b1c1205
# cat /sys/class/fc_host/host*/port_state Online Online
# cat /sys/class/scsi_host/host*/nvme_info NVME Initiator Enabled XRI Dist lpfc0 Total 6144 IO 5894 ELS 250 NVME LPORT lpfc0 WWPN x100000109b1c1204 WWNN x200000109b1c1204 DID x011d00 ONLINE NVME RPORT WWPN x203800a098dfdd91 WWNN x203700a098dfdd91 DID x010c07 TARGET DISCSRVC ONLINE NVME RPORT WWPN x203900a098dfdd91 WWNN x203700a098dfdd91 DID x011507 TARGET DISCSRVC ONLINE NVME Statistics LS: Xmt 0000000f78 Cmpl 0000000f78 Abort 00000000 LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000 Total FCP Cmpl 000000002fe29bba Issue 000000002fe29bc4 OutIO 000000000000000a abort 00001bc7 noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000 FCP CMPL: xb 00001e15 Err 0000d906 NVME Initiator Enabled XRI Dist lpfc1 Total 6144 IO 5894 ELS 250 NVME LPORT lpfc1 WWPN x100000109b1c1205 WWNN x200000109b1c1205 DID x011900 ONLINE NVME RPORT WWPN x203d00a098dfdd91 WWNN x203700a098dfdd91 DID x010007 TARGET DISCSRVC ONLINE NVME RPORT WWPN x203a00a098dfdd91 WWNN x203700a098dfdd91 DID x012a07 TARGET DISCSRVC ONLINE NVME Statistics LS: Xmt 0000000fa8 Cmpl 0000000fa8 Abort 00000000 LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000 Total FCP Cmpl 000000002e14f170 Issue 000000002e14f17a OutIO 000000000000000a abort 000016bb noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000 FCP CMPL: xb 00001f50 Err 0000d9f8
-
1 MB I/O-Größe _ (optional)_ aktivieren.
Der
lpfc_sg_seg_cnt
Der Parameter muss auf 256 gesetzt werden, damit der lpfc-Treiber E/A-Anforderungen bis 1 MB groß ausgibt.# cat /etc/modprobe.d/lpfc.conf options lpfc lpfc_sg_seg_cnt=256
-
Führen Sie den Befehl aus
dracut -f
und starten Sie den Host neu. -
Nachdem der Host gestartet wurde, vergewissern Sie sich, dass lpfc_sg_seg_cnt auf 256 eingestellt ist.
# cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt 256
-
Stellen Sie sicher, dass Sie die empfohlene Broadcom lpfc-Firmware sowie den Inbox-Treiber verwenden.
# cat /sys/class/scsi_host/host*/fwrev 12.6.182.8, sli-4:2:c 12.6.182.8, sli-4:2:c
# cat /sys/module/lpfc/version 0:12.6.0.2
-
Verifizieren Sie das
lpfc_enable_fc4_type
Wird auf „3“ gesetzt.# cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type 3
-
Überprüfen Sie, ob die Initiator-Ports aktiv sind und die Ziel-LIFs sehen können.
# cat /sys/class/fc_host/host*/port_name 0x100000109b1c1204 0x100000109b1c1205
# cat /sys/class/fc_host/host*/port_state Online Online
# cat /sys/class/scsi_host/host*/nvme_info NVME Initiator Enabled XRI Dist lpfc0 Total 6144 IO 5894 ELS 250 NVME LPORT lpfc0 WWPN x100000109b1c1204 WWNN x200000109b1c1204 DID x011d00 ONLINE NVME RPORT WWPN x203800a098dfdd91 WWNN x203700a098dfdd91 DID x010c07 TARGET DISCSRVC ONLINE NVME RPORT WWPN x203900a098dfdd91 WWNN x203700a098dfdd91 DID x011507 TARGET DISCSRVC ONLINE NVME Statistics LS: Xmt 0000000f78 Cmpl 0000000f78 Abort 00000000 LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000 Total FCP Cmpl 000000002fe29bba Issue 000000002fe29bc4 OutIO 000000000000000a abort 00001bc7 noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000 FCP CMPL: xb 00001e15 Err 0000d906 NVME Initiator Enabled XRI Dist lpfc1 Total 6144 IO 5894 ELS 250 NVME LPORT lpfc1 WWPN x100000109b1c1205 WWNN x200000109b1c1205 DID x011900 ONLINE NVME RPORT WWPN x203d00a098dfdd91 WWNN x203700a098dfdd91 DID x010007 TARGET DISCSRVC ONLINE NVME RPORT WWPN x203a00a098dfdd91 WWNN x203700a098dfdd91 DID x012a07 TARGET DISCSRVC ONLINE NVME Statistics LS: Xmt 0000000fa8 Cmpl 0000000fa8 Abort 00000000 LS XMIT: Err 00000000 CMPL: xb 00000000 Err 00000000 Total FCP Cmpl 000000002e14f170 Issue 000000002e14f17a OutIO 000000000000000a abort 000016bb noxri 00000000 nondlp 00000000 qdepth 00000000 wqerr 00000000 err 00000000 FCP CMPL: xb 00001f50 Err 0000d9f8
-
1 MB I/O-Größe _ (optional)_ aktivieren.
Der
lpfc_sg_seg_cnt
Der Parameter muss auf 256 gesetzt werden, damit der lpfc-Treiber E/A-Anforderungen bis 1 MB groß ausgibt.# cat /etc/modprobe.d/lpfc.conf options lpfc lpfc_sg_seg_cnt=256
-
Führen Sie den Befehl aus
dracut -f
und starten Sie den Host neu. -
Nachdem der Host gestartet wurde, vergewissern Sie sich, dass lpfc_sg_seg_cnt auf 256 eingestellt ist.
# cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt 256
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 } ]