Skip to main content
NetApp artificial intelligence solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Implante o cluster Lustre HA e os clientes

Colaboradores netapp-jsnyder

Prepare o sistema operacional, instale NVIDIA DOCA-OFED, implemente o cluster Lustre HA e configure os clientes Lustre usando os playbooks do Ansible da NetApp.

Antes de começar, complete e assegure o inventário descrito em "Personalize o inventário do Lustre Ansible".

Implante o cluster Lustre HA

Passos
  1. A partir do building_blocks/playbooks`diretório na sua cópia de trabalho, prepare o sistema operacional nos servidores Lustre. Substitua `<inventory_path> pelo caminho para o seu diretório de inventário personalizado:

    ansible-playbook -i <inventory_path>/lustre_inventory.yml deploy_lustre_os/deploy_lustre_os_playbook.yml
  2. Instale o NVIDIA DOCA-OFED em cada servidor Lustre. Compile os módulos do kernel usando o kernel que foi instalado na etapa anterior. Siga o procedimento para o seu kernel em "Instalação e atualização do NVIDIA DOCA-Host". O exemplo a seguir mostra uma instalação do DOCA-OFED no RHEL ou Rocky Linux.

    1. Instale o pacote do repositório do host DOCA e atualize o cache de pacotes. Substitua <doca_host_package> pelo pacote do host DOCA correspondente ao seu sistema operacional e arquitetura:

      dnf install -y wget tar
      wget https://www.mellanox.com/downloads/DOCA/<doca_host_package>.rpm
      rpm -i <doca_host_package>.rpm
      dnf clean all
      dnf makecache
    2. Compile os módulos do kernel DOCA para o kernel em execução. O script imprime o caminho do pacote que cria:

      dnf install -y doca-extra
      /opt/mellanox/doca/tools/doca-kernel-support
    3. Instale o pacote do repositório de módulos do kernel criado pelo script e, em seguida, atualize o cache de pacotes. Substitua <doca_kernel_repo> pelo caminho obtido na etapa anterior:

      rpm -Uvh <doca_kernel_repo>.rpm
      dnf makecache
    4. Instale os pacotes DOCA-OFED para espaço de usuário, kernel e NVMe. Substitua <kernel_version> pela versão do kernel em execução:

      dnf install -y doca-ofed-userspace
      dnf install -y --disablerepo=doca doca-kernel-<kernel_version>
      dnf install -y kmod-mlnx-nvme
  3. Execute o playbook de implantação principal:

    ansible-playbook -i <inventory_path>/lustre_inventory.yml lustre_playbook.yml
    Observação Ajuste --forks de acordo com o tamanho da implantação para controlar quantos hosts o Ansible configura em paralelo. Por exemplo, adicione --forks 20 para um cluster maior.

O playbook provisiona grupos de volumes E-Series ou pools e volumes DDP, configura a conectividade de host NVMe-oF, formata e monta os targets Lustre, configura o LNet, aplica ajuste de desempenho e configura os recursos HA do Pacemaker.

Observação Uma implantação com um único bloco de construção forma um cluster Pacemaker de dois nós. O nó A recebe um voto extra em caso de failover. Para garantir quorum em um cluster de dois nós, considere configurar um qdevice. Quando uma implantação contém vários blocos de construção, cada bloco contribui com um par de servidores de dois nós para o cluster Pacemaker maior, até o limite documentado do cluster. Revise a configuração de fencing e quorum no "Guia do usuário de administração de HA" para que o cluster possa recuperar os alvos com segurança durante uma falha de nó.

Implantar clientes Lustre

Implante clientes Lustre em qualquer sistema que exija acesso ao sistema de arquivos, personalizando o modelo de implantação do cliente e executando o playbook do cliente.

Passos
  1. Selecione um sistema operacional de cliente e kernel compatíveis no "Matriz de suporte Lustre". Compile e instale os pacotes de cliente Lustre para esse kernel a partir de "netapp-lustre" caso ainda não estejam instalados.

  2. Crie uma cópia de trabalho do `clients`diretório de template, incluindo seu `passwords.yml`arquivo compartilhado, e selecione o template que corresponde à sua fabric:

  3. Personalize lustre_client_inventory.yml, host_vars e group_vars para seus clientes. As referências de linha na tabela apontam para os arquivos de modelo de cliente RoCE na tag ansible-lustre release/1.0.0; o modelo de cliente InfiniBand usa as mesmas variáveis, exceto quando indicado.

    Campo Variável Ansible Arquivo de modelo (release/1.0.0) Escopo Notas

    Hosts do cliente

    lustre_clients

    "lustre_client_inventory.yml#L4"

    Por cliente

    Liste o nome do host de cada cliente.

    Usuário SSH do cliente e senha become

    ssh_client_user/ ssh_client_become_pass

    "passwords.yml#L2"

    Em todo o cluster

    Defina a senha "become" somente se o usuário SSH não for root.

    Interfaces LNet

    eseries_lustre_lnet

    "group_vars/all.yml#L7"

    Em todo o cluster

    Nomes de interface LNet do lado do cliente (valores na L13).

    Montar NIDs do MGS

    lustre_client_mounts.mgsnode

    "group_vars/all.yml#L17"

    Em todo o cluster

    NIDs do MGS usados para montar o sistema de arquivos (valores em L20).

    Nome do sistema de arquivos

    lustre_client_mounts.fsname

    "group_vars/all.yml#L21"

    Em todo o cluster

    Deve corresponder ao cluster fsname.

    Ponto de montagem

    lustre_client_mounts.mount_point

    "group_vars/all.yml#L22"

    Em todo o cluster

    Diretório de montagem do cliente.

    IP de gerenciamento do cliente

    ansible_host

    "host_vars/client_01.yml#L4"

    Repita para cada cliente

    Um `host_vars/client_NN.yml`arquivo por cliente.

    Interfaces de malha de armazenamento

    eseries_roce_interfaces

    "host_vars/client_01.yml#L10"

    Repita para cada cliente

    Endereços da interface de front-end (valores na linha 15). O InfiniBand template usa eseries_ipoib_interfaces aqui.

    Repita as configurações para cada cliente. Crie um arquivo host_vars/client_NN.yml para cada cliente e adicione o host correspondente a lustre_client_inventory.yml. Preencha o arquivo compartilhado clients/passwords.yml e criptografe-o com o Ansible Vault antes de executar o playbook do cliente.

  4. Execute o playbook do cliente a partir do diretório de modelos do cliente:

    ansible-playbook -i lustre_client_inventory.yml lustre_client_playbook.yml

O playbook do cliente configura as interfaces de rede do cliente e o LNet, e pode criar uma unidade de montagem systemd persistente para o sistema de arquivos Lustre.

Depois que você terminar