Skip to main content
BeeGFS on NetApp with E-Series Storage
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Definieren Sie den Ansible-Bestand für BeeGFS-Bausteine

Beitragende

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.

Hinweis 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

Schritte
  1. Erstellen Sie eine neue inventory.yml Datei, und fügen Sie dann die folgenden Parameter ein, ersetzen Sie die Hosts unter eseries_storage_systems Nach Bedarf zur Darstellung der Block-Nodes in Ihrer Implementierung. Die Namen sollten dem Namen entsprechen, für den sie verwendet werden host_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:

Schritte
  1. In inventory.yml, Befüllen Sie die folgenden Parameter unter ha_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:
  2. 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
  3. Unter group_vars/, Dateien für Ressourcengruppen erstellen meta_01 Bis meta_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>
    Hinweis 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-Pool beegfs_m1_m2_m5_m6, Wenn 1,92-TB- oder 3,84-TB-Laufwerke verwendet werden, setzen Sie diesen Wert auf 21.25; Für 7,5-TB-Laufwerke setzen Sie diesen Wert auf 22.25; Und für 15,3-TB-Laufwerke ist dieser Wert auf festgelegt 23.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

  4. Unter group_vars/, Dateien für Ressourcengruppen erstellen stor_01 Bis stor_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>
    Hinweis 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.

Schritte
  1. 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:
  2. Unter group_vars/, Dateien für Ressourcengruppen erstellen meta_09 Bis meta_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>
    Hinweis 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

  3. Unter group_vars/, Dateien für Ressourcengruppen erstellen stor_09 Bis stor_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>
    Hinweis 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.

Schritte
  1. 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:
  2. Unter group_vars/, Dateien für Ressourcengruppen erstellen stor_17 Bis stor_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>
    Hinweis 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