Leistung von Amazon FSx for Lustre - FSx für Lustre

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Leistung von Amazon FSx for Lustre

Amazon FSx for Lustre, aufbauend auf Lustre, das beliebte Hochleistungs-Dateisystem, bietet Scale-Out-Leistung, die linear mit der Größe eines Dateisystems zunimmt. Lustre Dateisysteme lassen sich horizontal auf mehrere Dateiserver und Festplatten skalieren. Durch diese Skalierung erhält jeder Client direkten Zugriff auf die auf den einzelnen Festplatten gespeicherten Daten, wodurch viele der in herkömmlichen Dateisystemen vorhandenen Engpässe beseitigt werden. Amazon FSx for Lustre baut auf Lustre skalierbare Architektur zur Unterstützung eines hohen Leistungsniveaus bei einer großen Anzahl von Kunden.

Wie funktionieren FSx die Dateisysteme von For Lustre

Jedes Dateisystem FSx für Lustre besteht aus den Dateiservern, mit denen die Clients kommunizieren, und einem Satz von Festplatten, die an jeden Dateiserver angeschlossen sind und Ihre Daten speichern. Jeder Dateiserver verwendet einen schnellen In-Memory-Cache, um die Leistung der Daten zu verbessern, auf die am häufigsten zugegriffen wird. HDD-basierte Dateisysteme können auch mit einem SSD-basierten Lesecache ausgestattet werden, um die Leistung für die am häufigsten aufgerufenen Daten weiter zu verbessern. Wenn ein Client auf Daten zugreift, die im Arbeitsspeicher- oder SSD-Cache gespeichert sind, muss der Dateiserver sie nicht von der Festplatte lesen, was die Latenz reduziert und den Gesamtdurchsatz erhöht, den Sie steuern können. Das folgende Diagramm zeigt die Pfade eines Schreibvorgangs, eines Lesevorgangs, der von der Festplatte aus ausgeführt wird, und eines Lesevorgangs, der über den Arbeitsspeicher oder den SSD-Cache ausgeführt wird.

FSx für die Lustre-Performance-Architektur.

Wenn Sie Daten lesen, die im Arbeitsspeicher- oder SSD-Cache des Dateiservers gespeichert sind, wird die Leistung des Dateisystems durch den Netzwerkdurchsatz bestimmt. Wenn Sie Daten in Ihr Dateisystem schreiben oder wenn Sie Daten lesen, die nicht im In-Memory-Cache gespeichert sind, wird die Leistung des Dateisystems durch den jeweils niedrigeren Wert des Netzwerkdurchsatzes und des Festplattendurchsatzes bestimmt.

Wenn Sie eine Festplatte bereitstellen Lustre Dateisystem mit SSD-Cache: Amazon FSx erstellt einen SSD-Cache, dessen Größe automatisch auf 20 Prozent der Festplattenspeicherkapazität des Dateisystems angepasst wird. Dadurch werden Latenzen von unter einer Millisekunde und höhere IOPS für häufig aufgerufene Dateien erreicht.

Aggregierte Dateisystemleistung

Der Durchsatz, den ein FSx for Lustre-Dateisystem unterstützt, ist proportional zu seiner Speicherkapazität. Die Dateisysteme von Amazon FSx for Lustre lassen sich auf Hunderte von Durchsätzen und Millionen GBps von IOPS skalieren. Amazon FSx for Lustre unterstützt auch den gleichzeitigen Zugriff auf dieselbe Datei oder dasselbe Verzeichnis von Tausenden von Recheninstanzen aus. Dieser Zugriff ermöglicht ein schnelles Prüfen von Daten vom Anwendungsspeicher zum Speicher, was eine gängige Technik im Hochleistungsrechnen (HPC) ist. Sie können den Speicherplatz und die Durchsatzkapazität nach Bedarf jederzeit erhöhen, nachdem Sie das Dateisystem erstellt haben. Weitere Informationen finden Sie unter Verwaltung der Speicherkapazität.

FSx for Lustre-Dateisysteme bieten einen Burst-Lesedurchsatz, indem sie einen Netzwerk-I/O-Guthabenmechanismus verwenden, um Netzwerkbandbreite auf der Grundlage der durchschnittlichen Bandbreitennutzung zuzuweisen. Die Dateisysteme sammeln Credits, wenn ihre Netzwerkbandbreitennutzung unter ihren Basisgrenzwerten liegt, und können diese Credits verwenden, wenn sie Netzwerkdatenübertragungen durchführen.

