Como configurar clientes do EFA - FSx para Lustre

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como configurar clientes do EFA

Use os procedimentos a seguir para configurar seu cliente Lustre para acessar um sistema de arquivos for Lustre FSx por meio do Elastic Fabric Adapter (EFA).

O EFA é compatível com os clientes do Lustre que executam os seguintes sistemas operacionais:

  • Amazon Linux 2023 (AL2023)

  • Red Hat Enterprise Linux (RHEL) 9.5 ou mais recente

  • Ubuntu 22.04 ou mais recente com kernel versão 6.8+

O EFA é compatível com os clientes do Lustre listados abaixo. Para obter mais informações, consulte Instalar o cliente do Lustre.

O EFA é compatível com instâncias Nitro v4 (ou superior) que oferecem suporte ao EFA, excluindo a família de EC2 instâncias trn2. Consulte Tipos de instância compatíveis no Guia do EC2 usuário da Amazon.

Etapa 1: instalar os drivers necessários

nota

Se você estiver usando uma AMI de aprendizado profundo, poderá pular esta etapa, pois o cliente Lustre, o driver EFA e o driver NVIDIA GPUDirect Storage (GDS) estão pré-instalados.

Instale o cliente Lustre e o driver EFA

Para instalar rapidamente o cliente Lustre e o driver EFA
  1. Baixe e descompacte o arquivo que contém o script de instalação:

    curl -O https://docs.aws.amazon.com/fsx/latest/LustreGuide/samples/install-fsx-lustre-client.zip unzip install-fsx-lustre-client.zip
  2. Vá para a install-fsx-lustre-client pasta e execute o script de instalação:

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

    O script faz o seguinte de forma automática:

    • Instala o cliente Lustre

    • Instala o driver EFA

    • Verifica a instalação do cliente Lustre e do driver EFA

    Para ver uma lista de opções e exemplos de uso que você pode usar com o script install-fsx-lustre-client.sh, consulte o arquivo README.md no arquivo zip.

Instale o driver GDS (opcional)

Essa etapa só é necessária se você planeja usar o NVIDIA GPUDirect Storage (GDS) com o FSx for Lustre.

Requisitos:

  • Instância Amazon EC2 P5, P5e, P5en ou P6-B200

  • Driver NVIDIA GDS versão 2.24.2 ou superior

Para instalar o driver de GPUDirect armazenamento NVIDIA na sua instância cliente
  1. Clone o repositório NVIDIA GDS:

    git clone https://github.com/NVIDIA/gds-nvidia-fs.git
  2. Compile e instale o 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

Etapa 2: configurar o EFA para o cliente do Lustre

Para acessar um FSx sistema de arquivos for Lustre usando uma interface EFA, você deve instalar os módulos Lustre EFA e configurar as interfaces EFA.

Configuração rápida

Para configurar rapidamente seu cliente do Lustre
  1. Conecte-se à sua EC2 instância da Amazon.

  2. Baixe e descompacte o arquivo que contém o script de configuração:

    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. Vá para a pasta configure-efa-fsx-lustre-client e execute o script de configuração:

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

    O script faz o seguinte de forma automática:

    • Importa os módulos do Lustre

    • Configura as interfaces de TCP e EFA

    • Cria um serviço systemd para a configuração automática na reinicialização

    Para ver uma lista de opções e exemplos de uso que você pode usar com o script setup.sh, consulte o arquivo README.md no arquivo zip.

Como gerenciar o serviço systemd manualmente

O arquivo de serviço systemd é criado em/etc/systemd/system/configure- efa-fsx-lustre-client .service. A seguir estão alguns comandos úteis relacionados ao 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

Para obter mais informações, consulte o arquivo README.md no arquivo zip.

Configuração de montagem automática (opcional)

Para obter informações sobre como montar automaticamente seu sistema de arquivos Amazon FSx for Lustre na inicialização, consulteMontando seu sistema FSx de arquivos Amazon automaticamente.

Etapa 3: interfaces do EFA

Cada sistema FSx de arquivos do Lustre tem um limite máximo de 1.024 conexões EFA em todas as instâncias do cliente.

O script configure-efa-fsx-lustre-client.sh configura automaticamente as interfaces do EFA com base no tipo de instância.

Tipo de instância Número padrão de interfaces do EFA
p6e-gb200.36xlarge

8

p6-b200.48xlarge

8

p5en.48xlarge

8

p5e.48xlarge

8

p5.48xlarge

8

Outras instâncias com várias placas de rede

2

Outras instâncias com uma única placa de rede

1

Cada interface EFA configurada em uma instância cliente conta como uma conexão em relação ao limite de conexão 1024 do EFA quando conectada a um sistema de arquivos FSx for Lustre.

Como gerenciar interfaces do EFA manualmente

As instâncias com mais interfaces do EFA geralmente oferecem suporte a um throughput mais alto. Você pode personalizar o número de interfaces para otimizar o desempenho de suas workloads específicas, desde que permaneça dentro do limite total de conexão do EFA.

Você pode gerenciar manualmente as interfaces do EFA usando os seguintes comandos:

  1. Veja as interfaces EFA disponíveis:

    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. Visualize as interfaces atualmente configuradas:

    sudo lnetctl net show
  3. Adicione uma interface do EFA:

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

    device_nameSubstitua por um nome de dispositivo real da lista na etapa 1.

  4. Remova uma interface do EFA:

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

    device_nameSubstitua por um nome de dispositivo real da lista na etapa 2.