Skip to main content
ONTAP SAN Host Utilities
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Konfigurieren Sie RHEL 8.1 für NVMe-oF mit ONTAP Speicher

Beitragende netapp-sarajane

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-cli Paket beinhaltet nicht nvme-fc auto-connect Skripte. 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 udev Regel.

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.

Schritte
  1. "Erstellen Sie einen NVMe-Namespace und ordnen Sie ihn dem Host zu" .

  2. 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.

  3. 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.

Schritte
  1. 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 -r

    Beispiel für eine RHEL-Kernelversion:

    4.18.0-147.el8.x86_64
  2. Installieren Sie den nvme-cli-1.8.1-3.el8 Paket:

    rpm -qa|grep nvme-cli

    Das folgende Beispiel zeigt eine nvme-cli-Paketversion:

    nvme-cli-1.8.1-3.el8.x86_64
  3. 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
  4. 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
  5. Überprüfen Sie auf dem RHEL 8.1-Host die Host-NQN-Zeichenfolge unter /etc/nvme/hostnqn :

    cat /etc/nvme/hostnqn

    Das folgende Beispiel zeigt eine Hostnqn-Zeichenfolge:

    nqn.2014-08.org.nvmexpress:uuid:75953f3b-77fe-4e03-bf3c-09d5a156fbcd
  6. Ü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_10
    Beispiel 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
    Hinweis 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.
  7. 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.

Schritte
  1. Stellen Sie sicher, dass Sie das unterstützte Adaptermodell verwenden:

    1. Zeigen Sie die Modellnamen an:

      cat /sys/class/scsi_host/host*/modelname

      Die folgende Ausgabe sollte angezeigt werden:

      LPe32002-M2
      LPe32002-M2
    2. Zeigen Sie die Modellbeschreibungen an:

      cat /sys/class/scsi_host/host*/modeldesc

      Sie 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
  2. 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
    Hinweis 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.
  3. Starten Sie den Host neu.

  4. Stellen Sie sicher, dass Sie die empfohlenen Broadcom-Konfigurationen verwenden.

    1. Überprüfen Sie die LPFC-Firmware:

      cat /sys/class/scsi_host/host*/fwrev

      Die folgende Ausgabe sollte angezeigt werden:

      12.4.243.20, sil-4.2.c
      12.4.243.20, sil-4.2.c
    2. Überprüfen Sie den Postausgangstreiber:

      cat /sys/module/lpfc/version

      Die folgende Ausgabe sollte angezeigt werden:

      0:12.4.243.20
    3. Überprüfen Sie die Versionen des Auto-Connect-Pakets:

      rpm -qa | grep nvmefc

      Die folgende Ausgabe sollte angezeigt werden:

    nvmefc-connect-12.6.61.0-1.noarch
  5. Stellen Sie sicher, dass die erwartete Ausgabe von lpfc_enable_fc4_type auf eingestellt ist 3:

    cat /sys/module/lpfc/parameters/lpfc_enable_fc4_type
  6. Überprüfen Sie, ob die Initiator-Ports aktiv sind und die Ziel-LIFs sehen können:

    cat /sys/class/fc_host/host*/port_name

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    0x10000090fae0ec61
    0x10000090fae0ec62
  7. Überprüfen Sie, ob Ihre Initiator-Ports online sind:

    cat /sys/class/fc_host/host*/port_state

    Die folgende Ausgabe sollte angezeigt werden:

    Online
    Online
  8. Vergewissern Sie sich, dass die NVMe/FC-Initiator-Ports aktiviert sind und die Ziel-Ports sichtbar sind:

    cat /sys/class/scsi_host/host*/nvme_info
    Beispiel 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.

Hinweis Diese Schritte gelten nicht für Qlogic NVMe/FC-Hosts.
Schritte
  1. 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
  2. Führen Sie den Befehl aus dracut -f, und starten Sie den Host neu.

  3. Stellen Sie sicher, dass der Wert für lpfc_sg_seg_cnt 256 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.

Schritte
  1. Vergewissern Sie sich, dass das in-Kernel NVMe Multipath aktiviert ist:

    cat /sys/module/nvme_core/parameters/multipath

    Die folgende Ausgabe sollte angezeigt werden:

    Y
  2. 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:

    1. Zeigen Sie die Subsysteme an:

      cat /sys/class/nvme-subsystem/nvme-subsys*/model

      Die folgende Ausgabe sollte angezeigt werden:

      NetApp ONTAP Controller
      NetApp ONTAP Controller
    2. Zeigen Sie die Richtlinie an:

      cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicy

      Die folgende Ausgabe sollte angezeigt werden:

    round-robin
    round-robin
  3. Überprüfen Sie, ob die Namespaces auf dem Host erstellt und richtig erkannt wurden:

    nvme list
    Beispiel 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
  4. Überprüfen Sie, ob der Controller-Status jedes Pfads aktiv ist und den korrekten ANA-Status aufweist:

    nvme list-subsys /dev/nvme0n1
    Beispiel 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
  5. Vergewissern Sie sich, dass das NetApp Plug-in für jedes ONTAP Namespace-Gerät die richtigen Werte anzeigt:

    Spalte
    nvme netapp ontapdevices -o column
    Beispiel 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
    JSON
    nvme netapp ontapdevices -o json
    Beispiel 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.