Die folgenden Tabellen zeigen die Leistung, für die die Bereitstellungsoptionen von FSx for Lustre konzipiert wurden.

Dateisystemleistung für SSD-Speicheroptionen
Art der Bereitstellung Netzwerkdurchsatz (MBps/TiB des bereitgestellten Speichers) Netzwerk-IOPS (IOPS/TiB des bereitgestellten Speichers) Cache-Speicher (GiB RAM/TIB bereitgestellter Speicher) Festplattenlatenzen pro Dateivorgang (Millisekunden, P50) Festplattendurchsatz (MBps/TiB bereitgestellter Speicher oder SSD-Cache)

Ausgangswert

Platzen

Grundlinie

Platzen

KRATZEN_2 200 1300

Zehntausende als Ausgangswert

Hunderttausende sind geplatzt

6.7

Metadaten: Unter-MS

Daten: Unter-Ms

200 (gelesen)

100 (schreiben)

HARTNÄCKIG-125 320 1300 3.4

125

500
HARTNÄCKIG-250 640 1300 6.8

250

500
HARTNÄCKIG-500 1300 13,7 500

HARTNÄCKIG-1000 2600 27,3 1000
Dateisystemleistung für HDD-Speicheroptionen
Art der Bereitstellung Netzwerkdurchsatz (MBps/TiB bereitgestellter Speicher oder SSD-Cache) Netzwerk-IOPS (IOPS/TiB des bereitgestellten Speichers) Cache-Speicher (GiB RAM/TIB bereitgestellter Speicher) Festplattenlatenzen pro Dateivorgang (Millisekunden, P50) Festplattendurchsatz (MBps/TiB bereitgestellter Speicher oder SSD-Cache)

Ausgangswert

Platzen

Grundlinie

Platzen

HARTNÄCKIG-12
HDD-Speicher 40 375*

Zehntausende als Ausgangswert

Hunderttausende sind geplatzt

0.4 Speicher

Metadaten: Sub-MS

Daten: einstellige ms

12

80 (gelesen)

50 (schreiben)

SSD-Lesecache

200

1.900

200 SSD-Cache

Daten: Sub-MS

200

-

PERSISTENT-40
HDD-Speicher 150 1.300*

Zehntausende als Ausgangswert

Hunderttausende sind geplatzt

1.5

Metadaten: Unter-MS

Daten: einstellige ms

40

250 (gelesen)

150 (schreiben)

SSD-Lesecache

750

6500

200 SSD-Cache

Daten: Sub-MS

200

-

Leistung des Dateisystems für SSD-Speicheroptionen der vorherigen Generation
Art der Bereitstellung Netzwerkdurchsatz (MBps pro TiB bereitgestellten Speichers) Netzwerk-IOPS (IOPS pro TiB bereitgestellten Speichers) Cache-Speicher (GiB pro TiB bereitgestellten Speichers) Festplattenlatenzen pro Dateivorgang (Millisekunden, P50) Festplattendurchsatz (MBps pro bereitgestelltem TiB Speicher oder SSD-Cache)

Ausgangswert

Platzen

Grundlinie

Platzen

HARTNÄCKIG-50 250 1.300*

Zehntausende als Ausgangswert

Hunderttausende sind geplatzt

2,2 RAM

Metadaten: Unter-MS

Daten: Unter-Ms

50

240

PERSISTENT-100 500 1.300* 4,4 GRAMM 100 240
PERSISTENT-200 750 1.300* 8,8 GRAMM 200 240
Anmerkung

* Die folgenden persistenten Dateisysteme AWS-Regionen bieten Netzwerk-Bursts von bis zu 530 MBps pro TiB Speicherplatz: Afrika (Kapstadt), Asien-Pazifik (Hongkong), Asien-Pazifik (Osaka), Asien-Pazifik (Singapur), Kanada (Zentral), Europa (Frankfurt), Europa (London), Europa (Mailand), Europa (Stockholm), Naher Osten (Bahrain), Südamerika (São Paulo), China und USA West (Los Angeles).

Beispiel: Aggregierter Baseline- und Burst-Durchsatz

Das folgende Beispiel zeigt, wie sich Speicherkapazität und Festplattendurchsatz auf die Leistung des Dateisystems auswirken.

Ein persistentes Dateisystem mit einer Speicherkapazität von 4,8 TiB und 50 MBps pro TiB Durchsatz pro Speichereinheit bietet einen aggregierten Basisdatenträgerdurchsatz von 240 MBps und einen Burst-Festplattendurchsatz von 1,152. GBps

Unabhängig von der Größe des Dateisystems bietet Amazon FSx for Lustre konsistente Latenzen von unter einer Millisekunde für Dateioperationen.

Leistung der Metadaten des Dateisystems

I/O-Operationen pro Sekunde (IOPS) für Dateisystem-Metadaten bestimmen die Anzahl der Dateien und Verzeichnisse, die Sie pro Sekunde erstellen, auflisten, lesen und löschen können. Metadaten-IOPS werden FSx für Lustre-Dateisysteme automatisch bereitgestellt, basierend auf der von Ihnen bereitgestellten Speicherkapazität.

Persistent 2-Dateisysteme ermöglichen es Ihnen, Metadaten-IOPS unabhängig von der Speicherkapazität bereitzustellen und bieten einen besseren Einblick in die Anzahl und Art der Metadaten, die IOPS-Client-Instanzen in Ihrem Dateisystem verarbeiten.

FSx Bei Lustre Persistent 2-Dateisystemen bestimmen die Anzahl der bereitgestellten Metadaten-IOPS und die Art des Metadatenvorgangs die Geschwindigkeit der Metadatenoperationen, die Ihr Dateisystem unterstützen kann. Die Ebene der von Ihnen bereitgestellten Metadaten-IOPS bestimmt die Anzahl der IOPS, die für die Metadaten-Festplatten Ihres Dateisystems bereitgestellt werden.

Art des Vorgangs Vorgänge, die Sie pro Sekunde für jede bereitgestellte Metadaten-IOPS ausführen können

Datei erstellen, öffnen und schließen

2

Datei löschen

1

Verzeichnis erstellen, umbenennen

0.1

Verzeichnis löschen

0.2

Sie können wählen, ob Sie Metadaten-IOPS im automatischen Modus oder im vom Benutzer bereitgestellten Modus bereitstellen möchten. Im automatischen Modus stellt Amazon FSx automatisch Metadaten-IOPS basierend auf der Speicherkapazität Ihres Dateisystems gemäß der folgenden Tabelle bereit:

Speicherkapazität des Dateisystems Inklusive Metadaten-IOPS im Automatikmodus

1200 GiB

1500

2400 GiB

3000

4800—9600 GiB

6 000

12000—456,00 GiB

12000

≥48000 GiB

12000 IOPS pro 24000 GiB

Im vom Benutzer bereitgestellten Modus können Sie optional die Anzahl der bereitzustellenden Metadaten-IOPS angeben. Sie zahlen für bereitgestellte Metadaten-IOPS, die über der Standardanzahl an Metadaten-IOPS für Ihr Dateisystem liegen.

Durchsatz für einzelne Client-Instanzen

Wenn Sie ein Dateisystem mit einer Durchsatzkapazität GBps von über 10% erstellen, empfehlen wir, den Elastic Fabric Adapter (EFA) zu aktivieren, um den Durchsatz pro Client-Instance zu optimieren. Um den Durchsatz pro Client-Instance weiter zu optimieren, unterstützen EFA-fähige Dateisysteme auch GPUDirect Storage für EFA-fähige NVIDIA-GPU-basierte Client-Instances und ENA Express für ENA Express-fähige Client-Instances.

Der Durchsatz, den Sie einer einzelnen Client-Instance zuweisen können, hängt von der Wahl des Dateisystemtyps und der Netzwerkschnittstelle auf Ihrer Client-Instance ab.

Dateisystemtyp Netzwerkschnittstelle der Client-Instanz Maximaler Durchsatz pro Client, Gbit/s

Nicht EFA-fähig

Any

100 Gbit/s*

EFA-fähig

ENA

100 Gbit/s*

EFA-fähig

ENA Express

100 Gbit/s

EFA-fähig

EFA

700 Gbit/s

EFA-fähig

EFA mit GDS

1200 Gbit/s

Anmerkung

* Der Datenverkehr zwischen einer einzelnen Client-Instance und einem individuellen Object Storage-Server FSx für Lustre ist auf 5 Gbit/s begrenzt. Die Anzahl der Object Storage-Server, die Ihrem Voraussetzungen FSx for Lustre-Dateisystem zugrunde liegen, finden Sie unter.

Speicherlayout des Dateisystems

