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 basiert auf Lustre, dem beliebten Hochleistungsdateisystem, und bietet Scale-Out-Leistung, die linear mit der Größe eines Dateisystems zunimmt. Lustre-Dateisysteme lassen sich horizontal auf mehrere Dateiserver und Festplatten skalieren. Diese Skalierung ermöglicht jedem 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 der skalierbaren Architektur von Lustre auf, um ein hohes Leistungsniveau bei einer großen Anzahl von Kunden zu unterstützen.

So funktionieren FSx for Lustre-Dateisysteme

Jedes FSx for Lustre-Dateisystem 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 für die am häufigsten aufgerufenen Daten zu verbessern. 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 for Lustre-Leistungsarchitektur.

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 ein HDD Lustre-Dateisystem mit einem SSD-Cache bereitstellen, erstellt Amazon FSx einen SSD-Cache, der automatisch auf 20 Prozent der Festplattenspeicherkapazität des Dateisystems skaliert 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 einen Durchsatz von Hunderten von Gbit/s und Millionen 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 mithilfe eines Netzwerk-I/O-Kreditmechanismus, 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 (MB/s/TiB bereitgestellter Speicher) Netzwerk-IOPS (IOPS/TiB des bereitgestellten Speichers) Cache-Speicher (GiB RAM/TIB bereitgestellter Speicher) Festplattenlatenzen pro Dateivorgang (Millisekunden, P50) Festplattendurchsatz (Mbit/s/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 (MB/s/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 (Mbit/s/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 (MB/s pro TiB bereitgestellten Speichers) Netzwerk-IOPS (IOPS pro TiB bereitgestellten Speichers) Cache-Speicher (GiB pro TiB bereitgestellten Speichers) Festplattenlatenzen pro Dateivorgang (Millisekunden, P50) Festplattendurchsatz (MB/s pro TiB bereitgestelltem 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 MB/s pro TiB Speicher: 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 MB/s pro TiB Durchsatz pro Speichereinheit bietet einen aggregierten Basisdurchsatz von 240 MB/s und einen Burst-Festplattendurchsatz von 1,152 GB/s.

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 automatisch auf FSx for Lustre-Dateisystemen 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-IOPS-Client-Instances, die in Ihrem Dateisystem ausgeführt werden.

Bei FSx for Lustre Persistent_2 Dateisystemen bestimmen die Anzahl der von Ihnen bereitgestellten Metadaten-IOPS und die Art des Metadatenvorgangs die Rate 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

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 automatischen Modus

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.

Speicherlayout des Dateisystems

Alle Dateidaten in Lustre werden auf Speichervolumes gespeichert, die als Object Storage Targets (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 auf die OSTs, aus denen Ihr Dateisystem besteht, um die Speicherkapazität mit dem Durchsatz und der IOPS-Auslastung in Einklang zu bringen.

Um die Speichernutzung der MDT- und OSTs zu überprüfen, aus denen Ihr Dateisystem besteht, führen Sie den folgenden Befehl von einem Client aus, auf dem das Dateisystem gemountet ist.

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

Daten in Ihrem Dateisystem entfernen

Mit File-Striping können Sie die Durchsatzleistung Ihres Dateisystems optimieren. Amazon FSx for Lustre verteilt Dateien automatisch auf alle OSTs, 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 OSTs gespeichert werden. Wenn eine Datei über mehrere OSTs verteilt wird, werden Lese- oder Schreibanforderungen an die Datei auf diese OSTs verteilt, wodurch der Gesamtdurchsatz oder die IOPS, die Ihre Anwendungen verarbeiten können, erhöht wird.

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 in Amazon FSx for Lustre mit Standard-Linux-Tools erstellte Datei 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. S3-importierte Dateien, die größer als die sind, ImportedFileChunkSize werden auf mehreren 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 Streifenanzahl gibt an, über wie viele 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 ihr 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 von 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 OSTs verteilt werden. 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, dass OSTs 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, indem mehrere OSTs und die 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 der OSTs zu Hotspots wird, die die Gesamtleistung der Arbeitslast 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. Bei einer Stripe-Anzahl von 2 und einer Stripe-Größe von 1 MiB schreibt Lustre beispielsweise abwechselnd 1-MB-Chunks einer Datei in jedes von zwei OSTs.

  • Die effektive Stripe-Anzahl ist der kleinere Wert aus der tatsächlichen Anzahl von OST-Volumes und dem von Ihnen angegebenen Wert für die Stripe-Anzahl. 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 Einstellung einer großen Stripe-Anzahl für kleine Dateien ist nicht optimal, da Lustre für bestimmte Operationen einen Netzwerk-Roundtrip zu jedem OST-Objekt im Layout erfordert, 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 Stripe-Anzahl von -1 erweitert, was alle OSTs im System bedeutet. 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 wachsen, wenn neue Datensätze angehängt werden, 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 for Lustre-Dateisystemen, 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 im Beispiel-Layout mit vier Komponenten dargestellt.

Überwachung von Leistung und Nutzung

Jede Minute sendet Amazon FSx for Lustre Nutzungsmetriken 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. Die Summe der DataReadBytes Statistik gibt beispielsweise den gesamten Lesedurchsatz an, der von allen OSTs in einem Dateisystem gemessen wurde. In ähnlicher Weise gibt die Summe der FreeDataStorageCapacity Statistik 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.

Tipps zur Leistung

Beachten Sie bei der Verwendung von Amazon FSx for Lustre die folgenden Leistungstipps. Informationen zu Servicebeschränkungen finden Sie unter. Kontingente

  • 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 Amazon EC2 EC2-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 einen Hin- und Rückweg zwischen dem Kunden und Amazon FSx for Lustre.

    Anmerkung

    Ihr Anforderungsmodell geht hinsichtlich Konsistenz (wenn Sie mehrere Amazon-EC2-Instances verwenden) und Geschwindigkeit Kompromisse ein.

  • Verzeichnisgröße begrenzen — Um eine optimale Metadaten-Performance auf Persistent_2 FSx for Lustre-Dateisystemen 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 eine Sperre für das übergeordnete Verzeichnis zu erlangen.

  • Amazon EC2 EC2-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 Amazon EC2 EC2-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 alle Client-Instance-Typen und -Größen empfehlen wir die folgende Optimierung:

      sudo lctl set_param osc.*.max_dirty_mb=64
    2. Für Client-Instance-Typen mit einem Arbeitsspeicher von mehr als 64 GiB empfehlen wir die folgende Optimierung:

      lctl set_param ldlm.namespaces.*.lru_max_age=600000
    3. 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 dies 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.

  • Workload-Balance zwischen allen OSTs — In einigen Fällen bestimmt Ihre Arbeitslast nicht den Gesamtdurchsatz, den Ihr Dateisystem bereitstellen kann (200 MB/s pro TiB Speicher). Wenn 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 Last 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 auf alle OSTs verteilen, aus denen Ihr Dateisystem besteht.

    Wenn Ihre Dateien aus einem Datenrepository importiert werden, können Sie einen anderen Ansatz wählen, um Ihre Dateien mit hohem Durchsatz gleichmäßig auf Ihre OSTs 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 verwendet (das aus 6 x 1,17-TiB-OSTs besteht) 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 auf die OSTs Ihres Dateisystems verteilt werden.

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