Lustre File System bereitstellen

Das Deployment von OCI File Storage mit Lustre umfasst die folgenden Schritte:
  • OCI File Storage mit Lustre-Dateisystem erstellen
  • Mounten Sie das Dateisystem
  • Konfigurieren von LNet
  • Lesen und Schreiben von Vorgängen testen

Lustre-Dateisystem erstellen

Die folgenden Schritte führen Sie die Erstellung eines OCI File Storage mit Lustre-Dateisystems durch.

  1. Klicken Sie im Navigationsmenü der OCI-Konsole auf Speicher und dann auf Lustre-Dateisysteme.
  2. Klicken Sie auf Create.
  3. Konfigurieren Sie die Lustre-Dateisystemdetails:
    • Dateisystemname: Übernehmen Sie den Standardnamen, oder geben Sie einen benutzerfreundlichen Namen für das Dateisystem ein.
    • Mountname: Übernehmen Sie den Standardwert, oder geben Sie einen benutzerfreundlichen Namen ein, der beim Mounten des Dateisystems verwendet werden soll.
    • Beschreibung des Dateisystems: (Optional) Geben Sie eine Beschreibung für das Dateisystem ein.
    • Compartment: Akzeptieren Sie das Standard-Compartment, oder wählen Sie die Liste zum Ändern von Compartments aus.
    • Availability-Domain: Akzeptieren Sie die Standard-Availability-Domain, oder wählen Sie die Liste aus, um die Availability-Domains zu ändern.
    • Tags: Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag zuzuweisen, benötigen Sie die Berechtigungen zum Verwenden des Tag-Namespace. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
    • Clusterplatzierungsgruppe: Es wird empfohlen, eine Clusterplatzierungsgruppe auszuwählen, um Dateisysteme und andere Ressourcen physisch in einer Availability-Domain zu platzieren, um eine geringe Latenz sicherzustellen. Die Clusterplatzierungsgruppe kann nach der Erstellung des Dateisystems nicht mehr geändert werden.
    • Performanceebene: Wählen Sie die Performanceebene für das Dateisystem aus. Die Performance-Tier steuert den Durchsatz des Dateisystems. Der Durchsatz wird pro Terabyte (TB) des bereitgestellten Speichers angegeben. Die Performance-Tier kann nach der Erstellung des Dateisystems nicht mehr geändert werden.
    • Kapazität: Wählen Sie die Speicherkapazität des Dateisystems aus. Wenn Sie eine Kapazität auswählen, die größer als das Servicelimit ist, werden Sie möglicherweise aufgefordert, eine Erhöhung zu beantragen.

      Der aggregierte Durchsatz des Dateisystems wird aus Performanceebene und Kapazität berechnet.

    • Networking: Wählen Sie das VCN und das Subnetz aus, in dem das Dateisystem gemountet werden soll. Die Konsole zeigt standardmäßig eine Liste der VCNs und Subnetze in dem Compartment an, in dem Sie arbeiten. Ändern Sie die Compartments, um ein VCN oder Subnetz aus einem anderen Compartment auszuwählen.

      Das ausgewählte Subnetz ist das Subnetz, mit dem die Lustre-Server bereitgestellt werden. Stellen Sie sicher, dass dieses Subnetz die Kommunikation zum und vom Lustre-Serverseitigen Port 988 mit clientseitigem Port zwischen Port 512-1023 ermöglicht.

    • Netzwerksicherheitsgruppen zur Kontrolle des Traffics verwenden: Aktivieren Sie diese Option, und wählen Sie eine Netzwerksicherheitsgruppe (NSG) aus, die als virtuelle Firewall für das Dateisystem fungiert. Wählen Sie + Weitere Netzwerksicherheitsgruppe aus, um das Dateisystem bis zu fünf NSGs hinzuzufügen.
    • Root Squash: Diese Einstellungen steuern, ob die Benutzer-ID (UID) und Gruppen-ID (GID) von Clients, die auf das Dateisystem zugreifen, der Squash-UID und Squash-GID neu zugeordnet werden.

      Squash: Wählen Sie Kein Wert oder Root aus. Der Standardwert ist Kein Wert, daher erfolgt standardmäßig keine Neuzuordnung.

      Squash-UID: Wenn Squash auf Root gesetzt ist, wird der Root-Benutzer (UID 0) diesem Wert neu zugeordnet. Standardwert ist 65534.

      Squash-GID: Wenn Squash auf Root gesetzt ist, wird der Root-Gruppenbenutzer (GID 0) diesem Wert neu zugeordnet. Standardwert ist 65534.

    • Root Squash-Ausnahmen: Um bestimmte Clients von der Root Squash-Konfiguration auszuschließen, geben Sie ihre Clientadresse als gültige IP-Adresse oder einen gültigen Bereich ein. Beispiel: 10.0.2.4 oder 10.0.[2-10].[1-255]. Wählen Sie + Weitere Clientadresse, um bis zu 10 Ausnahmen hinzuzufügen.
    • Verschlüsselungsschlüssel: Standardmäßig verwaltet Oracle die Schlüssel zur Verschlüsselung eines Dateisystems. Wenn Sie mehr Kontrolle über den Lebenszyklus und die Verwendung des Schlüssels haben möchten, können Sie Ihren eigenen Vault-Verschlüsselungsschlüssel auswählen