Alle Dateidaten in Lustre wird auf Speichervolumes gespeichert, die als Objektspeicherziele (OSTs) bezeichnet werden. Alle Dateimetadaten (einschließlich Dateinamen, Zeitstempel, Berechtigungen und mehr) werden auf Speichervolumes gespeichert, die als Metadatenziele (MDTs) bezeichnet werden. Amazon FSx for Lustre-Dateisysteme bestehen aus einem oder mehreren MDTs und mehreren OSTs. Jede OST-Datei hat eine Größe von etwa 1 bis 2 TiB, abhängig vom Bereitstellungstyp des Dateisystems. Amazon FSx for Lustre verteilt Ihre Dateidaten über das gesamte Dateisystem OSTs , um die Speicherkapazität mit dem Durchsatz und der IOPS-Auslastung in Einklang zu bringen.

Führen Sie den folgenden Befehl von einem Client aus, auf dem OSTs das Dateisystem installiert ist, um die Speichernutzung der MDTs und der Elemente Ihres Dateisystems zu überprüfen.

lfs df -h mount/path

Die Ausgabe dieses Befehls sieht wie folgt aus:

UUID bytes Used Available Use% Mounted on mountname-MDT0000_UUID 68.7G 5.4M 68.7G 0% /fsx[MDT:0] mountname-OST0000_UUID 1.1T 4.5M 1.1T 0% /fsx[OST:0] mountname-OST0001_UUID 1.1T 4.5M 1.1T 0% /fsx[OST:1] filesystem_summary: 2.2T 9.0M 2.2T 0% /fsx

Striping von Daten in Ihrem Dateisystem

Mit File-Striping können Sie die Durchsatzleistung Ihres Dateisystems optimieren. Amazon FSx for Lustre verteilt OSTs Dateien automatisch auf mehrere Speicherserver, um sicherzustellen, dass Daten von allen Speicherservern bereitgestellt werden. Sie können dasselbe Konzept auf Dateiebene anwenden, indem Sie konfigurieren, wie Dateien auf mehrere OSTs verteilt werden.

Striping bedeutet, dass Dateien in mehrere Blöcke aufgeteilt werden können, die dann auf verschiedenen Ebenen gespeichert werden. OSTs Wenn eine Datei über mehrere Stripes verteilt wird OSTs, werden Lese- oder Schreibanforderungen an die Datei auf diese verteilt OSTs, wodurch der Gesamtdurchsatz oder die IOPS, die Ihre Anwendungen verarbeiten können, erhöht werden.

Im Folgenden sind die Standardlayouts für Amazon FSx for Lustre-Dateisysteme aufgeführt.

  • Für Dateisysteme, die vor dem 18. Dezember 2020 erstellt wurden, gibt das Standardlayout eine Stripe-Anzahl von 1 an. Das bedeutet, dass, sofern kein anderes Layout angegeben ist, jede Datei, die in Amazon FSx for Lustre mit Standard-Linux-Tools erstellt wurde, auf einer einzigen Festplatte gespeichert wird.

  • Für Dateisysteme, die nach dem 18. Dezember 2020 erstellt wurden, ist das Standardlayout ein progressives Dateilayout, bei dem Dateien mit einer Größe von weniger als 1 GiB in einem Stripe gespeichert werden und größeren Dateien eine Stripe-Anzahl von 5 zugewiesen wird.

  • Für Dateisysteme, die nach dem 25. August 2023 erstellt wurden, ist das Standardlayout ein progressives 4-Komponenten-Dateilayout, das unter erklärt wird. Progressive Datei-Layouts

  • Für alle Dateisysteme, unabhängig von ihrem Erstellungsdatum, verwenden aus Amazon S3 importierte Dateien nicht das Standardlayout, sondern das Layout im ImportedFileChunkSize Dateisystemparameter. In S3 importierte Dateien, die größer als die sind, ImportedFileChunkSize werden auf mehreren Dateien OSTs mit einer Stripe-Anzahl von gespeichert. (FileSize / ImportedFileChunksize) + 1 Der Standardwert von ImportedFileChunkSize ist 1 GiB.

Sie können die Layoutkonfiguration einer Datei oder eines Verzeichnisses mit dem lfs getstripe Befehl anzeigen.

lfs getstripe path/to/filename

