View a markdown version of this page

Configurazione dei client EFA - FSx per Lustre

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à.

Configurazione dei client EFA

Utilizzate le seguenti procedure per configurare il client Lustre per accedere a un file system FSx for Lustre tramite Elastic Fabric Adapter (EFA).

EFA è supportato sui client Lustre che eseguono i seguenti sistemi operativi:

  • Amazon Linux 2023 (AL2023)

  • Red Hat Enterprise Linux (RHEL) 9.5 o versione successiva

  • Ubuntu 22.04 o versione successiva con versione del kernel 6.8+

EFA è supportato sui client Lustre elencati di seguito. Per ulteriori informazioni, consulta Installazione di Lustro client.

EFA è supportato sulle istanze EC2 Nitro v4 (o superiore) che supportano EFA, esclusa la famiglia di istanze trn2. Consulta i tipi di istanze supportati nella Guida per l'utente di Amazon EC2.

Fase 1: Configurare un gruppo EFA-enabled di sicurezza

Prima di configurare il client EFA, è necessario assicurarsi che i gruppi di sicurezza del file system e dei client Lustre consentano il traffico EFA. Per istruzioni sulla configurazione dei gruppi di sicurezza per EFA, consulta. EFA-enabled gruppi di sicurezza

Fase 2: Installare i driver richiesti

Nota

Se utilizzi un'AMI Deep Learning, puoi saltare questo passaggio poiché il client Lustre, il driver EFA e il driver NVIDIA GPUDirect Storage (GDS) sono preinstallati.

Installa il client Lustre e il driver EFA

Per installare rapidamente il client Lustre e il driver EFA
  1. Scaricate e decomprimete il file contenente lo script di installazione:

    curl -O https://docs.aws.amazon.com/fsx/latest/LustreGuide/samples/install-fsx-lustre-client.zip unzip install-fsx-lustre-client.zip
  2. Vai alla install-fsx-lustre-client cartella ed esegui lo script di installazione:

    cd install-fsx-lustre-client sudo ./bin/install-fsx-lustre-client.sh --install-lustre --install-efa

    Lo script esegue automaticamente le seguenti operazioni:

    • Installa il client Lustre

    • Installa il driver EFA

    • Verifica l'installazione del client Lustre e del driver EFA

    Per un elenco di opzioni ed esempi di utilizzo che è possibile utilizzare con lo install-fsx-lustre-client.sh script, consultate il README.md file nel file zip.

Installa il driver GDS (opzionale)

Questo passaggio è necessario solo se si prevede di utilizzare NVIDIA GPUDirect Storage (GDS) con FSx for Lustre.

Requisiti:

  • Amazon EC2 P5, P5e, P5en o istanza P6-B200

  • Driver NVIDIA GDS versione 2.24.2 o successiva

Per installare il driver NVIDIA GPUDirect Storage sull'istanza client
  1. Clonare il repository NVIDIA GDS:

    git clone https://github.com/NVIDIA/gds-nvidia-fs.git
  2. Compila e installa il driver:

    cd gds-nvidia-fs/src/ export NVFS_MAX_PEER_DEVS=128 export NVFS_MAX_PCI_DEPTH=16 sudo -E make sudo insmod nvidia-fs.ko

Fase 3: Configurare EFA per il client Lustre

Per accedere a un file system FSx for Lustre utilizzando un'interfaccia EFA, è necessario installare i moduli Lustre EFA e configurare le interfacce EFA.

Configurazione rapida

Per configurare rapidamente il client Lustre
  1. Esegui la connessione all'istanza Amazon EC2.

  2. Scaricate e decomprimete il file contenente lo script di configurazione:

    curl -O https://docs.aws.amazon.com/fsx/latest/LustreGuide/samples/configure-efa-fsx-lustre-client.zip unzip configure-efa-fsx-lustre-client.zip
  3. Passa alla configure-efa-fsx-lustre-client cartella ed esegui lo script di installazione:

    cd configure-efa-fsx-lustre-client # for regular IO sudo ./setup.sh # for NVIDIA GPUDirect Storage (GDS) IO sudo ./setup.sh --optimized-for-gds

    Lo script esegue automaticamente le seguenti operazioni:

    • Importa i moduli Lustre

    • Configura le interfacce TCP ed EFA

    • Crea un servizio systemd per la configurazione automatica al riavvio

    Per un elenco di opzioni ed esempi di utilizzo che è possibile utilizzare con lo setup.sh script, consultate il README.md file nel file zip.

Gestione manuale del servizio systemd

Il file di servizio systemd viene creato in/etc/systemd/system/configure-efa-fsx-lustre-client.service. Di seguito sono riportati alcuni utili comandi relativi al sistema:

# Check status sudo systemctl status configure-efa-fsx-lustre-client.service # View logs sudo journalctl -u configure-efa-fsx-lustre-client.service # View warnings/errors from dmesg sudo dmesg

Per ulteriori informazioni, consultate il README.md file nel file zip.

Auto-mount configurazione (opzionale)

Per informazioni sul montaggio automatico del file system Amazon FSx for Lustre all'avvio, consulta. Montaggio automatico del file system Amazon FSx

Fase 4: interfacce EFA

Ogni file system FSx for Lustre ha un limite massimo di 1024 connessioni EFA su tutte le istanze client.

Lo configure-efa-fsx-lustre-client.sh script configura automaticamente le interfacce EFA in base al tipo di istanza.

Tipo di istanza Numero predefinito di interfacce EFA
p6-b300,48xlarge

16

p6e-gb200.36xlarge

8

p6-b200.48xlarge

8

p5en.48xlarge

8

p5e.48xlarge

8

p5.48xlarge

8

Altre istanze con più schede di rete

2

Altre istanze con una singola scheda di rete

1

Ogni interfaccia EFA configurata su un'istanza client conta come una connessione rispetto al limite di 1024 connessioni EFA quando è connessa a un file system FSx for Lustre.

Gestione manuale delle interfacce EFA

Le istanze con più interfacce EFA in genere supportano un throughput più elevato. È possibile personalizzare il numero di interfacce per ottimizzare le prestazioni per carichi di lavoro specifici, purché si rimanga entro il limite totale di connessioni EFA.

È possibile gestire manualmente le interfacce EFA utilizzando i seguenti comandi:

  1. Visualizza le interfacce EFA disponibili:

    for interface in /sys/class/infiniband/*; do if [ ! -e "$interface/device/driver" ]; then continue; fi driver=$(basename "$(realpath "$interface/device/driver")") if [ "$driver" != "efa" ]; then continue; fi echo $(basename $interface) done
  2. Visualizza le interfacce attualmente configurate:

    sudo lnetctl net show
  3. Aggiungi un'interfaccia EFA:

    sudo lnetctl net add --net efa --if device_name --peer-credits 32

    Sostituisci device_name con un nome effettivo del dispositivo dall'elenco al passaggio 1.

  4. Rimuovi un'interfaccia EFA:

    sudo lnetctl net del --net efa --if device_name

    Sostituisci device_name con un nome effettivo del dispositivo dall'elenco al passaggio 2.