Nach dem Start der Erstellung dauert es viele Minuten, bis das Provisioning der Backend-Ressourcen abgeschlossen ist. Die Zeit variiert je nach Performanceebene und Größe des Dateisystems.

Lustre File System mounten

  1. Navigieren Sie zu den Lustre-Dateisystemdetails, und suchen Sie den Mountbefehl in der Konsole.
  2. Über einen Linux-Client mit installierten Lustre-Clientmodulen können Sie das Dateisystem mounten. In diesem Client sind Lustre DKMS-Module installiert.
    [root@lustre-ol8-client ~]# rpm -qa | grep lustre
    lustre-client-2.15.5_oci1-1.el8.x86_64
    lustre-client-dkms-2.15.5_oci1-1.el8.noarch

    In einigen Umgebungen mit GPU-Hosts mit RDMA-Netzwerken, die von Oracle Cloud Agent verwaltet werden, fügt das Hinzufügen der Schnittstelle LNet eine Regel hinzu, die verhindert, dass die Hostkommunikation über die Standardschnittstelle (erste Schnittstelle des Hosts) erfolgt. Dies kann zu Problemen in Umgebungen führen, die lokale IP für die interne Kommunikation verwenden, insbesondere in OKE-Umgebungen. Das direkte System besteht darin, dass der Ping an die lokale IP nicht funktioniert. Um dies zu beheben, verwenden Sie die folgende Problemumgehung, um das Hinzufügen zusätzlicher Routen und Regeln durch LNet zu deaktivieren.

    Führen Sie diesen Vorgang aus, bevor Sie die Schnittstelle LNet hinzufügen. Wenn die Schnittstelle LNet nicht explizit hinzugefügt wird, wenden Sie diesen Vorgang an, bevor Sie das Dateisystem mounten.

    echo 'options ksocklnd skip_mr_route_setup=1' >/etc/modprobe.d/lnet.conf && rmmod lnet; modprobe -v lnet
  3. Entladen Sie die Lustre-Module (falls sie bereits geladen sind), um einen sauberen Start zu erhalten. Das Entladen der Module funktioniert nicht, wenn bereits ein Dateisystem eingehängt ist. Wenn lustre_rmmod nicht alle Module entlädt, starten Sie das System neu, um neu zu starten.
    [root@lustre-ol8-client ~]# lustre_rmmod 
  4. Mounten Sie das Lustre-Dateisystem. Wenn eine bestimmte Schnittstelle für Lustre konfiguriert werden soll, verwenden Sie die Konfiguration lnetctl, bevor Sie versuchen, Module zu laden. Dies wird im nächsten Abschnitt erläutert.
    [root@lustre-ol8-client ~]# modprobe lustre
    [root@lustre-ol8-client ~]# mount -t lustre 10.0.3.8@tcp:/lustrefs /mnt/mymountpoint

    Wenn der Mount mit der Fehlermeldung No such file or directory. Is the MGS specification correct? nicht erfolgreich verläuft, kann er LNet (Lustre Networking) wahrscheinlich aufgrund mehrerer Schnittstellen oder anderer Netzwerksituationen im Host nicht automatisch konfigurieren. In diesem Fall müssen Sie LNet manuell konfigurieren.

    Der Fehler ähnelt:

    mount.lustre: mount 10.0.3.8@tcp:/lustrefs at /mnt/mymountpoint failed: No such file or directory
    Is the MGS specification correct?
    Is the filesystem name correct?
    If upgrading, is the copied client log valid? (see upgrade docs)