Dieser Befehl meldet die Anzahl der Stripes, die Stripe-Größe und den Stripe-Offset einer Datei. Die Anzahl der Streifen gibt an, über wie viele Streifen OSTs die Datei gestreift ist. Die Stripe-Größe gibt an, wie viele kontinuierliche Daten auf einem OST gespeichert sind. Der Stripe-Offset ist der Index der ersten OST-Datei, über die die Datei gestreift wird.

Ändern Sie Ihre Striping-Konfiguration

Die Layoutparameter einer Datei werden festgelegt, wenn die Datei zum ersten Mal erstellt wird. Verwenden Sie den lfs setstripe Befehl, um eine neue, leere Datei mit einem bestimmten Layout zu erstellen.

lfs setstripe filename --stripe-count number_of_OSTs

Der lfs setstripe Befehl wirkt sich nur auf das Layout einer neuen Datei aus. Verwenden Sie ihn, um das Layout einer Datei festzulegen, bevor Sie sie erstellen. Sie können auch ein Layout für ein Verzeichnis definieren. Sobald es für ein Verzeichnis festgelegt ist, wird dieses Layout auf jede neue Datei angewendet, die diesem Verzeichnis hinzugefügt wird, jedoch nicht auf vorhandene Dateien. Jedes neue Unterverzeichnis, das Sie erstellen, erbt auch das neue Layout, das dann auf alle neuen Dateien oder Verzeichnisse angewendet wird, die Sie in diesem Unterverzeichnis erstellen.

Verwenden Sie den Befehl, um das Layout einer vorhandenen Datei zu ändern. lfs migrate Mit diesem Befehl wird die Datei nach Bedarf kopiert, um ihren Inhalt entsprechend dem Layout zu verteilen, das Sie im Befehl angeben. Beispielsweise ändern Dateien, die angehängt oder vergrößert werden, die Anzahl der Stripes nicht. Sie müssen sie also migrieren, um das Dateilayout zu ändern. Sie können auch eine neue Datei erstellen, indem Sie mit dem lfs setstripe Befehl das Layout angeben, den Originalinhalt in die neue Datei kopieren und dann die neue Datei umbenennen, um die Originaldatei zu ersetzen.

Es kann Fälle geben, in denen die Standard-Layoutkonfiguration nicht optimal für Ihre Arbeitslast ist. Beispielsweise kann in einem Dateisystem mit Dutzenden OSTs und einer großen Anzahl von Dateien mit mehreren Gigabyte eine höhere Leistung erzielt werden, wenn die Dateien über mehr als den Standardwert für die Stripe-Anzahl von fünf verteilt werden. OSTs Das Erstellen großer Dateien mit einer niedrigen Stripe-Anzahl kann zu Engpässen bei der I/O-Leistung führen und auch dazu führen OSTs , dass sie voll werden. In diesem Fall können Sie ein Verzeichnis mit einer größeren Stripe-Anzahl für diese Dateien erstellen.

Die Einrichtung eines Streifenlayouts für große Dateien (insbesondere Dateien mit einer Größe von mehr als einem Gigabyte) ist aus folgenden Gründen wichtig:

  • Verbessert den Durchsatz, da mehrere Server OSTs und die ihnen zugehörigen Server beim Lesen und Schreiben großer Dateien IOPS, Netzwerkbandbreite und CPU-Ressourcen bereitstellen können.

  • Reduziert die Wahrscheinlichkeit, dass ein kleiner Teil davon OSTs zu Hotspots wird, die die Gesamtleistung des Workloads einschränken.

  • Verhindert, dass eine einzelne große Datei eine OST-Datei füllt, was möglicherweise zu Fehlern bei voller Festplatte führen kann.

