NVMe/FC-Host-Konfiguration für Oracle Linux 7.8 mit ONTAP
Sie können NVMe over Fibre Channel (NVMe/FC) auf Initiator-Hosts konfigurieren, auf denen Oracle Linux 7.8 und ONTAP als Ziel ausgeführt werden.
Instandhaltung
NVMe/FC wird auf ONTAP 9.6 oder höher für Oracle Linux 7.8 unterstützt. Auf dem Oracle Linux 7.8 Host kann sowohl NVMe- als auch SCSI-Datenverkehr über dieselben FC-Initiator-Adapter-Ports (Fibre Channel) ausgeführt werden. Beachten Sie, dass der Broadcom Initiator sowohl NVMe/FC- als auch FCP-Datenverkehr über dieselben FC-Adapter-Ports bedienen kann. Eine Liste der unterstützten FC-Adapter und Controller finden Sie im "Hardware Universe" . Die aktuelle Liste der unterstützten Konfigurationen finden Sie im "NetApp Interoperabilitätsmatrix".
Sie können die in diesem Dokument angegebenen Konfigurationseinstellungen verwenden, um die mit verbundenen Cloud-Clients zu konfigurieren "Cloud Volumes ONTAP" Und "Amazon FSX für ONTAP". |
Bekannte Einschränkungen
-
Native NVMe/FC-Skripte für automatische Verbindungen sind im nvme-cli-Paket nicht verfügbar. Verwenden Sie die vom HBA-Anbieter bereitgestellten externen Skripts zur automatischen Verbindung.
-
Round Robin Load Balancing ist standardmäßig nicht in NVMe Multipath aktiviert. Sie müssen eine udev-Regel schreiben, um diese Funktion zu aktivieren. Im Abschnitt zur Aktivierung von NVMe/FC auf Oracle Linux 7.8 werden Schritte beschrieben.
-
Es gibt keine Unterstützung für NVMe/FC und infolgedessen keine Unterstützung von Linux Unified Host Utilities (LUHU) für NVMe/FC auf Oracle Linux 7.8. Verwenden Sie die ONTAP-Befehlsausgabe als Teil des NetApp Plug-ins, das in der nativen nvme-cli enthalten ist.
-
Das Booten von SAN über das NVMe-of-Protokoll wird derzeit nicht unterstützt.
Unterstützung von NVMe/FC
-
Installieren Sie Oracle Linux 7.8 auf dem Server.
-
Stellen Sie nach Abschluss der Installation sicher, dass der unterstützte Unbreakable Enterprise Kernel ausgeführt wird. Siehe "NetApp Interoperabilitätsmatrix".
# uname -r 4.14.35-1902.9.2.el7uek
-
upgrade des nvme-cli-Pakets
# rpm -qa | grep nvme-cli nvme-cli-1.8.1-3.el7.x86_64
-
Fügen Sie die folgende Zeichenfolge als separate udev-Regel bei /lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules hinzu. Dies ermöglicht Lastverteilung per Round Robin für NVMe Multipath.
# cat /lib/udev/rules.d/71-nvme-iopolicy-netapp-ONTAP.rules # 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 Oracle Linux L 7.8-Host die NQN-Zeichenfolge des Hosts unter /etc/nvme/hostnqn und vergewissern Sie sich, dass sie 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:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
*> vserver nvme subsystem host show -vserver vs_nvme_10 Vserver Subsystem Host NQN ------- --------- -------------------------------------- ----------- ol_157_nvme_ss_10_0 nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
Wenn die hostnqn-Strings nicht übereinstimmen, sollten Sie den vserver modify-Befehl verwenden, um den Host-NQN-String auf Ihrem entsprechenden ONTAP-Array-Subsystem zu aktualisieren, um den Host-NQN-String aus etc/nvme/hostnqn auf dem Host zu entsprechen.
-
Starten Sie den Host neu.
Konfigurieren des Broadcom FC-Adapters für NVMe/FC
-
Vergewissern Sie sich, dass Sie den unterstützten Adapter verwenden. Die aktuelle Liste der unterstützten Adapter finden Sie im "NetApp Interoperabilitätsmatrix".
# 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
-
NVMe-Unterstützung in lpfc ist bereits standardmäßig aktiviert:
# cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type 3
Neuere lpfc-Treiber (sowohl Inbox als auch Outbox) haben lpfc_enable_fc4_type Standardeinstellung auf 3 gesetzt. Deshalb müssen Sie dies nicht explizit in der Datei /etc/modprobe.d/lpfc.conf einstellen.
-
Installieren Sie als nächstes die empfohlenen lpfc Auto-connect-Skripte:
# rpm -ivh nvmefc-connect-12.4.65.0-1.noarch.rpm . Überprüfen Sie, ob die Skripts für die automatische Verbindung installiert sind.
# rpm -qa | grep nvmefc nvmefc-connect-12.4.65.0-1.noarch
-
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
-
Überprüfen Sie, ob die NVMe/FC-Initiator-Ports aktiviert sind und die Ziel-Ports angezeigt werden können, und alle sind in Betrieb.
Im folgenden Beispiel wurde nur ein einzelner Initiator-Port aktiviert und mit zwei Ziel-LIFs verbunden, wie in der folgenden Ausgabe zu sehen ist:
# cat /sys/class/scsi_host/host*/nvme_info NVME Initiator Enabled XRI Dist lpfc0 Total 6144 NVME 2947 SCSI 2947 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
Validierung von NVMe/FC
-
Ü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
Im obigen Beispiel werden dem Oracle Linux 7.8 ANA-Host zwei Namespaces zugeordnet. Diese sind durch vier Ziel-LIFs sichtbar: Zwei lokale Node-LIFs und zwei andere Partner/Remote-Node-LIFs. Dieses Setup zeigt zwei ANA-optimierte und zwei ANA-Pfade für jeden Namespace auf dem Host.
-
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.ol_157_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/ol_157_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/ol_157_ns_10_0", "NSID" : 1, "UUID" : "55baf453-f629-4a18-9364-b6aee3f50dad", "Size" : "53.69GB", "LBA_Data_Size" : 4096, "Namespace_Size" : 13107200 } ]
Aktivieren der 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 von Größe 1 MB für einen Broadcom-NVMe/FC-Host auszustellen, müssen Sie den lpfc
Wert des lpfc_sg_seg_cnt
Parameters ab dem Standardwert 64 auf 256 erhöhen.
Die folgenden 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
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
lpfc_sg_seg_cnt
256:cat /sys/module/lpfc/parameters/lpfc_sg_seg_cnt
Der erwartete Wert ist 256.