LNet konfigurieren (Lustre Networking)

Die folgenden Schritte sind nur erforderlich, wenn die Schritte zum Mounten des Dateisystems nicht erfolgreich sind und die korrekte Schnittstelle für Lustre nicht in lnetctl net show angezeigt wird. Wenn lnetctl net show die richtige Schnittstelle für Lustre anzeigt, sind diese Schritte nicht erforderlich.
  1. Suchen Sie den Schnittstellennamen. Möglicherweise sind mehrere Schnittstellen im System vorhanden. Wählen Sie die entsprechende Schnittstelle, die sich in der Nähe des Lustre-Dateisystems befindet. Verwenden Sie den Befehl ip route, um die Netzwerke im System anzuzeigen, und suchen Sie eine Schnittstelle, die besser geeignet ist, um das Lustre-Dateisystem zu erreichen. Dies ist die Schnittstelle, auf der große Datenübertragungen stattfinden. Hier wird die Schnittstelle enp0s5 verwendet.
    [root@lustre-ol8-client ~]# ip addr
    Die Ausgabe ähnelt:
    ...
    2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP group default qlen 1000
        link/ether 02:00:17:12:91:e9 brd ff:ff:ff:ff:ff:ff
        inet 10.0.3.42/24 brd 10.0.3.255 scope global dynamic enp0s5
           valid_lft 84865sec preferred_lft 84865sec
        inet6 fe80::17ff:fe12:91e9/64 scope link
           valid_lft forever preferred_lft forever
  2. Führen Sie die folgenden Befehle aus:
    [root@lustre-ol8-client opc]# modprobe lnet
    [root@lustre-ol8-client opc]# lnetctl lnet configure
    [root@lustre-ol8-client opc]# lnetctl net add --net tcp --if enp0s5
    [root@lustre-ol8-client opc]# lnetctl net show
    Die Ausgabe ähnelt:
    net:
        - net type: lo
          local NI(s):
            - nid: 0@lo
              status: up
        - net type: tcp
          local NI(s):
            - nid: 10.0.3.42@tcp  <<<<<<<<<
              status: up
              interfaces:
                  0: enp0s5   <<<<<<<<

Mounten Sie das Dateisystem

  1. Führen Sie die folgenden Befehle aus:
    [root@lustre-ol8-client opc]# mount -t lustre 10.0.3.8@tcp:/lustrefs /mnt/mymountpoint
    [root@lustre-ol8-client opc]# df -h /mnt/mymountpoint
    Die Ausgabe ähnelt:
    Filesystem Size Used Avail Use% Mounted on
    10.0.3.8@tcp:/lustrefs 31T 17M 30T 1% /mnt/mymountpoint
  2. Führen Sie den folgenden Befehl aus:
    [root@lustre-ol8-client opc]# lfs df -h /mnt/mymountpoint
    Die Ausgabe ähnelt:
    UUID bytes Used Available Use% Mounted on
    lustrefs-MDT0000_UUID 563.4G 33.8M 513.4G 1% /mnt/mymountpoint[MDT:0]
    lustrefs-MDT0001_UUID 563.4G 33.7M 513.4G 1% /mnt/mymountpoint[MDT:1]
    lustrefs-OST0000_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:0]
    lustrefs-OST0001_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:1]
    lustrefs-OST0002_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:2]
    lustrefs-OST0003_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:3]
    lustrefs-OST0004_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:4]
    lustrefs-OST0005_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:5]
    lustrefs-OST0006_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:6]
    lustrefs-OST0007_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:7]
    lustrefs-OST0008_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:8]
    lustrefs-OST0009_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:9]
    lustrefs-OST000a_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:10]
    lustrefs-OST000b_UUID 2.6T 1.4M 2.4T 1% /mnt/mymountpoint[OST:11]
    
    filesystem_summary: 30.9T 16.4M 29.3T 1% /mnt/mymountpoint

