付録B 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 にあります。
B.1. 交換用ノードを準備するための設定パラメーター
B.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]
B.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_*デバイス) をリストしないでください。マルチパス設定が機能する必要があるためです。
B.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' }
B.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_sdcgluster_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_sddgluster_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: writethroughgluster_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: 100Ggluster_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: 200Ggluster_infra_disktype(required)ディスクの基礎となるハードウェア設定を指定します。お使いのハードウェアに合った値に設定してください。
RAID6、RAID5、JBODのいずれかです。hc_nodes: vars: gluster_infra_disktype: RAID6gluster_infra_diskcount(required)RAID セット内のデータディスクの数を指定します。
JBODディスクタイプの場合は、これを1に設定します。hc_nodes: vars: gluster_infra_diskcount: 10gluster_infra_stripe_unit_size(required)RAID セットのストライプサイズ (メガバイト単位)
hc_nodes: vars: gluster_infra_stripe_unit_size: 256gluster_features_force_varlogsizecheck(required)デプロイメントプロセス中に
/var/logパーティションに十分な空き領域があることを確認する場合は、trueに設定します。ログに十分なスペースを確保することが重要になりますが、スペースの要件を慎重に監視する場合は、デプロイメント時に領域の要件を確認する必要はありません。hc_nodes: vars: gluster_features_force_varlogsizecheck: falsegluster_set_selinux_labels(required)SELinux が有効な場合にボリュームにアクセスできることを確認します。このホストで SELinux が有効になっている場合は、
trueに設定します。hc_nodes: vars: gluster_set_selinux_labels: true
B.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/tcpgluster_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: enabledgluster_infra_fw_zone(必須)これらの
gluster_infra_fw_\*パラメーターが適用されるファイアウォールゾーンを指定します。hc_nodes: vars: gluster_infra_fw_zone: publicgluster_infra_fw_services(required)ファイアウォールを介して許可するサービスの一覧
glusterfsがここで定義されていることを確認してください。hc_nodes: vars: gluster_infra_fw_services: - glusterfs