Configurare i client BeeGFS
È necessario installare e configurare il client BeeGFS su tutti gli host che necessitano dell'accesso al file system BeeGFS, come i nodi di calcolo o GPU. Per questa attività, è possibile utilizzare Ansible e l'insieme BeeGFS.
-
Se necessario, impostare SSH senza password dal nodo di controllo Ansible a ciascuno degli host che si desidera configurare come client BeeGFS:
ssh-copy-id <user>@<HOSTNAME_OR_IP>
-
Sotto
host_vars/
, Creare un file per ogni client BeeGFS denominato<HOSTNAME>.yml
con il seguente contenuto, inserendo il testo segnaposto con le informazioni corrette per il tuo 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 si implementa con uno schema di indirizzamento a due subnet, è necessario configurare due interfacce InfiniBand su ogni client, una in ciascuna delle due subnet IPoIB di storage. Se si utilizzano le sottoreti di esempio e gli intervalli consigliati per ogni servizio BeeGFS qui elencato, i client devono avere un'interfaccia configurata nell'intervallo 100.127.1.0
da a e l'altra in fino a100.127.99.255
100.128.1.0
100.128.99.255
. -
Creare un nuovo file
client_inventory.yml
, quindi inserire i seguenti parametri nella parte superiore:# 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.
Non memorizzare le password in testo normale. Utilizzare invece Ansible Vault (vedere la documentazione Ansible per "Crittografia del contenuto con Ansible Vault") o utilizzare --ask-become-pass
quando si esegue il playbook. -
In
client_inventory.yml
File, elenca tutti gli host che devono essere configurati come client BeeGFS inbeegfs_clients
E specificare eventuali configurazioni aggiuntive richieste per creare il modulo del kernel del client 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.
Quando si utilizzano i driver NVIDIA OFED, assicurarsi che beegfs_client_ofed_include_path
punti al corretto "header include path" per l'installazione Linux. Per ulteriori informazioni, vedere la documentazione di BeeGFS per "Supporto RDMA". -
In
client_inventory.yml
Elencare i file system BeeGFS che si desidera montare nella parte inferiore di qualsiasi file definito in precedenzavars
.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
Il beegfs_client_config
rappresenta le impostazioni testate. Consultare la documentazione fornita connetapp_eseries.beegfs
di raccoltabeegfs_client
ruolo per una panoramica completa di tutte le opzioni. Sono inclusi i dettagli sul montaggio di più file system BeeGFS o sul montaggio dello stesso file system BeeGFS più volte. -
Creare un nuovo
client_playbook.yml
e compilare i seguenti parametri:# 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
Omettere l'importazione di netapp_eseries.host
raccolta e.ipoib
Ruolo se sono già stati installati i driver IB/RDMA richiesti e gli IP configurati sulle interfacce IPoIB appropriate. -
Per installare e creare il client e montare BeeGFS, eseguire il seguente comando:
ansible-playbook -i client_inventory.yml client_playbook.yml
-
Prima di mettere in produzione il file system BeeGFS, si consiglia di eseguire l'accesso a qualsiasi client
beegfs-fsck --checkfs
per garantire che tutti i nodi siano raggiungibili e che non vi siano problemi segnalati.