Lesen und Schreiben von Tests

Mit den Servicemetriken File Storage with Lustre können Sie die Performance, Kapazität und den Zustand eines Dateisystems messen. Mit Metrikdaten können Sie Probleme diagnostizieren und beheben.

Sie testen Lese- und Schreibvorgänge, indem Sie einen dd-Befehl ausführen und dann zur Seite "Metriken" navigieren, um das Metrik-Dashboard anzuzeigen.

  1. Führen Sie einen dd-Befehl aus, der wie folgt aussieht:
    [root@hpc-client-0 test]# dd if=/dev/zero of=10G_file  bs=1M count=10240 oflag=direct ;sleep 120 ; dd of=/dev/null if=10G_file  bs=1M count=10240 iflag=direct
    Die Ausgabe ähnelt:
    10240+0 records in
    10240+0 records out
    10737418240 bytes (11 GB, 10 GiB) copied, 40.6989 s, 264 MB/s
    10240+0 records in
    10240+0 records out
    10737418240 bytes (11 GB, 10 GiB) copied, 39.2326 s, 274 MB/s
    In diesem Beispiel haben wir eine Blockgröße von 1 MB.
  2. Um ein Standardset von Metrikdiagrammen in der Konsole anzuzeigen, klicken Sie auf das Navigationsmenü und dann auf Speicher.
  3. Wählen Sie unter Lustre die Option Dateisysteme mit Lustre aus.
  4. Wählen Sie das Dateisystem aus, für das Sie Metriken anzeigen möchten.
  5. Klicken Sie auf der Detailseite unter Ressourcen auf Metriken.
Auf der Seite Metriken wird eine Standardgruppe von Diagrammen für das aktuelle Dateisystem angezeigt. File Storage mit Lustre bietet die folgenden Metriken:
  • ReadThroughput: Wird in gelesenen Byte pro Minute ausgedrückt.
  • WriteThroughput: Wird in gelesenen Byte pro Minute ausgedrückt.
  • DataReadOperations: Anzahl der Lesevorgänge pro Minute.
  • DataWriteOperation: Anzahl der Schreibvorgänge pro Minute.
  • MetadataOperations: Anzahl der Metadatenvorgänge. 14 verschiedene verfügbare Metadatenvorgänge wie getattr, setattr, mknod, link, unlink, mkdir usw.
  • FileSystemCapacity: Gesamte und verfügbare Kapazität des Dateisystems.
  • FileSystemInodeCapacity: Gesamtanzahl und verfügbare Inodes des Dateisystems.

Diese Metriken können mit dem OCI-Metrik-Explorer-Namespace oci_lustrefilesystem exploriert werden, wie im folgenden Screenshot gezeigt.


Beschreibung von lüster-metrics-explorer.png folgt
Beschreibung der Abbildung lustre-metrics-explorer.png

Im Folgenden finden Sie ein Beispiel für die Verwendung von Abfragen in Monitoring Query Language (MQL) im Metrik-Explorer oder in anderen Dashboards wie Grafana.

So rufen Sie den Lesedurchsatz ab:

ReadThroughput[1m]{resourceId = "your_filesystem_ocid", targetType = "OST", clientName ="all@all"}.grouping().sum()/60

Hinweis:

60 verwendet wird, da das Intervall hier 1 Minute beträgt. Ebenso können Sie MQL für andere Metriken verwenden.