付録A node_prep_inventory.yml ファイルについて
node_prep_inventory.yml
ファイルは、Red Hat Hyperconverged Infrastructure for Virtualization クラスターの代替ホストを準備するために使用できる Ansible インベントリーファイルの例です。
このファイルは、いずれかのハイパーコンバージドホストの /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment/node_prep_inventory.yml
にあります。
A.1. 交換用ノードを準備するための設定パラメーター
A.1.1. 設定するホスト
- hc_nodes
ホストのバックエンド FQDN を使用するハイパーコンバージドホストのリストおよびそのホストの設定詳細。ホスト固有の設定は、ホストのバックエンド FQDN の下に定義されます。すべてのホストに共通する設定は
vars:
セクションで定義されます。hc_nodes: hosts: new-host-backend-fqdn.example.com: [configuration specific to this host] vars: [configuration common to all hosts]
A.1.2. マルチパスデバイス
blacklist_mpath_devices
(オプション)デフォルトでは、Red Hat Virtualization Host はマルチパス設定を有効にし、ディスクに基礎となるマルチパス設定がなくても、すべてのディスクに一意のマルチパス名とワールドワイド識別子を提供します。マルチパスデバイス名がリスト表示されるデバイスに使用されていないようにマルチパス設定がない場合は、このセクションを追加してください。ここに記載されていないディスクは、マルチパス設定が利用可能であると想定され、インベントリーファイルの後続のセクションで定義する際には、
/dev/sdx
の代わりにパスフォーマット/dev/mapper/<WWID>
が必要となります。4 つのデバイス (
sda
、sdb
、sdc
、およびsdd
) を持つサーバーでは、以下の設定は 2 つのデバイスをブラックリストに指定します。パスの形式/dev/mapper/<WWID>
は、このリストに記載されていないデバイスで想定されています。hc_nodes: hosts: new-host-backend-fqdn.example.com: blacklist_mpath_devices: - sdb - sdc
重要blacklist_mpath_devices
に暗号化デバイス (luks_*
デバイス) をリストしないでください。マルチパス設定が機能する必要があるためです。
A.1.3. 重複排除と圧縮
gluster_infra_vdo
(optional)このセクションでは、重複排除と圧縮を使用するデバイスのリストを定義します。これらのデバイスには、
gluster_infra_volume_groups
でボリュームグループとして定義する際に、/dev/mapper/<name>
パス形式が必要です。リスト表示される各デバイスには以下の情報が必要です。name
-
VDO デバイスの省略名 (
vdo_sdc
など)。 device
-
使用するデバイス (例:
/dev/sdc
) logicalsize
-
VDO ボリュームの論理サイズ。物理ディスクサイズが 10 倍になるようにします。たとえば、500 GB のディスクがある場合は、
logicalsize: '5000G'
を設定します。 emulate512
-
ブロックサイズが 4 KB のデバイスを使用する場合には、これを
on
に設定します。 slabsize
-
ボリュームの論理サイズが 1000 GB 以上である場合は、これを
32 G
に設定します。論理サイズが 1000 GB 未満の場合は、これを2 G
に設定します。 blockmapcachesize
-
これを
128 M
に設定します。 writepolicy
-
これは
auto
に設定します。
以下に例を示します。
hc_nodes: hosts: new-host-backend-fqdn.example.com: gluster_infra_vdo: - { name: 'vdo_sdc', device: '/dev/sdc', logicalsize: '5000G', emulate512: 'off', slabsize: '32G', blockmapcachesize: '128M', writepolicy: 'auto' } - { name: 'vdo_sdd', device: '/dev/sdd', logicalsize: '500G', emulate512: 'off', slabsize: '2G', blockmapcachesize: '128M', writepolicy: 'auto' }
A.1.4. ストレージインフラストラクチャー
gluster_infra_volume_groups
(required)本セクションでは、論理ボリュームを含むボリュームグループを作成します。
hc_nodes: hosts: new-host-backend-fqdn.example.com: gluster_infra_volume_groups: - vgname: gluster_vg_sdb pvname: /dev/sdb - vgname: gluster_vg_sdc pvname: /dev/mapper/vdo_sdc
gluster_infra_mount_devices
(required)このセクションでは、Gluster ブリックを形成する論理ボリュームを作成します。
hc_nodes: hosts: new-host-backend-fqdn.example.com: gluster_infra_mount_devices: - path: /gluster_bricks/engine lvname: gluster_lv_engine vgname: gluster_vg_sdb - path: /gluster_bricks/data lvname: gluster_lv_data vgname: gluster_vg_sdc - path: /gluster_bricks/vmstore lvname: gluster_lv_vmstore vgname: gluster_vg_sdd
gluster_infra_thinpools
(optional)このセクションでは、シンプロビジョニングされたボリュームが使用する論理シンプールを定義します。シンプールは
engine
ボリュームには適していませんが、vmstore
およびdata
ブリックに使用できます。vgname
- このシンプールが含まれるボリュームグループの名前。
thinpoolname
-
gluster_thinpool_sdc
などのシンプールの名前。 thinpoolsize
- このボリュームグループに作成されるすべての論理ボリュームのサイズの合計。
poolmetadatasize
-
16 G
に設定します。これは、サポートされるデプロイメント用に推奨されるサイズです。
hc_nodes: hosts: new-host-backend-fqdn.example.com: gluster_infra_thinpools: - {vgname: 'gluster_vg_sdc', thinpoolname: 'gluster_thinpool_sdc', thinpoolsize: '500G', poolmetadatasize: '16G'} - {vgname: 'gluster_vg_sdd', thinpoolname: 'gluster_thinpool_sdd', thinpoolsize: '500G', poolmetadatasize: '16G'}
gluster_infra_cache_vars
(optional)このセクションでは、低速なデバイスのパフォーマンスを改善するためにキャッシュ論理ボリュームを定義します。高速キャッシュデバイスはシンプールに割り当てられ、
gluster_infra_thinpool
を定義する必要があります。vgname
- 高速な外部キャッシュを必要とするデバイスを持つボリュームグループの名前。
cachedisk
-
出力デバイスとファーストデバイスのパスをコンマで区切って指定します。例えば、出力デバイス
sdb
でキャッシュデバイスsde
を使用する場合は、/dev/sdb/dev/sde
と指定します。 cachelvname
- このキャッシュ論理ボリュームの名前。
cachethinpoolname
- 高速キャッシュボリュームが割り当てられているシンプール。
cachelvsize
- キャッシュ論理ボリュームのサイズ。このサイズの約 0.01% がキャッシュメタデータに使用されます。
cachemode
-
キャッシュモード。有効な値は
writethrough
およびwriteback
です。
hc_nodes: hosts: new-host-backend-fqdn.example.com: gluster_infra_cache_vars: - vgname: gluster_vg_sdb cachedisk: /dev/sdb,/dev/sde cachelvname: cachelv_thinpool_sdb cachethinpoolname: gluster_thinpool_sdb cachelvsize: '250G' cachemode: writethrough
gluster_infra_thick_lvs
(required)ブリックの作成に使用するシックにプロビジョニングされた論理ボリューム。
engine
ボリュームのブリックはシックにプロビジョニングされている必要があります。vgname
- 論理ボリュームを含むボリュームグループの名前。
lvname
- 論理ボリュームの名前。
サイズ
-
論理ボリュームのサイズ。
engine
の論理ボリュームには100 G
が必要です。
hc_nodes: hosts: new-host-backend-fqdn.example.com: gluster_infra_thick_lvs: - vgname: gluster_vg_sdb lvname: gluster_lv_engine size: 100G
gluster_infra_lv_logicalvols
(required)ブリックの作成に使用するシンプロビジョニングされた論理ボリューム。
vgname
- 論理ボリュームを含むボリュームグループの名前。
thinpool
- このボリュームがシンプロビジョニングされている場合、論理ボリュームを含むシンプール。
lvname
- 論理ボリュームの名前。
サイズ
-
論理ボリュームのサイズ。
engine
の論理ボリュームには100 G
が必要です。
hc_nodes: hosts: new-host-backend-fqdn.example.com: gluster_infra_lv_logicalvols: - vgname: gluster_vg_sdc thinpool: gluster_thinpool_sdc lvname: gluster_lv_data lvsize: 200G - vgname: gluster_vg_sdd thinpool: gluster_thinpool_sdd lvname: gluster_lv_vmstore lvsize: 200G
gluster_infra_disktype
(required)ディスクの基礎となるハードウェア設定を指定します。お使いのハードウェアに合った値に設定してください。
RAID6
、RAID5
、JBOD
のいずれかです。hc_nodes: vars: gluster_infra_disktype: RAID6
gluster_infra_diskcount
(required)RAID セット内のデータディスクの数を指定します。
JBOD
ディスクタイプの場合は、これを1
に設定します。hc_nodes: vars: gluster_infra_diskcount: 10
gluster_infra_stripe_unit_size
(required)RAID セットのストライプサイズ (メガバイト単位)
hc_nodes: vars: gluster_infra_stripe_unit_size: 256
gluster_features_force_varlogsizecheck
(required)デプロイメントプロセス中に
/var/log
パーティションに十分な空き領域があることを確認する場合は、true
に設定します。ログに十分なスペースを確保することが重要になりますが、スペースの要件を慎重に監視する場合は、デプロイメント時に領域の要件を確認する必要はありません。hc_nodes: vars: gluster_features_force_varlogsizecheck: false
gluster_set_selinux_labels
(required)SELinux が有効な場合にボリュームにアクセスできることを確認します。このホストで SELinux が有効になっている場合は、
true
に設定します。hc_nodes: vars: gluster_set_selinux_labels: true
A.1.5. ファイアウォールおよびネットワークインフラストラクチャー
gluster_infra_fw_ports
(required)すべてのノード間で開くべきポートのリストで、
<port>/<protocol>
の形式で指定します。hc_nodes: vars: gluster_infra_fw_ports: - 2049/tcp - 54321/tcp - 5900-6923/tcp - 16514/tcp - 5666/tcp - 16514/tcp
gluster_infra_fw_permanent
(必須)ノードの再起動後に、
gluster_infra_fw_ports
にリスト表示されるポートが開放されていることを確認します。実稼働環境のユースケースでは、これをtrue
に設定します。hc_nodes: vars: gluster_infra_fw_permanent: true
gluster_infra_fw_state
(required)ファイアウォールを有効にします。実稼働環境のユースケースで、この値を
enabled
に設定します。hc_nodes: vars: gluster_infra_fw_state: enabled
gluster_infra_fw_zone
(必須)これらの
gluster_infra_fw_\*
パラメーターが適用されるファイアウォールゾーンを指定します。hc_nodes: vars: gluster_infra_fw_zone: public
gluster_infra_fw_services
(required)ファイアウォールを介して許可するサービスのリスト
glusterfs
がここで定義されていることを確認してください。hc_nodes: vars: gluster_infra_fw_services: - glusterfs