Come faccio a migliorare le prestazioni del mio file system FSx for Lustre?

4 minuti di lettura
0

Desidero migliorare le prestazioni del mio file system Amazon FSx for Lustre.

Risoluzione

Aumentare le dimensioni del file system

La velocità effettiva supportata da un file system FSx for Lustre è proporzionale alla sua capacità di archiviazione.

Capacità di trasmissione = Capacità di archiviazione (TiB)\ * Velocità effettiva di archiviazione per unità (MBps)

Ad esempio, un file system persistente con 4,8 TiB di capacità di storage e 50 MBps per TiB di throughput per unità di storage fornisce:

  • Una velocità effettiva aggregata del disco di base di 240 MBps
  • Velocità effettiva del disco burst di 1,152 GiBps

Se gli object storage targets (OST) sono quasi pieni, il file system potrebbe bloccarsi o bloccarsi durante la lettura o la scrittura sul file system. In questo caso, aumenta le dimensioni del file system.

Risoluzione dei problemi relativi agli OST sbilanciati

FSx for Lustre è un file system distribuito composto da OST che memorizzano i dati nel file system. Per visualizzare il numero di OST e le dimensioni di ogni OST, esegui il seguente comando dal client:

$lfs df -h

Se si tratta di un file system sbilanciato, l'output è simile al seguente:

UUID                 bytes   Used  Available Use%  Mounted on  
testfs-MDT0000_UUID  4.4G   214.5M   3.9G     4%   /mnt/testfs[MDT:0]  
testfs-MDT0001_UUID  4.4G   144.5M   4.0G     4%   /mnt/testfs[MDT:1]  
testfs-OST0000_UUID  2.0T   751.3G   1.1G    37%   /mnt/testfs[OST:0]  
testfs-OST0001_UUID  2.0T   755.3G   1.1G    37%   /mnt/testfs[OST:1]  
testfs-OST0002_UUID  2.0T     1.9T  55.1M    99%   /mnt/testfs[OST:2] <-  
testfs-OST0003_UUID  2.0T   751.3G   1.1G    37%   /mnt/testfs[OST:3]  
testfs-OST0004_UUID  2.0T   747.3G   1.1G    37%   /mnt/testfs[OST:4]  
testfs-OST0005_UUID  2.0T   743.3G   1.1G    36%   /mnt/testfs[OST:5]

filesystem summary: 11.8T     5.5T   5.7T    46%  /mnt/lustre

Lo spazio di archiviazione disponibile di un singolo OST potrebbe essere relativamente più piccolo o più grande rispetto al resto. Questo accade a causa di una delle seguenti condizioni:

  • Vengono aggiunti nuovi OST e l'ottimizzazione non è completa.
  • Il numero di strisce predefinito di uno posiziona il file su un singolo OST.

Se più OST sono pieni, aumenta la capacità di archiviazione del file system. Se solo alcune OST sono piene, riequilibra le OST.

Inoltre, ottimizza la configurazione dello striping per liberare spazio e migliorare le prestazioni. È possibile impostare una configurazione PFL (Progressive File Layout) che consenta di modificare il layout di un file in base alle dimensioni. Ad esempio, per specificare una configurazione di layout, usa il comando lfs setstripe con le opzioni**-E** per specificare i componenti del layout per file di dimensioni diverse:

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

Nota:

  • PFL potrebbe non essere utile con file più piccoli.
  • È possibile utilizzare il comando lfs setstripe per impostare la configurazione stripe solo per nuovi file e cartelle. È necessario utilizzare il comando lfs migrate per eliminare i file o le cartelle esistenti.
  • Le letture sequenziali potrebbero non trarre vantaggio dallo striping.

Usa istanze più grandi per carichi di lavoro ad alta intensità di calcolo

Per carichi di lavoro intensivi, scegli istanze con memoria o capacità di elaborazione maggiori.

Di seguito sono riportate alcune procedure consigliate per l'ottimizzazione:

1.    Ottimizza istanze client di grandi dimensioni per prestazioni ottimali:

Per i tipi di istanze client con memoria superiore a 64 GiB, applica la seguente regolazione:

lctl set_param ldlm.namespaces.*.lru_max_age=600000

Per i tipi di istanze client con più di 64 core CPU, applica la seguente regolazione:

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

2.    Dopo aver montato il client, applica la seguente regolazione:

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

Nota:

Il comando lctl set_param non persiste dopo il riavvio. Non puoi impostare questi parametri in modo permanente dal lato client. Pertanto, è consigliabile implementare un boot cron job per impostare la configurazione con le regolazioni consigliate.

Informazioni correlate

Produttività di base aggregata e velocità di burst

Suggerimenti sulle prestazioni

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa