Skip to main content
BeeGFS on NetApp with E-Series Storage
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Configurer les clients BeeGFS

Contributeurs

Vous devez installer et configurer le client BeeGFS sur tous les hôtes qui doivent accéder au système de fichiers BeeGFS, comme les nœuds de calcul ou les nœuds GPU. Pour cette tâche, vous pouvez utiliser Ansible et la collection BeeGFS.

Étapes
  1. Si nécessaire, configurez une connexion SSH sans mot de passe depuis le nœud de contrôle Ansible vers chacun des hôtes que vous souhaitez configurer comme clients BeeGFS :

    ssh-copy-id <user>@<HOSTNAME_OR_IP>

  2. Sous host_vars/, Créez un fichier pour chaque client BeeGFS nommé <HOSTNAME>.yml avec le contenu suivant, en renseignant le texte de l'espace réservé contenant les informations correctes pour votre environnement :

    # 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>
    Remarque En cas de déploiement avec un schéma d'adressage de sous-réseau à deux, deux interfaces InfiniBand doivent être configurées sur chaque client, une dans chacun des deux sous-réseaux IPoIB de stockage. Si vous utilisez les exemples de sous-réseaux et les plages recommandées pour chaque service BeeGFS répertorié ici, une interface doit être configurée dans la plage 100.127.1.0 100.127.99.255 à et l'autre dans 100.128.1.0 à 100.128.99.255.
  3. Créez un nouveau fichier client_inventory.yml, puis remplissez les paramètres suivants en haut :

    # 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.
    Remarque Ne stockez pas les mots de passe en texte brut. Utilisez plutôt Ansible Vault (consultez la documentation Ansible pour "Cryptage de contenu avec Ansible Vault") ou utilisez l' --ask-become-pass option lors de l'exécution du manuel de vente.
  4. Dans le client_inventory.yml Fichier, répertorie tous les hôtes qui doivent être configurés comme clients BeeGFS sous beegfs_clients Définissez ensuite toute configuration supplémentaire requise pour générer le module de noyau 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.
    Remarque Lorsque vous utilisez les pilotes OFED NVIDIA, assurez-vous que beegfs_client_ofed_include_path pointe vers le "header include path" correct pour votre installation Linux. Pour plus d'informations, consultez la documentation BeeGFS pour "Prise en charge de RDMA".
  5. Dans le client_inventory.yml Fichier, répertorie les systèmes de fichiers BeeGFS que vous souhaitez monter au bas de tout ce qui a été défini précédemment vars.

            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
    Remarque Le beegfs_client_config représente les paramètres testés. Reportez-vous à la documentation fournie avec le netapp_eseries.beegfs collection beegfs_client rôle pour une vue d'ensemble complète de toutes les options. Cela inclut le montage de plusieurs systèmes de fichiers BeeGFS ou le montage du même système de fichiers BeeGFS plusieurs fois.
  6. Créer un nouveau client_playbook.yml puis remplissez les paramètres suivants :

    # 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
    Remarque Ignorer l'importation du netapp_eseries.host collecte et ipoib Rôle si vous avez déjà installé les pilotes IB/RDMA requis et configuré les adresses IP sur les interfaces IPoIB appropriées.
  7. Pour installer et construire le client et monter BeeGFS, exécutez la commande suivante :

    ansible-playbook -i client_inventory.yml client_playbook.yml
  8. Avant de placer le système de fichiers BeeGFS en production, nous vous recommandons fortement de vous connecter à n'importe quel client et de l'exécuter beegfs-fsck --checkfs afin de garantir que tous les nœuds sont accessibles et qu'aucun problème n'est signalé.