Definieren Sie den Ansible-Bestand für BeeGFS-Bausteine
Definieren Sie nach der Definition der allgemeinen Ansible-Bestandsstruktur die Konfiguration für jeden Baustein im BeeGFS-Dateisystem.
Diese Implementierungsanleitungen zeigen, wie Sie ein Filesystem implementieren, das aus einem Grundbaustein besteht, einschließlich Management-, Metadaten- und Storage-Services, einem zweiten Baustein mit Metadaten und Storage-Services und einem dritten Baustein nur für Storage.
Diese Schritte sollen den gesamten Bereich typischer Konfigurationsprofile anzeigen, mit denen Sie NetApp BeeGFS-Bausteine konfigurieren können, um die Anforderungen des gesamten BeeGFS-Dateisystems zu erfüllen.
Passen Sie in diesen und nachfolgenden Abschnitten nach Bedarf an, um den Bestand zu erstellen, der das BeeGFS-Dateisystem darstellt, das Sie bereitstellen möchten. Verwenden Sie insbesondere Ansible-Hostnamen, die jeden Block- oder Datei-Node darstellen, und das gewünschte IP-Adressschema für das Storage-Netzwerk, um sicherzustellen, dass es auf die Anzahl der BeeGFS-Datei-Nodes und -Clients skaliert werden kann. |
Schritt: Die Ansible-Bestandsdatei erstellen
-
Erstellen Sie eine neue
inventory.yml
Datei, und fügen Sie dann die folgenden Parameter ein, ersetzen Sie die Hosts untereseries_storage_systems
Nach Bedarf zur Darstellung der Block-Nodes in Ihrer Implementierung. Die Namen sollten dem Namen entsprechen, für den sie verwendet werdenhost_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:
In den nachfolgenden Abschnitten werden unter weitere Ansible-Gruppen erstellt
ha_cluster
Die die BeeGFS-Dienste darstellen, die im Cluster ausgeführt werden sollen.
Schritt: Inventar für einen Management-, Metadaten- und Storage-Baustein konfigurieren
Der erste Baustein im Cluster- oder Basis-Baustein muss den BeeGFS-Managementservice sowie Metadaten- und Storage-Services umfassen:
-
In
inventory.yml
, Befüllen Sie die folgenden Parameter unterha_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:
-
Erstellen Sie die Datei
group_vars/mgmt.yml
Und geben Sie Folgendes an:# 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
-
Unter
group_vars/
, Dateien für Ressourcengruppen erstellenmeta_01
Bismeta_08
Verwenden Sie die folgende Vorlage und füllen Sie dann die Platzhalterwerte für jeden Service aus, indem Sie auf die folgende Tabelle verweisen:# 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>
Die Volume-Größe wird als Prozentsatz des gesamten Storage-Pools angegeben (auch als Volume-Gruppe bezeichnet). NetApp empfiehlt, freie Kapazitäten in jedem Pool zu belassen, um Platz für die SSD-Überprovisionierung zu haben (weitere Informationen finden Sie unter "Einführung in das NetApp EF600 Array"). Der Storage-Pool, beegfs_m1_m2_m5_m6
, Weist auch 1% der Kapazität des Pools für den Management-Service. Somit für Metadaten-Volumes im Storage-Poolbeegfs_m1_m2_m5_m6
, Wenn 1,92-TB- oder 3,84-TB-Laufwerke verwendet werden, setzen Sie diesen Wert auf21.25
; Für 7,5-TB-Laufwerke setzen Sie diesen Wert auf22.25
; Und für 15,3-TB-Laufwerke ist dieser Wert auf festgelegt23.75
.Dateiname Port Fließende IPs NUMA-Zone Block-Node Storage-Pool Controller, der die LUN besitzt 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
-
Unter
group_vars/
, Dateien für Ressourcengruppen erstellenstor_01
Bisstor_08
Füllen Sie anschließend die Platzhalterwerte für jeden Service aus, indem Sie auf das Beispiel verweisen:# 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>
Informationen zur richtigen Größe finden Sie unter "Empfohlene Prozentsätze für die Überprovisionierung von Storage-Pools". Dateiname Port Fließende IPs NUMA-Zone Block-Node Storage-Pool Controller, der die LUN besitzt 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
Schritt 3: Konfigurieren Sie den Bestand für einen Baustein Metadaten + Speicher
In diesen Schritten wird beschrieben, wie ein Ansible-Inventar für BeeGFS-Metadaten + Storage-Baustein eingerichtet wird.
-
In
inventory.yml
, Befüllen Sie die folgenden Parameter unter der vorhandenen Konfiguration: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:
-
Unter
group_vars/
, Dateien für Ressourcengruppen erstellenmeta_09
Bismeta_16
Füllen Sie anschließend die Platzhalterwerte für jeden Service aus, indem Sie auf das Beispiel verweisen:# 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>
Informationen zur richtigen Größe finden Sie unter "Empfohlene Prozentsätze für die Überprovisionierung von Storage-Pools". Dateiname Port Fließende IPs NUMA-Zone Block-Node Storage-Pool Controller, der die LUN besitzt 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
-
Unter
group_vars/,
Dateien für Ressourcengruppen erstellenstor_09
Bisstor_16
Füllen Sie anschließend die Platzhalterwerte für jeden Service aus, indem Sie auf das Beispiel verweisen:# 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>
Informationen zur richtigen Größe finden Sie unter "Empfohlene Prozentsätze für die Überprovisionierung von Storage-Pools".. Dateiname Port Fließende IPs NUMA-Zone Block-Node Storage-Pool Controller, der die LUN besitzt 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
Schritt 4: Konfigurieren Sie den Bestand für einen nur-Storage-Baustein
In diesen Schritten wird beschrieben, wie Sie einen Ansible-Bestand für einen einzigen BeeGFS-Baustein einrichten. Der Hauptunterschied zwischen der Konfiguration für Metadaten + Storage und einem rein Storage-basierten Baustein besteht darin, dass alle Metadaten-Ressourcengruppen und Änderungen nicht mehr berücksichtigt werden criteria_drive_count
Von 10 bis 12 für jeden Speicherpool.
-
In
inventory.yml
, Befüllen Sie die folgenden Parameter unter der vorhandenen Konfiguration:# 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:
-
Unter
group_vars/
, Dateien für Ressourcengruppen erstellenstor_17
Bisstor_24
Füllen Sie anschließend die Platzhalterwerte für jeden Service aus, indem Sie auf das Beispiel verweisen:# 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>
Informationen zur richtigen Größe finden Sie unter "Empfohlene Prozentsätze für die Überprovisionierung von Storage-Pools". Dateiname Port Fließende IPs NUMA-Zone Block-Node Storage-Pool Controller, der die LUN besitzt 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