Définissez l'inventaire Ansible pour les éléments de base BeeGFS
Après avoir défini la structure d'inventaire générale Ansible, définissez la configuration de chaque élément de base dans le système de fichiers BeeGFS.
Ces instructions de déploiement montrent comment déployer un système de fichiers composé d'un élément de base, incluant la gestion, les métadonnées et les services de stockage, un deuxième élément de base avec des métadonnées et des services de stockage, et un troisième élément de base uniquement dédié au stockage.
Ces étapes sont destinées à afficher la gamme complète des profils de configuration standard que vous pouvez utiliser pour configurer les éléments de base NetApp BeeGFS de façon à répondre aux exigences du système de fichiers global BeeGFS.
Dans les sections suivantes et ceci, ajustez selon les besoins pour générer l'inventaire représentant le système de fichiers BeeGFS que vous voulez déployer. Utilisez notamment des noms d'hôte Ansible qui représentent chaque nœud de bloc ou de fichier et le schéma d'adressage IP souhaité pour le réseau de stockage, afin de vous assurer qu'il peut évoluer jusqu'au nombre de nœuds de fichiers et de clients BeeGFS. |
Étape 1 : créez le fichier d'inventaire Ansible
-
Créer un nouveau
inventory.yml
file, puis insérez les paramètres suivants en remplaçant les hôtes souseseries_storage_systems
si nécessaire pour représenter les nœuds en mode bloc dans votre déploiement. Les noms doivent correspondre au nom utilisé pourhost_vars/<FILENAME>.yml
.# BeeGFS HA (High Availability) cluster inventory. all: children: # Ansible group representing all block nodes: eseries_storage_systems: hosts: netapp_01: netapp_02: netapp_03: netapp_04: netapp_05: netapp_06: # Ansible group representing all file nodes: ha_cluster: children:
Dans les sections suivantes, vous allez créer des groupes Ansible supplémentaires sous
ha_cluster
Qui représentent les services BeeGFS que vous voulez exécuter dans le cluster.
Étape 2 : configurer l'inventaire d'un élément de base de gestion, de métadonnées et de stockage
Le premier élément de base ou du cluster doit inclure le service de gestion BeeGFS ainsi que les services de métadonnées et de stockage :
-
Dans
inventory.yml
, remplissez les paramètres suivants sousha_cluster: children
:# beegfs_01/beegfs_02 HA Pair (mgmt/meta/storage building block): mgmt: hosts: beegfs_01: beegfs_02: meta_01: hosts: beegfs_01: beegfs_02: stor_01: hosts: beegfs_01: beegfs_02: meta_02: hosts: beegfs_01: beegfs_02: stor_02: hosts: beegfs_01: beegfs_02: meta_03: hosts: beegfs_01: beegfs_02: stor_03: hosts: beegfs_01: beegfs_02: meta_04: hosts: beegfs_01: beegfs_02: stor_04: hosts: beegfs_01: beegfs_02: meta_05: hosts: beegfs_02: beegfs_01: stor_05: hosts: beegfs_02: beegfs_01: meta_06: hosts: beegfs_02: beegfs_01: stor_06: hosts: beegfs_02: beegfs_01: meta_07: hosts: beegfs_02: beegfs_01: stor_07: hosts: beegfs_02: beegfs_01: meta_08: hosts: beegfs_02: beegfs_01: stor_08: hosts: beegfs_02: beegfs_01:
-
Créez le fichier
group_vars/mgmt.yml
et inclure les éléments suivants :# mgmt - BeeGFS HA Management Resource Group # OPTIONAL: Override default BeeGFS management configuration: # beegfs_ha_beegfs_mgmtd_conf_resource_group_options: # <beegfs-mgmt.conf:key>:<beegfs-mgmt.conf:value> floating_ips: - i1b: 100.127.101.0/16 - i2b: 100.127.102.0/16 beegfs_service: management beegfs_targets: netapp_01: 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: 1 owning_controller: A
-
Sous
group_vars/
, créez des fichiers pour les groupes de ressourcesmeta_01
àmeta_08
à l'aide du modèle suivant, puis remplissez les valeurs des espaces réservés pour chaque service faisant référence au tableau ci-dessous :# meta_0X - BeeGFS HA Metadata Resource Group beegfs_ha_beegfs_meta_conf_resource_group_options: connMetaPortTCP: <PORT> connMetaPortUDP: <PORT> tuneBindToNumaZone: <NUMA ZONE> floating_ips: - <PREFERRED PORT:IP/SUBNET> # Example: i1b:192.168.120.1/16 - <SECONDARY PORT:IP/SUBNET> beegfs_service: metadata beegfs_targets: <BLOCK NODE>: eseries_storage_pool_configuration: - name: <STORAGE POOL> raid_level: raid1 criteria_drive_count: 4 common_volume_configuration: segment_size_kb: 128 volumes: - size: 21.25 # SEE NOTE BELOW! owning_controller: <OWNING CONTROLLER>
La taille du volume est indiquée sous forme de pourcentage du pool de stockage global (également appelé groupe de volumes). NetApp recommande fortement de laisser une certaine capacité libre dans chaque pool afin d'autoriser le sur-provisionnement SSD (pour plus d'informations, voir "Présentation de la baie NetApp EF600"). Le pool de stockage, beegfs_m1_m2_m5_m6
, alloue également 1% de la capacité du pool pour le service de gestion. Ainsi, pour les volumes de métadonnées dans le pool de stockage,beegfs_m1_m2_m5_m6
, Si vous utilisez des disques de 1,92 To ou 3,84 To, définissez cette valeur sur21.25
; Pour les lecteurs 7,65 To, définissez cette valeur sur22.25
; Et pour les disques de 15,3 To, définissez cette valeur sur23.75
.Nom du fichier Port Adresses IP flottantes Zone NUMA Nœud de bloc Pool de stockage Contrôleur propriétaire meta_01.yml
8015
i1b:100.127.101.1/16 i2b:100.127.102.1/16
0
netapp_01
beegfs_m1_m2_m5_m6
A
meta_02.yml
8025
i2b:100.127.102.2/16 i1b:100.127.101.2/16
0
netapp_01
beegfs_m1_m2_m5_m6
B
meta_03.yml
8035
i3b:100.127.101.3/16 i4b:100.127.102.3/16
1
netapp_02
beegfs_m3_m4_m7_m8
A
meta_04.yml
8045
i4b:100.127.102.4/16 i3b:100.127.101.4/16
1
netapp_02
beegfs_m3_m4_m7_m8
B
meta_05.yml
8055
i1b:100.127.101.5/16 i2b:100.127.102.5/16
0
netapp_01
beegfs_m1_m2_m5_m6
A
meta_06.yml
8065
i2b:100.127.102.6/16 i1b:100.127.101.6/16
0
netapp_01
beegfs_m1_m2_m5_m6
B
meta_07.yml
8075
i3b:100.127.101.7/16 i4b:100.127.102.7/16
1
netapp_02
beegfs_m3_m4_m7_m8
A
meta_08.yml
8085
i4b:100.127.102.8/16 i3b:100.127.101.8/16
1
netapp_02
beegfs_m3_m4_m7_m8
B
-
Sous
group_vars/
, créez des fichiers pour les groupes de ressourcesstor_01
àstor_08
à l'aide du modèle suivant, puis remplissez les valeurs de paramètre fictif pour chaque service référençant l'exemple :# stor_0X - BeeGFS HA Storage Resource Groupbeegfs_ha_beegfs_storage_conf_resource_group_options: connStoragePortTCP: <PORT> connStoragePortUDP: <PORT> tuneBindToNumaZone: <NUMA ZONE> floating_ips: - <PREFERRED PORT:IP/SUBNET> - <SECONDARY PORT:IP/SUBNET> beegfs_service: storage beegfs_targets: <BLOCK NODE>: eseries_storage_pool_configuration: - name: <STORAGE POOL> raid_level: raid6 criteria_drive_count: 10 common_volume_configuration: segment_size_kb: 512 volumes: - size: 21.50 # See note below! owning_controller: <OWNING CONTROLLER> - size: 21.50 owning_controller: <OWNING CONTROLLER>
Pour connaître la taille correcte à utiliser, reportez-vous à la section "Pourcentages de surprovisionnement recommandés pour le pool de stockage". Nom du fichier Port Adresses IP flottantes Zone NUMA Nœud de bloc Pool de stockage Contrôleur propriétaire stor_01.yml
8013
i1b:100.127.103.1/16 i2b:100.127.104.1/16
0
netapp_01
beegfs_s1_s2
A
stor_02.yml
8023
i2b:100.127.104.2/16 i1b:100.127.103.2/16
0
netapp_01
beegfs_s1_s2
B
stor_03.yml
8033
i3b:100.127.103.3/16 i4b:100.127.104.3/16
1
netapp_02
beegfs_s3_s4
A
stor_04.yml
8043
i4b:100.127.104.4/16 i3b:100.127.103.4/16
1
netapp_02
beegfs_s3_s4
B
stor_05.yml
8053
i1b:100.127.103.5/16 i2b:100.127.104.5/16
0
netapp_01
beegfs_s5_s6
A
stor_06.yml
8063
i2b:100.127.104.6/16 i1b:100.127.103.6/16
0
netapp_01
beegfs_s5_s6
B
stor_07.yml
8073
i3b:100.127.103.7/16 i4b:100.127.104.7/16
1
netapp_02
beegfs_s7_s8
A
stor_08.yml
8083
i4b:100.127.104.8/16 i3b:100.127.103.8/16
1
netapp_02
beegfs_s7_s8
B
Étape 3 : configurer l'inventaire d'un élément de base métadonnées + stockage
Elles expliquent comment configurer un inventaire Ansible pour un élément de base de stockage + de métadonnées BeeGFS.
-
Dans
inventory.yml
, remplissez les paramètres suivants sous la configuration existante :meta_09: hosts: beegfs_03: beegfs_04: stor_09: hosts: beegfs_03: beegfs_04: meta_10: hosts: beegfs_03: beegfs_04: stor_10: hosts: beegfs_03: beegfs_04: meta_11: hosts: beegfs_03: beegfs_04: stor_11: hosts: beegfs_03: beegfs_04: meta_12: hosts: beegfs_03: beegfs_04: stor_12: hosts: beegfs_03: beegfs_04: meta_13: hosts: beegfs_04: beegfs_03: stor_13: hosts: beegfs_04: beegfs_03: meta_14: hosts: beegfs_04: beegfs_03: stor_14: hosts: beegfs_04: beegfs_03: meta_15: hosts: beegfs_04: beegfs_03: stor_15: hosts: beegfs_04: beegfs_03: meta_16: hosts: beegfs_04: beegfs_03: stor_16: hosts: beegfs_04: beegfs_03:
-
Sous
group_vars/
, créez des fichiers pour les groupes de ressourcesmeta_09
àmeta_16
à l'aide du modèle suivant, puis remplissez les valeurs de paramètre fictif pour chaque service référençant l'exemple :# meta_0X - BeeGFS HA Metadata Resource Group beegfs_ha_beegfs_meta_conf_resource_group_options: connMetaPortTCP: <PORT> connMetaPortUDP: <PORT> tuneBindToNumaZone: <NUMA ZONE> floating_ips: - <PREFERRED PORT:IP/SUBNET> - <SECONDARY PORT:IP/SUBNET> beegfs_service: metadata beegfs_targets: <BLOCK NODE>: eseries_storage_pool_configuration: - name: <STORAGE POOL> raid_level: raid1 criteria_drive_count: 4 common_volume_configuration: segment_size_kb: 128 volumes: - size: 21.5 # SEE NOTE BELOW! owning_controller: <OWNING CONTROLLER>
Pour connaître la taille correcte à utiliser, reportez-vous à la section "Pourcentages de surprovisionnement recommandés pour le pool de stockage". Nom du fichier Port Adresses IP flottantes Zone NUMA Nœud de bloc Pool de stockage Contrôleur propriétaire meta_09.yml
8015
i1b:100.127.101.9/16 i2b:100.127.102.9/16
0
netapp_03
beegfs_m9_m10_m13_m14
A
meta_10.yml
8025
i2b:100.127.102.10/16 i1b:100.127.101.10/16
0
netapp_03
beegfs_m9_m10_m13_m14
B
meta_11.yml
8035
i3b:100.127.101.11/16 i4b:100.127.102.11/16
1
netapp_04
beegfs_m11_m12_m15_m16
A
meta_12.yml
8045
i4b:100.127.102.12/16 i3b:100.127.101.12/16
1
netapp_04
beegfs_m11_m12_m15_m16
B
meta_13.yml
8055
i1b:100.127.101.13/16 i2b:100.127.102.13/16
0
netapp_03
beegfs_m9_m10_m13_m14
A
meta_14.yml
8065
i2b:100.127.102.14/16 i1b:100.127.101.14/16
0
netapp_03
beegfs_m9_m10_m13_m14
B
meta_15.yml
8075
i3b:100.127.101.15/16 i4b:100.127.102.15/16
1
netapp_04
beegfs_m11_m12_m15_m16
A
meta_16.yml
8085
i4b:100.127.102.16/16 i3b:100.127.101.16/16
1
netapp_04
beegfs_m11_m12_m15_m16
B
-
Sous
group_vars/,
créez des fichiers pour les groupes de ressourcesstor_09
àstor_16
à l'aide du modèle suivant, puis remplissez les valeurs de paramètre fictif pour chaque service référençant l'exemple :# stor_0X - BeeGFS HA Storage Resource Group beegfs_ha_beegfs_storage_conf_resource_group_options: connStoragePortTCP: <PORT> connStoragePortUDP: <PORT> tuneBindToNumaZone: <NUMA ZONE> floating_ips: - <PREFERRED PORT:IP/SUBNET> - <SECONDARY PORT:IP/SUBNET> beegfs_service: storage beegfs_targets: <BLOCK NODE>: eseries_storage_pool_configuration: - name: <STORAGE POOL> raid_level: raid6 criteria_drive_count: 10 common_volume_configuration: segment_size_kb: 512 volumes: - size: 21.50 # See note below! owning_controller: <OWNING CONTROLLER> - size: 21.50 owning_controller: <OWNING CONTROLLER>
Pour connaître la taille correcte à utiliser, reportez-vous à la section "Pourcentages de surprovisionnement recommandés pour le pool de stockage".. Nom du fichier Port Adresses IP flottantes Zone NUMA Nœud de bloc Pool de stockage Contrôleur propriétaire stor_09.yml
8013
i1b:100.127.103.9/16 i2b:100.127.104.9/16
0
netapp_03
beegfs_s9_s10
A
stor_10.yml
8023
i2b:100.127.104.10/16 i1b:100.127.103.10/16
0
netapp_03
beegfs_s9_s10
B
stor_11.yml
8033
i3b:100.127.103.11/16 i4b:100.127.104.11/16
1
netapp_04
beegfs_s11_s12
A
stor_12.yml
8043
i4b:100.127.104.12/16 i3b:100.127.103.12/16
1
netapp_04
beegfs_s11_s12
B
stor_13.yml
8053
i1b:100.127.103.13/16 i2b:100.127.104.13/16
0
netapp_03
beegfs_s13_s14
A
stor_14.yml
8063
i2b:100.127.104.14/16 i1b:100.127.103.14/16
0
netapp_03
beegfs_s13_s14
B
stor_15.yml
8073
i3b:100.127.103.15/16 i4b:100.127.104.15/16
1
netapp_04
beegfs_s15_s16
A
stor_16.yml
8083
i4b:100.127.104.16/16 i3b:100.127.103.16/16
1
netapp_04
beegfs_s15_s16
B
Étape 4 : configurer l'inventaire pour un élément de base stockage uniquement
Procédure de configuration d'un inventaire Ansible pour un élément de base BeeGFS Storage uniquement. La différence majeure entre l'installation de la configuration pour un bloc de métadonnées + stockage et un bloc modulaire uniquement destiné au stockage, c'est l'omission de tous les groupes de ressources de métadonnées et la modification criteria_drive_count
de 10 à 12 pour chaque pool de stockage.
-
Dans
inventory.yml
, remplissez les paramètres suivants sous la configuration existante :# beegfs_05/beegfs_06 HA Pair (storage only building block): stor_17: hosts: beegfs_05: beegfs_06: stor_18: hosts: beegfs_05: beegfs_06: stor_19: hosts: beegfs_05: beegfs_06: stor_20: hosts: beegfs_05: beegfs_06: stor_21: hosts: beegfs_06: beegfs_05: stor_22: hosts: beegfs_06: beegfs_05: stor_23: hosts: beegfs_06: beegfs_05: stor_24: hosts: beegfs_06: beegfs_05:
-
Sous
group_vars/
, créez des fichiers pour les groupes de ressourcesstor_17
àstor_24
à l'aide du modèle suivant, puis remplissez les valeurs de paramètre fictif pour chaque service référençant l'exemple :# stor_0X - BeeGFS HA Storage Resource Group beegfs_ha_beegfs_storage_conf_resource_group_options: connStoragePortTCP: <PORT> connStoragePortUDP: <PORT> tuneBindToNumaZone: <NUMA ZONE> floating_ips: - <PREFERRED PORT:IP/SUBNET> - <SECONDARY PORT:IP/SUBNET> beegfs_service: storage beegfs_targets: <BLOCK NODE>: eseries_storage_pool_configuration: - name: <STORAGE POOL> raid_level: raid6 criteria_drive_count: 12 common_volume_configuration: segment_size_kb: 512 volumes: - size: 21.50 # See note below! owning_controller: <OWNING CONTROLLER> - size: 21.50 owning_controller: <OWNING CONTROLLER>
Pour connaître la taille correcte à utiliser, reportez-vous à la section "Pourcentages de surprovisionnement recommandés pour le pool de stockage". Nom du fichier Port Adresses IP flottantes Zone NUMA Nœud de bloc Pool de stockage Contrôleur propriétaire stor_17.yml
8013
i1b:100.127.103.17/16 i2b:100.127.104.17/16
0
netapp_05
beegfs_s17_s18
A
stor_18.yml
8023
i2b:100.127.104.18/16 i1b:100.127.103.18/16
0
netapp_05
beegfs_s17_s18
B
stor_19.yml
8033
i3b:100.127.103.19/16 i4b:100.127.104.19/16
1
netapp_06
beegfs_s19_s20
A
stor_20.yml
8043
i4b:100.127.104.20/16 i3b:100.127.103.20/16
1
netapp_06
beegfs_s19_s20
B
stor_21.yml
8053
i1b:100.127.103.21/16 i2b:100.127.104.21/16
0
netapp_05
beegfs_s21_s22
A
stor_22.yml
8063
i2b:100.127.104.22/16 i1b:100.127.103.22/16
0
netapp_05
beegfs_s21_s22
B
stor_23.yml
8073
i3b:100.127.103.23/16 i4b:100.127.104.23/16
1
netapp_06
beegfs_s23_s24
A
stor_24.yml
8083
i4b:100.127.104.24/16 i3b:100.127.103.24/16
1
netapp_06
beegfs_s23_s24
B