Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Prestazioni di Amazon FSx for Lustre
Questo capitolo fornisce argomenti sulle prestazioni di Amazon FSx for Lustre, inclusi alcuni importanti suggerimenti e raccomandazioni per massimizzare le prestazioni del tuo file system.
Argomenti
Panoramica di
Amazon FSx for Lustre, basato sul popolare file system ad alte prestazioniLustre, offre prestazioni di scalabilità orizzontale che aumentano linearmente con le dimensioni di un file system. Lustrei file system sono scalabili orizzontalmente su più file server e dischi. Questa scalabilità offre a ciascun cliente l'accesso diretto ai dati archiviati su ciascun disco per eliminare molti dei colli di bottiglia presenti nei file system tradizionali. Amazon FSx for Lustre si basa su un'architettura Lustre scalabile per supportare livelli elevati di prestazioni su un gran numero di clienti.
Come funzionano i file system FSx for Lustre
Ogni file system FSx for Lustre è costituito dai file server con cui i client comunicano e da un set di dischi collegati a ciascun file server in cui sono archiviati i dati. Ogni file server utilizza una cache in memoria veloce per migliorare le prestazioni dei dati a cui si accede più frequentemente. A seconda della classe di archiviazione, il file server può essere dotato di una cache di lettura SSD opzionale. Quando un client accede ai dati archiviati nella cache in memoria o SSD, il file server non ha bisogno di leggerli dal disco, il che riduce la latenza e aumenta la quantità totale di throughput che è possibile generare. Il diagramma seguente illustra i percorsi di un'operazione di scrittura, un'operazione di lettura eseguita dal disco e un'operazione di lettura eseguita dalla cache in memoria o SSD.
Quando si leggono i dati archiviati nella cache in memoria o SSD del file server, le prestazioni del file system sono determinate dal throughput di rete. Quando si scrivono dati nel file system o si leggono dati che non sono archiviati nella cache in memoria, le prestazioni del file system sono determinate dalla minore velocità effettiva della rete e della velocità effettiva del disco.
Per ulteriori informazioni sul throughput di rete, sul throughput del disco e sulle caratteristiche IOPS delle classi di storage SSD e HDD, vedi e. Caratteristiche prestazionali delle classi di storage SSD e HDD Caratteristiche Intelligent-Tiering prestazionali della classe di storage
Prestazioni dei metadati del file system
Le operazioni di I/O dei metadati del file system al secondo (IOPS) determinano il numero di file e directory che è possibile creare, elencare, leggere ed eliminare al secondo.
I file system Persistent 2 consentono di eseguire il provisioning degli IOPS dei metadati indipendentemente dalla capacità di storage e offrono una maggiore visibilità sul numero e sul tipo di metadati che le istanze dei client IOPS generano sul file system. Con i file system SSD, il provisioning dei metadati IOPS viene eseguito automaticamente in base alla capacità di archiviazione fornita. La modalità automatica non è supportata nei file system. Intelligent-Tiering
Con i file system FSx for Lustre Persistent 2, il numero di metadati IOPS assegnati e il tipo di operazione sui metadati determinano la frequenza di operazioni sui metadati supportate dal file system. Il livello di IOPS di metadati fornito determina il numero di IOPS assegnati per i dischi di metadati del file system.
| Tipo di operazione | Operazioni che è possibile eseguire al secondo per ogni IOPS di metadati assegnati |
|---|---|
|
Creazione, apertura e chiusura di file |
2 |
|
Elimina file |
1 |
|
Crea, rinomina directory |
0.1 |
|
Eliminazione della directory |
0.2 |
Per i file system SSD, puoi scegliere di eseguire il provisioning degli IOPS dei metadati utilizzando la modalità automatica. In modalità automatica, Amazon FSx fornisce automaticamente gli IOPS dei metadati in base alla capacità di archiviazione del file system in base alla tabella seguente:
| Capacità di archiviazione del file system | Metadati IOPS inclusi in modalità automatica |
|---|---|
|
1200 GiB |
1500 |
|
2400 GiB |
3000 |
|
4800-9600 GiB |
6000 |
|
12000-45600 GiB |
12000 |
|
≥48000 GiB |
12000 IOPS per 24000 GiB |
In User-provisioned modalità, è possibile scegliere facoltativamente di specificare il numero di metadati IOPS di cui eseguire il provisioning. I valori validi sono:
Per i file system SSD, i valori validi sono
1500,3000600012000, e multipli fino a un massimo di12000.192000Per i Intelligent-Tiering file system, i valori validi sono
6000e.12000
Per informazioni su come configurare Metadata IOPS, vedere. Gestione delle prestazioni dei metadati Tieni presente che paghi per gli IOPS dei metadati assegnati al di sopra del numero predefinito di metadati IOPS per il tuo file system.
Throughput per le singole istanze del cliente
Se stai creando un file system con oltre 10 GBps di capacità di throughput, ti consigliamo di abilitare Elastic Fabric Adapter (EFA) per ottimizzare il throughput per istanza del client. Per ottimizzare ulteriormente il throughput per istanza client, i EFA-enabled file system supportano anche GPUDirect Storage per le istanze client EFA-enabled NVIDIA e ENA Express per le istanze GPU-based client ENA. Express-enabled
Il throughput che è possibile aumentare verso una singola istanza client dipende dalla scelta del tipo di file system e dall'interfaccia di rete dell'istanza client.
| Tipo di file system | Interfaccia di rete dell'istanza del client | Throughput massimo per client, Gbps |
|---|---|---|
|
No EFA-enabled |
Qualsiasi |
100 Gbps* |
|
EFA-enabled |
ENA |
100 Gbps* |
|
EFA-enabled |
ENA Express |
100 Gb/s |
|
EFA-enabled |
EFA |
700 Gbps |
|
EFA-enabled |
EFA con GDS |
1200 Gbps |
Nota
* Il traffico tra una singola istanza client e un singolo server di object storage FSx for Lustre è limitato a 5 Gbps. Per conoscere il Indirizzi IP per file system numero di server di storage a oggetti su cui si basa il file system FSx for Lustre, fate riferimento a.
Layout di archiviazione del file system
Tutti i dati dei file in esso Lustre contenuti vengono archiviati su volumi di archiviazione denominati Object Storage Targets (OST). Tutti i metadati dei file (inclusi nomi di file, timestamp, autorizzazioni e altro) vengono archiviati in volumi di archiviazione denominati metadata target (MDT). I file system Amazon FSx for Lustre sono composti da uno o più MDT e più OST. Amazon FSx for Lustre distribuisce i dati dei file tra le OST che compongono il file system per bilanciare la capacità di storage con il throughput e il carico IOPS.
Per visualizzare l'utilizzo dello storage degli MDT e degli OST che costituiscono il file system, esegui il seguente comando da un client su cui è installato il file system.
lfs df -hmount/path
L’output di questo comando è simile al seguente.
Esempio
UUID bytes Used Available Use% Mounted onmountname-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 dei dati nel file system
È possibile ottimizzare le prestazioni di throughput del file system con lo striping dei file. Amazon FSx for Lustre distribuisce automaticamente i file tra gli OST per garantire che i dati vengano serviti da tutti i server di storage. Puoi applicare lo stesso concetto a livello di file configurando il modo in cui i file vengono suddivisi in più OST.
Lo striping significa che i file possono essere suddivisi in più blocchi che vengono poi archiviati in diversi OST. Quando un file viene sottoposto a striping su più OST, le richieste di lettura o scrittura al file vengono distribuite su tali OST, aumentando il throughput aggregato o gli IOPS che le applicazioni possono generare.
Di seguito sono riportati i layout predefiniti per i file system Amazon FSx for Lustre.
Per i file system creati prima del 18 dicembre 2020, il layout predefinito specifica un numero di strisce pari a 1. Ciò significa che, a meno che non venga specificato un layout diverso, ogni file creato in Amazon FSx for Lustre utilizzando strumenti Linux standard viene archiviato su un singolo disco.
Per i file system creati dopo il 18 dicembre 2020, il layout predefinito è un layout di file progressivo in cui i file di dimensioni inferiori a 1 GiB vengono archiviati in un'unica striscia e ai file più grandi viene assegnato un numero di strisce pari a 5.
Per i file system creati dopo il 25 agosto 2023, il layout predefinito è un layout di file progressivo a 4 componenti, spiegato in. Layout progressivi dei file
Per tutti i file system, indipendentemente dalla data di creazione, i file importati da Amazon S3 non utilizzano il layout predefinito, ma utilizzano invece il layout nel parametro del
ImportedFileChunkSizefile system. S3-imported i file di dimensioni superiori aImportedFileChunkSizeverranno archiviati su più OST con un numero di stripe pari a.(FileSize / ImportedFileChunksize) + 1Il valore predefinito diImportedFileChunkSizeè 1GiB.
È possibile visualizzare la configurazione del layout di un file o di una directory utilizzando il lfs getstripe comando.
lfs getstripepath/to/filename
Questo comando riporta il numero di strisce, la dimensione delle strisce e l'offset delle strisce di un file. Il numero di stripe indica il numero di OST su cui è suddiviso il file. La dimensione dello stripe indica la quantità di dati continui memorizzati su un OST. Lo stripe offset è l'indice del primo OST su cui viene eseguito lo striping del file.
Modifica della configurazione dello striping
I parametri di layout di un file vengono impostati quando il file viene creato per la prima volta. Utilizzate il lfs setstripe comando per creare un nuovo file vuoto con un layout specificato.
lfs setstripefilename--stripe-countnumber_of_OSTs
Il lfs setstripe comando ha effetto solo sul layout di un nuovo file. Si usa per specificare il layout di un file prima di crearlo. È inoltre possibile definire un layout per una cartella. Una volta impostato su una directory, tale layout viene applicato a ogni nuovo file aggiunto a quella directory, ma non ai file esistenti. Ogni nuova sottodirectory creata eredita anche il nuovo layout, che viene quindi applicato a qualsiasi nuovo file o cartella creata all'interno di quella sottodirectory.
Per modificare il layout di un file esistente, utilizzate il comando. lfs migrate Questo comando copia il file in base alle esigenze per distribuirne il contenuto in base al layout specificato nel comando. Ad esempio, i file aggiunti o ingranditi non modificano il numero di stripe, quindi è necessario migrarli per modificare il layout del file. In alternativa, puoi creare un nuovo file utilizzando il lfs setstripe comando per specificarne il layout, copiare il contenuto originale nel nuovo file e quindi rinominare il nuovo file per sostituire il file originale.
In alcuni casi la configurazione predefinita del layout non è ottimale per il carico di lavoro. Ad esempio, un file system con decine di OST e un numero elevato di file da più gigabyte può ottenere prestazioni più elevate suddividendo i file su un valore di stripe superiore al valore predefinito di cinque OST. La creazione di file di grandi dimensioni con un numero di stripe ridotto può causare rallentamenti I/O delle prestazioni e anche il riempimento degli OST. In questo caso, puoi creare una directory con un numero di stripe maggiore per questi file.
L'impostazione di un layout a strisce per file di grandi dimensioni (in particolare file di dimensioni superiori a un gigabyte) è importante per i seguenti motivi:
Migliora la velocità effettiva consentendo a più OST e ai server associati di fornire IOPS, larghezza di banda di rete e risorse della CPU durante la lettura e la scrittura di file di grandi dimensioni.
Riduce la probabilità che un piccolo sottoinsieme di OST diventi un punto critico che limita le prestazioni complessive dei carichi di lavoro.
Impedisce che un singolo file di grandi dimensioni riempia un OST, causando possibili errori relativi all'esaurimento del disco.
Non esiste un'unica configurazione di layout ottimale per tutti i casi d'uso. Per una guida dettagliata sui layout dei file, consulta Managing File Layout (Striping) e Free Space
Il layout a strisce è particolarmente importante per i file di grandi dimensioni, in particolare per i casi d'uso in cui i file hanno normalmente dimensioni di centinaia di megabyte o più. Per questo motivo, il layout predefinito per un nuovo file system assegna un conteggio a strisce pari a cinque per i file di dimensioni superiori a 1 GiB.
Stripe count è il parametro di layout da regolare per i sistemi che supportano file di grandi dimensioni. Lo stripe count specifica il numero di volumi OST che conterranno parti di un file con striping. Ad esempio, con un numero di stripe di 2 e una dimensione di stripe di 1 MiB, Lustre scrive blocchi alternativi di 1 MiB di un file in ciascuno dei due OST.
Il numero effettivo di stripe è il minore tra il numero effettivo di volumi OST e il valore del conteggio delle stripe specificato. È possibile utilizzare il valore speciale del conteggio delle strisce
-1per indicare che le strisce devono essere posizionate su tutti i volumi OST.L'impostazione di un numero di stripe elevato per i file di piccole dimensioni non è ottimale perché per alcune operazioni Lustre richiede un round trip di rete per ogni OST del layout, anche se il file è troppo piccolo per occupare spazio su tutti i volumi OST.
È possibile impostare un layout progressivo dei file (PFL) che consenta di modificare il layout di un file in base alle dimensioni. Una configurazione PFL può semplificare la gestione di un file system che contiene una combinazione di file grandi e piccoli senza dover impostare esplicitamente una configurazione per ogni file. Per ulteriori informazioni, consulta Layout progressivi dei file.
La dimensione predefinita di Stripe è di 1 MiB. L'impostazione di uno stripe offset può essere utile in circostanze particolari, ma in generale è meglio lasciarlo non specificato e utilizzare l'impostazione predefinita.
Layout progressivi dei file
È possibile specificare una configurazione PFL (Progressive File Layout) per una directory per specificare diverse configurazioni di stripe per file di piccole e grandi dimensioni prima di popolarla. Ad esempio, è possibile impostare un PFL nella directory di primo livello prima che i dati vengano scritti in un nuovo file system.
Per specificare una configurazione PFL, utilizzate il lfs setstripe comando con -E opzioni per specificare i componenti di layout per file di dimensioni diverse, come il seguente comando:
lfs setstripe -E 100M -c 1 -E 10G -c 8 -E 100G -c 16 -E -1 -c 32/mountname/directory
Questo comando imposta quattro componenti di layout:
Il primo componente (
-E 100M -c 1) indica un valore di conteggio delle strisce pari a 1 per file di dimensioni fino a 100 MiB.Il secondo componente (
-E 10G -c 8) indica un numero di strisce pari a 8 per file di dimensioni fino a 10 GiB.Il terzo componente (
-E 100G -c 16) indica un numero di strisce pari a 16 per file di dimensioni fino a 100 GiB.Il quarto componente (
-E -1 -c 32) indica un numero di strisce pari a 32 per i file di dimensioni superiori a 100 GiB.
Importante
L'aggiunta di dati a un file creato con un layout PFL popolerà tutti i suoi componenti di layout. Ad esempio, con il comando a 4 componenti mostrato sopra, se crei un file da 1 MiB e poi aggiungi dati alla fine, il layout del file si espanderà fino ad avere un numero di stripe pari a -1, ovvero tutti gli OST del sistema. Ciò non significa che i dati verranno scritti su ogni OST, ma un'operazione come la lettura della lunghezza del file invierà una richiesta in parallelo a ogni OST, aggiungendo un notevole carico di rete al file system.
Pertanto, fai attenzione a limitare il numero di stripe per qualsiasi file di piccola o media lunghezza a cui successivamente possono essere aggiunti dati. Poiché i file di log di solito crescono con l'aggiunta di nuovi record, Amazon FSx for Lustre assegna un numero di stripe predefinito pari a 1 a qualsiasi file creato in modalità di aggiunta, indipendentemente dalla configurazione di stripe predefinita specificata dalla directory principale.
La configurazione PFL predefinita sui file system Amazon FSx for Lustre creati dopo il 25 agosto 2023 è impostata con questo comando:
lfs setstripe -E 100M -c 1 -E 10G -c 8 -E 100G -c 16 -E -1 -c 32/mountname
È probabile che i clienti con carichi di lavoro con accesso altamente simultaneo a file di medie e grandi dimensioni trarranno vantaggio da un layout con più strisce a dimensioni più piccole e striping su tutti gli OST per i file più grandi, come mostrato nell'esempio di layout a quattro componenti.
Monitoraggio delle prestazioni e dell'utilizzo
Ogni minuto, Amazon FSx for Lustre trasmette le metriche di utilizzo per ciascun disco (MDT e OST) ad Amazon. CloudWatch
Per visualizzare i dettagli aggregati sull'utilizzo del file system, puoi consultare la statistica Sum di ciascuna metrica. Ad esempio, la somma della DataReadBytes statistica riporta il throughput di lettura totale visto da tutti gli OST in un file system. Analogamente, la somma della FreeDataStorageCapacity statistica riporta la capacità di archiviazione totale disponibile per i dati dei file nel file system.
Per ulteriori informazioni sul monitoraggio delle prestazioni del file system, vedereMonitoraggio dei file system Amazon FSx for Lustre.