View a markdown version of this page

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 do Lustre para acessar um sistema de arquivos do FSx para Lustre 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   Lustro client.

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

Etapa 1: configurar um grupo EFA-enabled de segurança

Antes de configurar seu cliente EFA, você deve garantir que os grupos de segurança do seu sistema de arquivos e dos seus clientes Lustre permitam o tráfego do EFA. Para obter instruções sobre como configurar grupos de segurança para o EFA, consulte. EFA-enabled grupos de segurança

Etapa 2: instalar os drivers necessários

nota

Se você estiver usando uma AMI de aprendizado profundo, pode 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 contendo 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 para Lustre.

Requisitos:

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

  • Driver NVIDIA GDS versão 2.24.2 ou superior

Para instalar o driver NVIDIA GPUDirect Storage na instância do seu 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 3: configurar o EFA para o cliente Lustre

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

Configuração rápida

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

  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.

Auto-mount configuração (opcional)

Para obter mais informações sobre como fazer a montagem do seu sistema de arquivos do Amazon FSx para Lustre na inicialização, consulte Montagem do sistema de arquivos do Amazon FSx automaticamente.

Etapa 4: interfaces EFA

Cada sistema de arquivos do FSx para Lustre tem um limite máximo de 1.024 conexões do 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
p6-b300,48 x grande

16

p6e-gb200.36xlarge

8

p6-b200.48xlarge

8

p5en.48xlarge

8

p5e.48xlarge

8

p5.48xlarge

8

Outras instâncias Todas as interfaces EFA disponíveis

Cada interface do EFA configurada em uma instância do cliente conta como uma conexão em relação ao limite de conexão 1024 do EFA quando conectada a um sistema de arquivos do FSx para 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.