Es gibt keine einzige optimale Layoutkonfiguration für alle Anwendungsfälle. Eine ausführliche Anleitung zu Datei-Layouts finden Sie unter Managing File Layout (Striping) and Free Space in der Lustre.org-Dokumentation. Im Folgenden finden Sie allgemeine Richtlinien:

  • Das gestreifte Layout ist am wichtigsten für große Dateien, insbesondere für Anwendungsfälle, in denen Dateien routinemäßig Hunderte von Megabyte oder mehr groß sind. Aus diesem Grund weist das Standardlayout für ein neues Dateisystem Dateien mit einer Größe von mehr als 1 GiB eine Streifenanzahl von fünf zu.

  • Die Anzahl der Stripes ist der Layoutparameter, den Sie für Systeme, die große Dateien unterstützen, anpassen sollten. Die Anzahl der Stripes gibt die Anzahl der OST-Volumes an, auf denen Teile einer Stripe-Datei gespeichert werden. Beispiel: Bei einer Stripe-Anzahl von 2 und einer Stripe-Größe von 1 MiB Lustre schreibt abwechselnd 1-MiB-Blöcke einer Datei in jeden von zwei. OSTs

  • Die effektive Stripe-Anzahl ist, je nachdem, welcher Wert aus der tatsächlichen Anzahl von OST-Volumes und dem von Ihnen angegebenen Wert für die Stripe-Anzahl geringer ist. Sie können den speziellen Wert für die Stripe-Anzahl von verwenden, -1 um anzugeben, dass Stripes auf allen OST-Volumes platziert werden sollen.

  • Die Festlegung einer großen Anzahl von Stripes für kleine Dateien ist nicht optimal, da für bestimmte Operationen Lustre erfordert einen Netzwerk-Roundtrip zu allen OST-Dateien im Layout, auch wenn die Datei zu klein ist, um Speicherplatz auf allen OST-Volumes zu belegen.

  • Sie können ein progressives Datei-Layout (PFL) einrichten, bei dem sich das Layout einer Datei mit der Größe ändern kann. Eine PFL-Konfiguration kann die Verwaltung eines Dateisystems mit einer Kombination aus großen und kleinen Dateien vereinfachen, ohne dass Sie für jede Datei explizit eine Konfiguration festlegen müssen. Weitere Informationen finden Sie unter Progressive Datei-Layouts.

  • Die Stripe-Größe beträgt standardmäßig 1 MiB. Das Einstellen eines Stripe-Offsets kann unter bestimmten Umständen nützlich sein, aber im Allgemeinen ist es am besten, ihn nicht anzugeben und die Standardeinstellung zu verwenden.

Progressive Datei-Layouts

Sie können eine PFL-Konfiguration (Progressive File Layout) für ein Verzeichnis angeben, um vor dem Auffüllen verschiedene Stripe-Konfigurationen für kleine und große Dateien festzulegen. Sie können beispielsweise eine PFL für das Verzeichnis der obersten Ebene festlegen, bevor Daten in ein neues Dateisystem geschrieben werden.

Um eine PFL-Konfiguration anzugeben, verwenden Sie den lfs setstripe Befehl mit -E Optionen, um Layoutkomponenten für Dateien unterschiedlicher Größe anzugeben, z. B. den folgenden Befehl:

lfs setstripe -E 100M -c 1 -E 10G -c 8 -E 100G -c 16 -E -1 -c 32 /mountname/directory

Mit diesem Befehl werden vier Layoutkomponenten festgelegt:

  • Die erste Komponente (-E 100M -c 1) gibt einen Wert für die Anzahl der Stripes von 1 für Dateien mit einer Größe von bis zu 100 MiB an.

  • Die zweite Komponente (-E 10G -c 8) gibt eine Stripe-Anzahl von 8 für Dateien mit einer Größe von bis zu 10 GiB an.

  • Die dritte Komponente (-E 100G -c 16) gibt eine Stripe-Anzahl von 16 für Dateien mit einer Größe von bis zu 100 GiB an.

  • Die vierte Komponente (-E -1 -c 32) gibt eine Stripe-Anzahl von 32 für Dateien mit mehr als 100 GiB an.

Wichtig

Durch das Anhängen von Daten an eine Datei, die mit einem PFL-Layout erstellt wurde, werden alle Layoutkomponenten aufgefüllt. Wenn Sie beispielsweise mit dem oben gezeigten 4-Komponenten-Befehl eine 1 MiB-Datei erstellen und dann Daten am Ende der Datei hinzufügen, wird das Layout der Datei auf eine Stripeanzahl von -1 erweitert, was bedeutet, dass alle Stripes im System vorhanden sind. OSTs Das bedeutet nicht, dass Daten in jedes OST geschrieben werden, aber ein Vorgang wie das Lesen der Dateilänge sendet parallel zu jedem OST eine Anfrage, was das Dateisystem erheblich belastet.

Achten Sie daher darauf, die Anzahl der Stripes für Dateien mit kleiner oder mittlerer Länge zu begrenzen, an die anschließend Daten angehängt werden können. Da Protokolldateien normalerweise durch das Anhängen neuer Datensätze wachsen, weist Amazon FSx for Lustre jeder im Anfügemodus erstellten Datei eine Standard-Stripe-Anzahl von 1 zu, unabhängig von der im übergeordneten Verzeichnis angegebenen Standard-Stripe-Konfiguration.

