View a markdown version of this page

Configuration des clients EFA - FSx pour Lustre

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des clients EFA

Suivez les procédures suivantes pour configurer votre client Lustre afin qu'il accède à un système de fichiers FSx for Lustre via Elastic Fabric Adapter (EFA).

EFA est pris en charge sur les clients Lustre exécutant les systèmes d'exploitation suivants :

  • Amazon Linux 2023 (AL2023)

  • Red Hat Enterprise Linux (RHEL) 9.5 ou version ultérieure

  • Ubuntu 22.04 ou version ultérieure avec la version 6.8+ du noyau

EFA est pris en charge sur les clients Lustre répertoriés ci-dessous. Pour plus d’informations, consultez Installation de la   Lustre client.

EFA est pris en charge sur les instances EC2 Nitro v4 (ou version ultérieure) qui prennent en charge EFA, à l'exception de la famille d'instances trn2. Consultez la section Types d'instances pris en charge dans le guide de l'utilisateur Amazon EC2.

Étape 1 : Configuration d'un groupe EFA-enabled de sécurité

Avant de configurer votre client EFA, vous devez vous assurer que les groupes de sécurité de votre système de fichiers et de vos clients Lustre autorisent le trafic EFA. Pour obtenir des instructions sur la configuration des groupes de sécurité pour EFA, consultezEFA-enabled groupes de sécurité.

Étape 2 : Installation des pilotes requis

Note

Si vous utilisez une AMI Deep Learning, vous pouvez ignorer cette étape car le client Lustre, le pilote EFA et le pilote NVIDIA GPUDirect Storage (GDS) sont préinstallés.

Installez le client Lustre et le pilote EFA

Pour installer rapidement le client Lustre et le pilote EFA
  1. Téléchargez et décompressez le fichier contenant le script d'installation :

    curl -O https://docs.aws.amazon.com/fsx/latest/LustreGuide/samples/install-fsx-lustre-client.zip unzip install-fsx-lustre-client.zip
  2. Accédez au install-fsx-lustre-client dossier et exécutez le script d'installation :

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

    Le script effectue automatiquement les opérations suivantes :

    • Installe le client Lustre

    • Installe le pilote EFA

    • Vérifie l'installation du client Lustre et du pilote EFA

    Pour obtenir la liste des options et des exemples d'utilisation que vous pouvez utiliser avec le install-fsx-lustre-client.sh script, consultez le README.md fichier dans le fichier zip.

Installez le pilote GDS (facultatif)

Cette étape n'est requise que si vous prévoyez d'utiliser NVIDIA GPUDirect Storage (GDS) avec FSx for Lustre.

Prérequis:

  • Amazon EC2 P5, P5e, P5en ou instance P6-B200 P6-B300

  • Pilote NVIDIA GDS version 2.24.2 ou supérieure

Pour installer le pilote NVIDIA GPUDirect Storage sur votre instance cliente
  1. Clonez le référentiel NVIDIA GDS :

    git clone https://github.com/NVIDIA/gds-nvidia-fs.git
  2. Créez et installez le pilote :

    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

Étape 3 : configurer EFA pour le client Lustre

Pour accéder à un système de fichiers FSx for Lustre à l'aide d'une interface EFA, vous devez installer les modules Lustre EFA et configurer les interfaces EFA.

Configuration rapide

Pour configurer rapidement votre client Lustre
  1. Connectez-vous à votre instance EC2 Amazon.

  2. Téléchargez et décompressez le fichier contenant le script de configuration :

    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. Accédez au configure-efa-fsx-lustre-client dossier et exécutez le script de configuration :

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

    Le script effectue automatiquement les opérations suivantes :

    • Importe des modules Lustre

    • Configure les interfaces TCP et EFA

    • Crée un service systemd pour une configuration automatique au redémarrage

    Pour obtenir la liste des options et des exemples d'utilisation que vous pouvez utiliser avec le setup.sh script, consultez le README.md fichier dans le fichier zip.

Gestion manuelle du service systemd

Le fichier de service systemd est créé à l'adresse/etc/systemd/system/configure-efa-fsx-lustre-client.service. Voici quelques commandes utiles liées à 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

Pour plus d'informations, consultez le README.md fichier dans le fichier zip.

Auto-mount configuration (facultatif)

Pour plus d'informations sur le montage automatique de votre système de fichiers Amazon FSx for Lustre au démarrage, consultezMontage automatique de votre système de fichiers Amazon FSx.

Étape 4 : Interfaces EFA

Chaque système de fichiers FSx for Lustre a une limite maximale de 1 024 connexions EFA sur toutes les instances clientes.

Le configure-efa-fsx-lustre-client.sh script configure automatiquement les interfaces EFA en fonction du type d'instance.

Type d'instance Nombre d'interfaces EFA par défaut
p6-b 300,48 x large

16

p6e-gb200.36xlarge

8

p6-b200.48xlarge

8

p5en.48xlarge

8

p5e.48xlarge

8

p5.48xlarge

8

Autres instances Toutes les interfaces EFA disponibles

Chaque interface EFA configurée sur une instance cliente compte comme une connexion par rapport à la limite de 1024 connexions EFA lorsqu'elle est connectée à un système de fichiers FSx for Lustre.

Gestion manuelle des interfaces EFA

Les instances dotées d'un plus grand nombre d'interfaces EFA prennent généralement en charge un débit plus élevé. Vous pouvez personnaliser le nombre d'interfaces afin d'optimiser les performances pour vos charges de travail spécifiques, à condition de respecter la limite de connexion EFA totale.

Vous pouvez gérer manuellement les interfaces EFA à l'aide des commandes suivantes :

  1. Afficher les interfaces EFA disponibles :

    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. Afficher les interfaces actuellement configurées :

    sudo lnetctl net show
  3. Ajoutez une interface EFA :

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

    Remplacez-le device_name par un nom d'appareil réel figurant dans la liste de l'étape 1.

  4. Supprimer une interface EFA :

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

    Remplacez-le device_name par un nom d'appareil réel figurant dans la liste de l'étape 2.