BeeGFSビルディングブロックのAnsibleインベントリを定義します
一般的なAnsibleのインベントリ構造を定義したら、BeeGFSファイルシステムの各ビルディングブロックの設定を定義します。
導入手順では、管理、メタデータ、ストレージサービスなどの基本ビルディングブロックで構成されるファイルシステム、メタデータとストレージサービスを提供する2つ目のビルディングブロック、およびストレージ専用の3つ目のビルディングブロックで構成されるファイルシステムの導入方法を示します。
以下の手順は、BeeGFSファイルシステム全体の要件を満たすようにNetApp BeeGFSビルディングブロックを設定する際に使用する代表的な構成プロファイルをすべて示しています。
このセクションと以降のセクションで、必要に応じて調整して、導入するBeeGFSファイルシステムを表すインベントリを作成します。特に、各ブロックまたはファイルノードを表すAnsibleホスト名と、ストレージネットワークに必要なIPアドレス指定方式を使用して、BeeGFSファイルノードとクライアントの数に合わせて拡張できます。 |
手順1:Ansibleインベントリファイルを作成する
-
新しい'inventory.yml`ファイルを作成し'以下のパラメータを挿入します配置されたブロック・ノードを表すために'必要に応じて'eseries_storage_systems'の下のホストを置き換えますこれらの名前は'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:
以降のセクションでは、「ha_cluster」の下に、クラスタで実行するBeeGFSサービスを表すAnsibleグループを追加で作成します。
手順2:管理、メタデータ、ストレージのビルディングブロックのインベントリを設定する
クラスタまたはベースビルディングブロックの最初のビルディングブロックには、メタデータサービスおよびストレージサービスとともにBeeGFS管理サービスが含まれている必要があります。
-
'inventory.yml'で'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:
-
ファイル'group_vars/mgmt.yml'を作成し'以下を含めます
# 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
-
「group_vars/`」の下で、次のテンプレートを使用して「meta_01」から「meta_08」までのリソースグループのファイルを作成し、以下の表を参照する各サービスのプレースホルダ値を入力します。
# 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>
ボリュームサイズは、ストレージプール(ボリュームグループとも呼ばれる)全体に対する割合で指定します。SSDのオーバープロビジョニングのためのスペースを確保するために、各プールにある程度の空き容量を確保することを強く推奨します(詳細については、を参照してください) "NetApp EF600アレイの概要")。ストレージプール'beegfs_m1_m2_m3_m6''は'管理サービス用のプールの容量の1%も割り当てますしたがって'ストレージ・プール内のメタデータ・ボリュームでは'beegfs_m1_m2_m5_m6'1.92TBまたは3.84TBのドライブを使用している場合'この値を21.25'7.65TBドライブの場合は22.25'15.3TBドライブの場合は'23.75'に設定します ファイル名 ポート フローティングIP NUMAゾーン ブロックノード ストレージプール 所有コントローラ 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
-
「group_vars/`」の下で、以下のテンプレートを使用して「stor_01」から「stor_08」のリソースグループ用のファイルを作成し、例を参照する各サービスのプレースホルダ値を入力します。
# 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>
正しいサイズについては、を参照してください "ストレージプールのオーバープロビジョニングの割合を推奨します"。 ファイル名 ポート フローティングIP NUMAゾーン ブロックノード ストレージプール 所有コントローラ 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
手順3:メタデータとストレージのビルディングブロックのインベントリを設定する
以下の手順では、BeeGFSメタデータとストレージビルディングブロックにAnsibleインベントリを設定する方法について説明します。
-
'inventory.yml'で'既存の構成の下に次のパラメータを入力します
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:
-
「group_vars/`」の下で、次のテンプレートを使用して「meta_09」から「meta_16」までのリソースグループのファイルを作成し、例を参照する各サービスのプレースホルダ値を入力します。
# 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>
正しいサイズについては、を参照してください "ストレージプールのオーバープロビジョニングの割合を推奨します"。 ファイル名 ポート フローティングIP NUMAゾーン ブロックノード ストレージプール 所有コントローラ 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
-
「group_vars/」の下で、「stor_09」から「stor_16」までのリソースグループ用のファイルを作成し、例を参照する各サービスのプレースホルダ値を入力します。
# 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>
正しいサイズについては、を参照してください "ストレージプールのオーバープロビジョニングの割合を推奨します"。 ファイル名 ポート フローティングIP NUMAゾーン ブロックノード ストレージプール 所有コントローラ 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
手順4:ストレージ専用のビルディングブロックのインベントリを設定する
以下の手順では、BeeGFSストレージ専用ビルディングブロックのAnsibleインベントリを設定する方法について説明します。メタデータとストレージのみのビルディング・ブロックの構成を設定する場合の主な違いは'すべてのメタデータ・リソース・グループを省略し'各ストレージ・プールの基準ドライブ数を10から12に変更することです
-
'inventory.yml'で'既存の構成の下に次のパラメータを入力します
# 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:
-
「group_vars/
」の下で、以下のテンプレートを使用して「stor_17
~`stor_24`のリソースグループのファイルを作成し、例を参照する各サービスのプレースホルダ値を入力します。# 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>
正しいサイズについては、を参照してください "ストレージプールのオーバープロビジョニングの割合を推奨します"。 ファイル名 ポート フローティングIP NUMAゾーン ブロックノード ストレージプール 所有コントローラ 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