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

Utilizza le seguenti procedure per configurare il tuo 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 versioni successive

  • Ubuntu 22.04 o successivo con versione del kernel 6.8+

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

L'EFA è supportato sulle istanze EC2 Nitro v4 (o versioni successive) che supportano EFA, esclusa la famiglia di istanze trn2. Consulta i tipi di istanze supportati nella Amazon EC2 User Guide.

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, vedere. 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. Scarica e decomprimi 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. Passa 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.

Installare 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 P6-B300

  • Driver NVIDIA GDS versione 2.24.2 o successiva

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

    git clone https://github.com/NVIDIA/gds-nvidia-fs.git
  2. Crea 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. Scarica e decomprimi 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. Passate alla configure-efa-fsx-lustre-client cartella ed eseguite 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 a systemd:

# 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 del 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 Tutte le interfacce EFA disponibili

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. Puoi personalizzare il numero di interfacce per ottimizzare le prestazioni per carichi di lavoro specifici, purché tu 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.