Die Standard-PFL-Konfiguration auf Amazon FSx für Lustre-Dateisysteme, die nach dem 25. August 2023 erstellt wurden, wird mit diesem Befehl festgelegt:

lfs setstripe -E 100M -c 1 -E 10G -c 8 -E 100G -c 16 -E -1 -c 32 /mountname

Kunden mit Workloads, die in hohem Maße gleichzeitig auf mittlere und große Dateien zugreifen, profitieren wahrscheinlich von einem Layout mit mehr Stripes bei kleineren Größen und Striping über alle OSTs für die größten Dateien, wie das aus vier Komponenten bestehende Beispiel-Layout zeigt.

Überwachung von Leistung und Nutzung

Jede Minute sendet Amazon FSx for Lustre Nutzungsdaten für jede Festplatte (MDT und OST) an Amazon. CloudWatch

Um aggregierte Details zur Dateisystemnutzung anzuzeigen, können Sie sich die Summenstatistik jeder Metrik ansehen. Beispielsweise gibt die DataReadBytes Statistik Summe den gesamten Lesedurchsatz an, der von allen Benutzern OSTs in einem Dateisystem gemessen wurde. In ähnlicher Weise gibt die FreeDataStorageCapacity Statistik Summe die gesamte verfügbare Speicherkapazität für Dateidaten im Dateisystem an.

Weitere Informationen zur Überwachung der Leistung Ihres Dateisystems finden Sie unterÜberwachung von Amazon FSx for Lustre-Dateisystemen.

Tipps zur Leistung

