ha-cluster-lvm
ha-cluster-lvm
Роль для настройки конфигурации высокодоступного LVM (HA-LVM) в кластере pacemaker. Эта роль также может создавать логические тома (LV) и группы томов (VG) как для тэгации, так и для варианта clvm; смотрите примеры ниже, чтобы узнать как.
Код, специфичный для rgmanager, был удалён из этой роли и перенесён в отдельную роль - ondrejhome.ha_cluster_lvm_rgmanager.
Требования
RHEL: Ожидается, что машины уже зарегистрированы и подписаны для доступа к каналам 'High Availability' или 'Resilient storage'.
Переменные роли
тип HA-LVM:
- (EL6, EL7) возможные варианты 'tagging' или 'clvm'
- (EL8, EL9) возможные варианты 'systemid' или 'lvmlockd'
- по умолчанию 'tagging'
HALVMtype: 'tagging'
(необязательно) - применяется только при выборе режима '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' }
Пример плейбука для тэгации HA-LVM с дополнительными локальными именами VG 'vg_local'.
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm', local_vg_list: [ 'vg_local' ] }
Пример плейбука для варианта clvm HA-LVM.
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'clvm' }
Пример плейбука для варианта systemid HA-LVM.
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'systemid' }
Пример плейбука для варианта lvmlockd HA-LVM.
- hosts: servers
roles:
- { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'lvmlockd' }
Пример плейбука для тэгации с одним VG и одним LV на весь VG.
- hosts: servers
vars:
tagging_vgs:
- name: 'vg_shared'
pvs: '/dev/sdb'
lvs:
- name: 'lv_name5'
size: '200M'
roles:
- { role: 'ondrejhome.ha-cluster-lvm' }
Пример плейбука для варианта clvm в сочетании с вариантом тэгации и созданием VG/LV как для кластерных, так и для тэгационных VG.
- 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' }
Пример плейбука для варианта systemid с одним VG и одним LV на весь VG.
- 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' }
Пример плейбука для варианта lvmlockd с одним VG и одним LV на весь VG.
- 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/ansible.ha-cluster-lvm