OndrejHome.ha-cluster-lvm
ha-cluster-lvm
Pacemakerクラスターでの高可用性LVM(HA-LVM)構成を有効にするための役割です。 この役割は、タグ付け用とclvmバリアント用のLVとVGを作成することもできます。詳細は例を確認してください。
rgmanager特有のコードはこの役割から削除され、別の役割 - ondrejhome.ha_cluster_lvm_rgmanagerに移動されました。
要件
RHEL: 機械はすでに登録されており、「高可用性」または「耐障害ストレージ」チャネルへのアクセスのためにサブスクライブされていることが期待されます。
役割変数
HA-LVMの種類:
- (EL6, EL7) の選択肢は「タグ付け」または「clvm」
- (EL8, EL9) の選択肢は「systemid」または「lvmlockd」
- デフォルトは「タグ付け」
HALVMtype: 'tagging'
(オプション) - 「タグ付け」モードが選択されているときのみ適用されます。ルートファイルシステムが存在するVGに加えて、「volume_list」に含める必要があるVGのリスト。デフォルトではこのリストは空です。以下の例は、VGのリストを指定する方法を示しています。
local_vg_list: [ 'vg1', 'vg2' ]
(RHELのみ)必要なパッケージを含むリポジトリを有効にします:
- RHEL6では
rhel-rs-for-rhel-6-server-rpms
を有効にする - RHEL7では
rhel-rs-for-rhel-7-server-rpms
を有効にする - RHEL8では
rhel-8-for-x86_64-resilientstorage-rpms
を有効にする - RHEL9では
rhel-9-for-x86_64-resilientstorage-rpms
を有効にする
enable_repos: true
- RHEL6では
(RHELのみ)必要なパッケージを含む拡張更新(EUS)リポジトリを有効にします:
- RHEL6では
rhel-rs-for-rhel-6-server-eus-rpms
を有効にする - RHEL7では
rhel-rs-for-rhel-7-server-eus-rpms
を有効にする - RHEL8では
rhel-8-for-x86_64-resilientstorage-eus-rpms
を有効にする - RHEL9では
rhel-9-for-x86_64-resilientstorage-eus-rpms
を有効にする
enable_eus_repos: false
- RHEL6では
例のプレイブック
HA-LVMのタグ付け用の例のプレイブック。
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm' }
追加のローカルVG名「vg_local」を用いたHA-LVMのタグ付け用の例のプレイブック。
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm', local_vg_list: [ 'vg_local' ] }
HA-LVMのclvmバリエーション用の例のプレイブック。
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'clvm' }
HA-LVMのsystemidバリエーション用の例のプレイブック。
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'systemid' }
HA-LVMのlvmlockdバリエーション用の例のプレイブック。
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'lvmlockd' }
1つのVGと1つのLVを含むタグ付きバリエーションのプレイブックの例。
- hosts: servers
vars:
tagging_vgs:
- name: 'vg_shared'
pvs: '/dev/sdb'
lvs:
- name: 'lv_name5'
size: '200M'
roles:
- { role: 'ondrejhome.ha-cluster-lvm' }
タグ付けされたVGとclvmバリエーションを組み合わせたプレイブックの例。
- hosts: servers
vars:
local_vg_list:
- 'vg_clvm'
clvm_vgs:
- name: 'vg_clvm'
pvs: '/dev/sdb2'
lvs:
- name: 'lv_name1'
size: '200M'
- name: 'lv_name2'
size: '100M'
tagging_vgs:
- name: 'vg_shared'
pvs: '/dev/sdb1'
lvs:
- name: 'lv_name3'
size: '200M'
- name: 'lv_name4'
size: '100M'
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'clvm' }
1つのVGと1つのLVを含むsystemidバリエーションのプレイブックの例。
- hosts: servers
vars:
systemid_vgs:
- name: 'vg_systemid'
pvs: '/dev/sdb'
lvs:
- name: 'lv_name5'
size: '200M'
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'systemid' }
1つのVGと1つのLVを含むlvmlockdバリエーションのプレイブックの例。
- hosts: servers
vars:
lvmlockd_vgs:
- name: 'vg_lvmlockd'
pvs: '/dev/sdb'
lvs:
- name: 'lv_name6'
size: '200M'
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'lvmlockd' }
ライセンス
GPLv3
著者情報
この役割は限られたプラットフォームで手動テストされており、すべての隅々のケースをカバーしているわけではありません。
- 2022-09 テスト対象: RHEL 8.2/8.6/9.0, AlmaLinux 8.6/9.0(systemidアプローチ)
- 2022-10 テスト対象: CentOS 6.10, RHEL 6.10(タグ付けとclvmアプローチ)
著者への連絡は、メールアドレスondrej-xa2iel8u@famera.czを使用するか、機能リクエストをGitHubで作成してください。
Setup HA-LVM (tagging/clvmd/systemid/lvmlockd) on pacemaker cluster on EL6/7/8/9
ansible-galaxy install OndrejHome.ha-cluster-lvm