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
    
  • (только для 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
    

Пример плейбука

Пример плейбука для тэгации 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
Лицензия
gpl-3.0
Загрузки
127
Владелец