Beachten Sie bei der Verwendung von Amazon FSx for Lustre die folgenden Leistungstipps. Informationen zu Servicebeschränkungen finden Sie unterKontingente für Amazon FSx for Lustre.

  • Durchschnittliche I/O-Größe — Da es sich bei Amazon FSx for Lustre um ein Netzwerk-Dateisystem handelt, durchläuft jeder Dateivorgang einen Roundtrip zwischen dem Client und Amazon FSx for Lustre, wodurch ein geringer Latenz-Overhead entsteht. Aufgrund dieser vorgangsbasierten Latenz wird der Gesamtdurchsatz im Allgemeinen erhöht, wenn die durchschnittliche E/A-Größe steigt, da der Overhead über eine größere Menge von Daten amortisiert wird.

  • Anforderungsmodell — Durch die Aktivierung asynchroner Schreibvorgänge in Ihr Dateisystem werden ausstehende Schreibvorgänge auf der EC2 Amazon-Instance zwischengespeichert, bevor sie asynchron in Amazon FSx for Lustre geschrieben werden. Asynchrone Schreibvorgänge besitzen in der Regel niedrigere Latenzen. Bei der Ausführung asynchroner Schreibvorgänge verwendet der Kernel zusätzlichen Speicher zum Zwischenspeichern. Ein Dateisystem, das synchrone Schreibvorgänge aktiviert hat, sendet synchrone Anfragen an Amazon FSx for Lustre. Jeder Vorgang durchläuft eine Hin- und Rückreise zwischen dem Kunden und Amazon FSx for Lustre.

    Anmerkung

    Das von Ihnen gewählte Anforderungsmodell weist Kompromisse in Bezug auf Konsistenz (wenn Sie mehrere EC2 Amazon-Instances verwenden) und Geschwindigkeit auf.

  • Verzeichnisgröße einschränken — Um eine optimale Metadaten-Performance auf den Dateisystemen Persistent 2 FSx for Lustre zu erreichen, beschränken Sie jedes Verzeichnis auf weniger als 100.000 Dateien. Durch die Begrenzung der Anzahl der Dateien in einem Verzeichnis wird die Zeit reduziert, die das Dateisystem benötigt, um das übergeordnete Verzeichnis zu sperren.

  • EC2 Amazon-Instances — Anwendungen, die eine große Anzahl von Lese- und Schreibvorgängen ausführen, benötigen wahrscheinlich mehr Speicher oder Rechenkapazität als Anwendungen, die dies nicht tun. Wenn Sie Ihre EC2 Amazon-Instances für Ihre rechenintensive Arbeitslast starten, wählen Sie Instance-Typen aus, die über die Menge dieser Ressourcen verfügen, die Ihre Anwendung benötigt. Die Leistungsmerkmale von Amazon FSx for Lustre-Dateisystemen hängen nicht von der Verwendung von Amazon EBS-optimierten Instances ab.

  • Empfohlenes Tuning von Client-Instances für optimale Leistung

    1. Für Client-Instance-Typen mit einem Arbeitsspeicher von mehr als 64 GiB empfehlen wir die folgende Optimierung:

      sudo lctl set_param ldlm.namespaces.*.lru_max_age=600000 sudo lctl set_param ldlm.namespaces.*.lru_size=<100 * number_of_CPUs>
    2. Für Client-Instance-Typen mit mehr als 64 vCPU-Kernen empfehlen wir die folgende Optimierung:

      echo "options ptlrpc ptlrpcd_per_cpt_max=32" >> /etc/modprobe.d/modprobe.conf echo "options ksocklnd credits=2560" >> /etc/modprobe.d/modprobe.conf # reload all kernel modules to apply the above two settings sudo reboot

      Nach dem Mounten des Clients muss die folgende Optimierung vorgenommen werden:

      sudo lctl set_param osc.*OST*.max_rpcs_in_flight=32 sudo lctl set_param mdc.*.max_rpcs_in_flight=64 sudo lctl set_param mdc.*.max_mod_rpcs_in_flight=50

    Beachten Sie, dass lctl set_param es bekanntermaßen nach einem Neustart nicht bestehen bleibt. Da diese Parameter von der Clientseite aus nicht dauerhaft gesetzt werden können, wird empfohlen, einen Boot-Cron-Job zu implementieren, um die Konfiguration mit den empfohlenen Einstellungen festzulegen.

  • Gleichmäßiger Workload-Balance OSTs — In einigen Fällen bestimmt Ihre Arbeitslast nicht den Gesamtdurchsatz, den Ihr Dateisystem bereitstellen kann (200 MBps pro TiB Speicher). Falls ja, können Sie CloudWatch Metriken verwenden, um Fehler zu beheben, falls die Leistung durch ein Ungleichgewicht in den I/O-Mustern Ihres Workloads beeinträchtigt wird. Um herauszufinden, ob dies die Ursache ist, schauen Sie sich die CloudWatch Maximum-Metrik für Amazon FSx for Lustre an.

    In einigen Fällen zeigt diese Statistik eine Auslastung bei oder über 240 MBps Durchsatz (die Durchsatzkapazität einer einzelnen Amazon FSx for Lustre-Festplatte mit 1,2 TiB). In solchen Fällen ist Ihre Arbeitslast nicht gleichmäßig auf Ihre Festplatten verteilt. In diesem Fall können Sie den lfs setstripe Befehl verwenden, um das Striping der Dateien zu ändern, auf die Ihr Workload am häufigsten zugreift. Um eine optimale Leistung zu erzielen, sollten Sie Dateien mit hohen Durchsatzanforderungen über das OSTs gesamte Dateisystem verteilen.

    Wenn Ihre Dateien aus einem Datenrepository importiert werden, können Sie einen anderen Ansatz wählen, um Ihre Dateien mit hohem Durchsatz gleichmäßig über Ihr OSTs Datenarchiv zu verteilen. Zu diesem Zweck können Sie den ImportedFileChunkSize Parameter ändern, wenn Sie Ihr nächstes Amazon FSx for Lustre-Dateisystem erstellen.

    Nehmen wir zum Beispiel an, dass Ihr Workload ein 7,0-TiB-Dateisystem (das aus 6 x 1,17 TiB besteht OSTs) verwendet und einen hohen Durchsatz für 2,4-GiB-Dateien erzielen muss. In diesem Fall können Sie den ImportedFileChunkSize Wert auf festlegen, (2.4 GiB / 6 OSTs) = 400 MiB sodass Ihre Dateien gleichmäßig über die Dateisysteme verteilt werden. OSTs

  • Lustre Client für Metadaten-IOPS — Wenn für Ihr Dateisystem eine Metadatenkonfiguration angegeben ist, empfehlen wir Ihnen, eine zu installieren Lustre 2.15 Client oder ein Lustre 2.12-Client mit einer der folgenden Betriebssystemversionen: Amazon Linux 2023; Amazon Linux 2; Red Hat/Rocky Linux 8.9, 8.10 oder 9.x; CentOS 8.9 oder 8.10; Ubuntu 22 mit 6.2, 6.5 oder 6.8 Kernel; oder Ubuntu 20.