Direkt zum Inhalt

Wie verwende ich NVMe statt TCP, um ein FSx für ONTAP-Dateisystem auf einer EC2-Linux-Instance bereitzustellen?

Lesedauer: 5 Minute
0

Ich möchte ein Amazon FSx für NetApp ONTAP-Dateisystem auf meiner Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instance mounten. Ich möchte Non-volatile Memory Express (NVMe) statt TCP (NVMe/TCP) verwenden.

Behebung

Hinweis: Die folgende Lösung gilt für EC2-Instances, auf denen Red Hat Enterprise Linux (RHEL) 9.3 ausgeführt wird.

Voraussetzungen:

NVMe/TCPverwenden, um das Dateisystem auf der RHEL-Instance bereitzustellen

Führe die folgenden Schritte aus:

  1. Um die erforderlichen Pakete zu installieren, führe den folgenden Befehl auf der Instance aus:

    sudo yum install -y nvme-cli
  2. Um das NVMe/TCP-Kernelmodul zu laden, führe den folgenden Befehl auf der Instance aus:

    sudo modprobe nvme-tcp
  3. Rufe die Adressen der Blockspeicherschnittstellen für die Storage Virtual Machine (SVM) ab, auf der du die NVMe-Geräte erstellt hast. Führe den folgenden Befehl auf dem ONTAP-Server aus:

    network interface show -vserver svm_name -data-protocol nvme-tcp

    Hinweis: Ersetze svm_name durch den SVM-Namen. Sowohl iSCSI als auch NVMe/TCP verwenden das Logical Interchange Format (LIF) iscsi_1.
    Beispielausgabe:

                Logical               Status         Network            Current                    Current Is
    Vserver     Interface             Admin/Oper     Address/Mask       Node                       Port    Home
    ----------- ----------            ----------     ------------------ -------------              ------- ----
    svm_name
                iscsi_1               up/up          iscsi_1_IP/X       FSxId0123456789abcdef8-01  e0e     true
                iscsi_2               up/up          iscsi_2_IP/X       FSxId0123456789abcdef8-02  e0e     true
    2 entries were displayed.
  4. Führe den folgenden Befehl auf der Instance aus, um NVMe-Subsysteme zu identifizieren:

    sudo nvme discover -t tcp -w client_IP -a iscsi_1_IP

    Hinweis: Ersetze iscsi_1_IP durch die iscsi_1-IP-Adresse und client_IP durch die Client-IP-Adresse.

  5. Um eine Verbindung zum NVMe-Subsystem herzustellen, führe den folgenden Befehl auf der Instance aus:

    sudo nvme connect-all -t tcp -w client_IP -a iscsi_1_IP -l 1800

    Hinweis: Ersetze iscsi_1_IP durch die iscsi_1-IP-Adresse und client_IP durch die Client-IP-Adresse.

  6. Um zu überprüfen, ob die Verbindung wie erwartet funktioniert, führe den folgenden Befehl auf der Instance aus:

    sudo nvme list

    Überprüfe in der Ausgabe die Modell-Spalte auf /dev/nvmeXny.

  7. (Optional) Um ein Dateisystem zu erstellen, führe den folgenden Befehl auf der Instance aus:

    sudo mkfs.xfs /dev/nvmeXnY

    Hinweis: Um /dev/nvmeXnY zu finden, überprüfe die Ausgabe des Befehls nvme list. Suche die Modell-Spalte, die den NetApp ONTAP Controller-Wert enthält.

  8. Um einen Mount Point zu erstellen und auf diesem bereitzustellen, führe die folgenden Befehle auf der Instance aus:

    sudo mkdir /mnt/fsx-nvme
    sudo mount /dev/nvmeXnY /mnt/fsx-nvme

    Hinweis: Ersetze /mtn/fsx-nvme durch den Verzeichnispfad.

  9. (Optional) Um das automatische Einhängen beim Booten zu konfigurieren, füge der Datei /etc/fstab die folgende Zeile hinzu:

    /dev/nvmeXnY /mnt/fsx-nvme xfs _netdev,x-systemd.automount,x-systemd.requires=network-online.target 0 0

    Hinweis: Ersetze nvmeXny durch den NVMe-Namen und /mnt/fsx-nvme durch den Dateipfad.
    Erstelle dann einen systemd-Service für die NVMe-Verbindung mit dem Dateipfad /etc/systemd/system/.
    Beispieldatei:

    [Unit]
    Description=NVMe connection to FSx
    After=network.target
    
    
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/sbin/nvme connect -t tcp -n "nqn.1992-08.com.netapp:sn.abcde" -w port -a fs-ABCDE.fsx.region.amazonaws.com -s 4420
    ExecStop=/usr/sbin/nvme disconnect -n "nqn.1992-08.com.netapp:sn.abcde"
    
    
    [Install]
    WantedBy=multi-user.target
  10. Führe den folgenden Befehl aus, um den Service zu aktivieren:

sudo systemctl enable nvme-fsx.service

Behebung von NVMe/TCP-Bereitstellungsproblemen

Wichtig: Es hat sich bewährt, ein Konto bei NetApp zu erstellen. Du benötigst ein NetApp Konto, um auf die Dokumentation der Problembehandlung in NetApp zugreifen zu können.

Wenn beim Bereitstellen des Dateisystems Probleme auftreten, ergreife die folgenden Maßnahmen zur Problembehandlung:

  • Führe den folgenden Befehl aus, um die Konnektivität am erforderlichen Port zu überprüfen:

    telnet fs-ABCDE.fsx.region.amazonaws.com 4420

    Hinweis: Ersetze fs-abcde durch den Dateisystemnamen und Region durch die AWS-Region.

  • Führe den folgenden Befehl aus, um zu überprüfen, ob die NVMe-Erkennung wie erwartet funktioniert:

    sudo nvme discover -t tcp -w port -a fs-ABCDE.fsx.region.amazonaws.com -s 4420

    Hinweis: Ersetze Port durch deinen Port, fs-ABCDE durch den Dateisystemnamen und Region durch deine Region.

  • Führe den folgenden Befehl aus, um die NVMe-Verbindungen auf Probleme zu überprüfen:

    sudo nvme list
  • Führe den folgenden Befehl aus, um die Protokolle auf Fehler zu überprüfen:

    dmesg | grep nvme or journalctl -u nvme-fsx

Den FSx für ONTAP Server konfigurieren

Führe die folgenden Befehle aus, um zu überprüfen, ob der NVMe-Service ausgeführt wird:

vserver nvme show
vserver nvme subsystem show

Führe den folgenden Befehl aus, um zu bestätigen, dass du den Namespace korrekt konfiguriert hast:

vserver nvme namespace show

Führe den folgenden Befehl aus, um zu überprüfen, ob du den qualifizierten Host-NVMe-Namen (NQN) zum NVMe-Subsystem hinzugefügt hast:

vserver nvme subsystem host show

Führe den folgenden Befehl aus, um zu überprüfen, ob die Zuordnung zwischen dem Namespace und dem Subsystem korrekt ist:

vserver nvme subsystem map show

Ähnliche Informationen

Wie verwende ich NFS, um ein FSX für ONTAP-Volume auf meiner EC2-Linux-Instance bereitzustellen?

Wie stelle ich eine FSx für ONTAP CIFS-Freigabe auf einer Linux EC2-Instance bereit, die nicht mit einem Active Directory verbunden ist?

Wie verwende ich iSCSI, um FSx für ONTAP iSCSI LUN auf einer EC2 Linux-Instance bereitzustellen?

AWS OFFICIALAktualisiert vor 4 Monaten