Découvrez l'inventaire Ansible
Avant de commencer un déploiement, familiarisez-vous avec la configuration et l'utilisation d'Ansible pour déployer la solution BeeGFS sur NetApp.
L'inventaire Ansible est une structure de répertoires répertoriant les nœuds de fichiers et de blocs sur lesquels le système de fichiers BeeGFS doit être déployé. Il inclut les hôtes, les groupes et les variables qui décrivent le système de fichiers BeeGFS souhaité. L'inventaire Ansible doit être stocké sur le nœud de contrôle Ansible, qui est de toute machine ayant accès aux nœuds de fichiers et de blocs utilisés pour exécuter le PlayBook Ansible. Les inventaires d'échantillons peuvent être téléchargés à partir du "NetApp E-Series BeeGFS GitHub".
Modules et rôles Ansible
Pour appliquer la configuration décrite dans l'inventaire Ansible, utilisez les différents modules et rôles Ansible fournis dans la collection NetApp E-Series (disponible dans le "NetApp E-Series BeeGFS GitHub") qui déploient la solution de bout en bout.
Chaque rôle de la collection NetApp E-Series Ansible est un déploiement de bout en bout complet de la solution BeeGFS sur NetApp. Les rôles utilisent les collections NetApp E-Series SANtricity, Host et BeeGFS qui vous permettent de configurer le système de fichiers BeeGFS avec la haute disponibilité. Vous pouvez ensuite provisionner et mapper le stockage, et vérifier que le stockage du cluster est prêt à être utilisé.
Bien que la documentation approfondie soit fournie avec les rôles, les procédures de déploiement décrivent comment utiliser le rôle de déploiement d'une architecture vérifiée NetApp à l'aide de la conception de l'élément de base BeeGFS deuxième génération.
|
Bien que la procédure de déploiement tenter d'offrir suffisamment de détails pour que l'expérience précédente avec Ansible ne soit pas une condition préalable, vous devez avoir quelques connaissances de Ansible et de la terminologie connexe. |
Disposition de l'inventaire pour un cluster BeeGFS HA
Définissez un cluster BeeGFS haute disponibilité à l'aide de la structure d'inventaire Ansible.
Toute personne ayant déjà de l'expérience Ansible doit savoir que le rôle BeeGFS HA implémente une méthode personnalisée pour identifier les variables (ou les faits) qui s'appliquent à chaque hôte. Cette conception simplifie la structuration de l'inventaire Ansible afin de décrire les ressources pouvant s'exécuter sur plusieurs serveurs.
Un inventaire Ansible comprend généralement les fichiers dans host_vars
et group_vars
, ainsi qu'un inventory.yml
fichier qui attribue des hôtes à des groupes spécifiques (et potentiellement des groupes à d'autres groupes).
|
Ne créez pas de fichiers contenant le contenu de cette sous-section, qui est uniquement un exemple. |
Bien que cette configuration soit prédéterminée en fonction du profil de configuration, vous devez généralement comprendre comment tout s'établit comme un inventaire Ansible, comme suit :
# BeeGFS HA (High Availability) cluster inventory. all: children: # Ansible group representing all block nodes: eseries_storage_systems: hosts: netapp01: netapp02: # Ansible group representing all file nodes: ha_cluster: children: meta_01: # Group representing a metadata service with ID 01. hosts: beegfs_01: # This service is preferred on the first file node. beegfs_02: # And can failover to the second file node. meta_02: # Group representing a metadata service with ID 02. hosts: beegfs_02: # This service is preferred on the second file node. beegfs_01: # And can failover to the first file node.
Pour chaque service, un fichier supplémentaire est créé sous group_vars
description de sa configuration :
# meta_01 - BeeGFS HA Metadata Resource Group beegfs_ha_beegfs_meta_conf_resource_group_options: connMetaPortTCP: 8015 connMetaPortUDP: 8015 tuneBindToNumaZone: 0 floating_ips: - i1b: <IP>/<SUBNET_MASK> - i2b: <IP>/<SUBNET_MASK> # Type of BeeGFS service the HA resource group will manage. beegfs_service: metadata # Choices: management, metadata, storage. # What block node should be used to create a volume for this service: beegfs_targets: netapp01: eseries_storage_pool_configuration: - name: beegfs_m1_m2_m5_m6 raid_level: raid1 criteria_drive_count: 4 common_volume_configuration: segment_size_kb: 128 volumes: - size: 21.25 owning_controller: A
Cette disposition permet de définir le service, le réseau et la configuration de stockage BeeGFS pour chaque ressource à un seul emplacement. En arrière-plan, le rôle BeeGFS rassemble la configuration nécessaire pour chaque fichier et nœud de bloc en fonction de cette structure d'inventaire.
|
L'ID de noeud de type BeeGFS numérique et chaîne pour chaque service est automatiquement configuré en fonction du nom du groupe. Ainsi, en plus de l'exigence générale Ansible pour que les noms de groupe soient uniques, les groupes représentant un service BeeGFS doivent se terminer par un nombre unique pour le type de service BeeGFS que le groupe représente. Par exemple, META_01 et stor_01 sont autorisés, mais Metadata_01 et META_01 ne le sont pas. |