NVMe/FC-Hostkonfiguration für RHEL 8.3 mit ONTAP
NVMe/FC wird für Red hat Enterprise Linux (RHEL) 8.3 unter ONTAP 9.6 oder höher unterstützt. Auf dem RHEL 8.3 Host wird sowohl NVMe- als auch SCSI-Datenverkehr über dieselben FC-Initiator-Adapter-Ports 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
Diese Version enthält keine neuen Funktionen.
Bekannte Einschränkungen
-
Für RHEL 8.3 ist NVMe Multipath im Kernel standardmäßig deaktiviert. Sie können sie manuell aktivieren.
-
Das Booten von SAN über das NVMe-of-Protokoll wird derzeit nicht unterstützt.
NVMe/FC bei RHEL 8.3 aktivieren
Wie folgt vorgehen, um NVMe/FC zu aktivieren.
-
Installieren Sie Red hat Enterprise Linux 8.3 GA auf dem Server.
-
Wenn Sie ein Upgrade von RHEL 8.2 auf RHEL 8.3 mithilfe von durchführen
yum update/upgrade
Befehl, Ihr/etc/nvme/host*
Dateien können verloren gehen. Gehen Sie wie folgt vor, um Dateiverlust zu vermeiden:Beispielausgabe anzeigen
-
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 RHEL-Kernel ausführen:
# uname -r 4.18.0-240.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.12-2.el8.x86_64
-
NVMe Multipath im Kernel aktivieren
# grubby --args=nvme_core.multipath=Y --update-kernel /boot/vmlinuz-4.18.0-240.el8.x86_64
-
Überprüfen Sie auf dem RHEL 8.3-Host die NQN-Hostzeichenfolge unter
/etc/nvme/hostnqn
Vergewissern Sie sich, dass es mit der Host-NQN-Zeichenfolge für das entsprechende Subsystem auf dem ONTAP-Array übereinstimmt:# cat /etc/nvme/hostnqn
Beispielausgabe:
# cat /etc/nvme/hostnqn nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
-
Überprüfen Sie das
hostnqn
String stimmt mit der hostnqn-Zeichenfolge für das entsprechende Subsystem auf dem ONTAP-Array überein:vserver nvme subsystem host show -vserver vs_fcnvme_141
Beispielausgabe
::> 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 optional den
enable_foreign
Einstellung.Wenn Sie sowohl NVMe- als auch SCSI-Datenverkehr auf demselben vorhandenen RHEL 8.3 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
.
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
-
Stellen Sie sicher, dass die Namespaces erstellt und auf dem Host ordnungsgemäß erkannt wurden.
/dev/nvme0n1 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller 1 85.90 GB / 85.90 GB 4 KiB + 0 B FFFFFFFF /dev/nvme0n2 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller 2 85.90 GB / 85.90 GB 4 KiB + 0 B FFFFFFFF /dev/nvme0n3 814vWBNRwf9HAAAAAAAB NetApp ONTAP Controller 3 85.90 GB / 85.90 GB 4 KiB + 0 B FFFFFFFF
-
Überprüfen Sie den Status der ANA-Pfade.
# nvme list-subsys /dev/nvme0n1 nvme-subsys0 - NQN=nqn.1992-08.com.netapp:sn.5f5f2c4aa73b11e9967e00a098df41bd:subsystem.nvme_141_1 \ +- nvme0 fc traddr=nn-0x203700a098dfdd91:pn-0x203800a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live inaccessible +- nvme1 fc traddr=nn-0x203700a098dfdd91:pn-0x203900a098dfdd91 host_traddr=nn-0x200000109b1c1204:pn-0x100000109b1c1204 live inaccessible +- nvme2 fc traddr=nn-0x203700a098dfdd91:pn-0x203a00a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized +- nvme3 fc traddr=nn-0x203700a098dfdd91:pn-0x203d00a098dfdd91 host_traddr=nn-0x200000109b1c1205:pn-0x100000109b1c1205 live optimized
-
Überprüfen Sie das NetApp-Plug-in für ONTAP-Geräte:
Spalte# nvme netapp ontapdevices -o column
Beispielausgabe
Device Vserver Namespace Path NSID UUID Size --------------- --------------- --------------------------------------------- -------- -------------------------------------- --------- /dev/nvme0n1 vs_fcnvme_141 /vol/fcnvme_141_vol_1_1_0/fcnvme_141_ns 1 72b887b1-5fb6-47b8-be0b-33326e2542e2 85.90GB /dev/nvme0n2 vs_fcnvme_141 /vol/fcnvme_141_vol_1_0_0/fcnvme_141_ns 2 04bf9f6e-9031-40ea-99c7-a1a61b2d7d08 85.90GB /dev/nvme0n3 vs_fcnvme_141 /vol/fcnvme_141_vol_1_1_1/fcnvme_141_ns 3 264823b1-8e03-4155-80dd-e904237014a4 85.90GB
JSON# nvme netapp ontapdevices -o json
Beispielausgabe
{ "ONTAPdevices" : [ { "Device" : "/dev/nvme0n1", "Vserver" : "vs_fcnvme_141", "Namespace_Path" : "/vol/fcnvme_141_vol_1_1_0/fcnvme_141_ns", "NSID" : 1, "UUID" : "72b887b1-5fb6-47b8-be0b-33326e2542e2", "Size" : "85.90GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 20971520 }, { "Device" : "/dev/nvme0n2", "Vserver" : "vs_fcnvme_141", "Namespace_Path" : "/vol/fcnvme_141_vol_1_0_0/fcnvme_141_ns", "NSID" : 2, "UUID" : "04bf9f6e-9031-40ea-99c7-a1a61b2d7d08", "Size" : "85.90GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 20971520 }, { "Device" : "/dev/nvme0n3", "Vserver" : "vs_fcnvme_141", "Namespace_Path" : "/vol/fcnvme_141_vol_1_1_1/fcnvme_141_ns", "NSID" : 3, "UUID" : "264823b1-8e03-4155-80dd-e904237014a4", "Size" : "85.90GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 20971520 }, ]
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
-
Vergewissern Sie sich, dass Sie die empfohlene Broadcom lpfc-Firmware sowie den Inbox-Treiber verwenden:
# cat /sys/class/scsi_host/host*/fwrev 12.8.340.8, sli-4:2:c 12.8.340.8, sli-4:2:c
# cat /sys/module/lpfc/version 0:12.8.0.1