Configurar clientes BeeGFS
Você precisa instalar e configurar o cliente BeeGFS em todos os hosts que precisam ter acesso ao sistema de arquivos BeeGFS, como nós de computação ou GPU. Para essa tarefa, use o Ansible e a coleção BeeGFS.
-
Se necessário, configure o SSH sem senha do nó de controle do Ansible para cada um dos hosts que você deseja configurar como clientes BeeGFS:
ssh-copy-id <user>@<HOSTNAME_OR_IP>
-
Em
host_vars/
, crie um arquivo para cada cliente BeeGFS nomeado<HOSTNAME>.yml
com o seguinte conteúdo, preenchendo o texto do espaço reservado com as informações corretas para o seu ambiente:# BeeGFS Client ansible_host: <MANAGEMENT_IP> # OPTIONAL: If you want to use the NetApp E-Series Host Collection’s IPoIB role to configure InfiniBand interfaces for clients to connect to BeeGFS file systems: eseries_ipoib_interfaces: - name: <INTERFACE> address: <IP>/<SUBNET_MASK> # Example: 100.127.1.1/16 - name: <INTERFACE> address: <IP>/<SUBNET_MASK>
Se estiver implantando com um esquema de endereçamento de duas sub-redes, duas interfaces InfiniBand devem ser configuradas em cada cliente, uma em cada uma das duas sub-redes IPoIB de storage. Se estiver usando as sub-redes de exemplo e os intervalos recomendados para cada serviço BeeGFS listado aqui, os clientes devem ter uma interface configurada no intervalo de 100.127.1.0
a100.127.99.255
e a outra em100.128.1.0
para100.128.99.255
. -
Crie um novo
client_inventory.yml
arquivo e preencha os seguintes parâmetros na parte superior:# BeeGFS client inventory. all: vars: ansible_ssh_user: <USER> # This is the user Ansible should use to connect to each client. ansible_become_password: <PASSWORD> # This is the password Ansible will use for privilege escalation, and requires the ansible_ssh_user be root, or have sudo privileges. The defaults set by the BeeGFS HA role are based on the testing performed as part of this NetApp Verified Architecture and differ from the typical BeeGFS client defaults.
Não armazene senhas em texto simples. Em vez disso, use o Ansible Vault (consulte a documentação do Ansible para "Criptografia de conteúdo com o Ansible Vault") ou use a --ask-become-pass
opção ao executar o manual de estratégia. -
No
client_inventory.yml
arquivo, liste todos os hosts que devem ser configurados como clientes BeeGFS nobeegfs_clients
grupo e especifique qualquer configuração adicional necessária para criar o módulo do kernel do cliente BeeGFS.children: # Ansible group representing all BeeGFS clients: beegfs_clients: hosts: beegfs_01: beegfs_02: beegfs_03: beegfs_04: beegfs_05: beegfs_06: beegfs_07: beegfs_08: beegfs_09: beegfs_10: vars: # OPTION 1: If you’re using the NVIDIA OFED drivers and they are already installed: eseries_ib_skip: True # Skip installing inbox drivers when using the IPoIB role. beegfs_client_ofed_enable: True beegfs_client_ofed_include_path: "/usr/src/ofa_kernel/default/include" # OPTION 2: If you’re using inbox IB/RDMA drivers and they are already installed: eseries_ib_skip: True # Skip installing inbox drivers when using the IPoIB role. # OPTION 3: If you want to use inbox IB/RDMA drivers and need them installed/configured. eseries_ib_skip: False # Default value. beegfs_client_ofed_enable: False # Default value.
Ao usar os drivers NVIDIA OFED, certifique-se de que beegfs_client_ofed_include_path
aponta para o "caminho de inclusão de cabeçalho" correto para a instalação do Linux. Para obter mais informações, consulte a documentação do BeeGFS para "Suporte RDMA". -
No
client_inventory.yml
arquivo, liste os sistemas de arquivos BeeGFS que você deseja montar na parte inferior de qualquer um definido anteriormentevars
.beegfs_client_mounts: - sysMgmtdHost: 100.127.101.0 # Primary IP of the BeeGFS management service. mount_point: /mnt/beegfs # Path to mount BeeGFS on the client. connInterfaces: - <INTERFACE> # Example: ibs4f1 - <INTERFACE> beegfs_client_config: # Maximum number of simultaneous connections to the same node. connMaxInternodeNum: 128 # BeeGFS Client Default: 12 # Allocates the number of buffers for transferring IO. connRDMABufNum: 36 # BeeGFS Client Default: 70 # Size of each allocated RDMA buffer connRDMABufSize: 65536 # BeeGFS Client Default: 8192 # Required when using the BeeGFS client with the shared-disk HA solution. # This does require BeeGFS targets be mounted in the default “sync” mode. # See the documentation included with the BeeGFS client role for full details. sysSessionChecksEnabled: false
beegfs_client_config`O representa as definições que foram testadas. Veja a documentação incluída com `netapp_eseries.beegfs
a função da coleçãobeegfs_client
para uma visão geral abrangente de todas as opções. Isso inclui detalhes sobre a montagem de vários sistemas de arquivos BeeGFS ou a montagem do mesmo sistema de arquivos BeeGFS várias vezes. -
Crie um novo
client_playbook.yml
arquivo e preencha os seguintes parâmetros:# BeeGFS client playbook. - hosts: beegfs_clients any_errors_fatal: true gather_facts: true collections: - netapp_eseries.beegfs - netapp_eseries.host tasks: - name: Ensure IPoIB is configured import_role: name: ipoib - name: Verify the BeeGFS clients are configured. import_role: name: beegfs_client
Omitir a importação da netapp_eseries.host
coleção eipoib
da função se você já tiver instalado os drivers IB/RDMA necessários e IPs configurados nas interfaces IPoIB apropriadas. -
Para instalar e construir o cliente e montar o BeeGFS, execute o seguinte comando:
ansible-playbook -i client_inventory.yml client_playbook.yml
-
Antes de colocar o sistema de arquivos BeeGFS em produção, nós * fortemente * recomendamos que você faça login em qualquer cliente e execute
beegfs-fsck --checkfs
para garantir que todos os nós estejam acessíveis e não haja problemas relatados.