OndrejHome.ha-cluster-lvm

ha-cluster-lvm

Rol para habilitar la configuración de LVM altamente disponible (HA-LVM) en un clúster de pacemaker. Este rol también puede crear LVs y VGs para las variantes de etiquetado y clvm, consulta los ejemplos para ver cómo.

El código específico de rgmanager fue eliminado de este rol y movido a un rol separado - ondrejhome.ha_cluster_lvm_rgmanager.

Requisitos

RHEL: Se espera que las máquinas ya estén registradas y suscritas para acceder a los canales de 'Alta Disponibilidad' o 'Almacenamiento Resiliente'.

Variables del Rol

  • tipo de HA-LVM:

    • (EL6, EL7) las opciones posibles son 'etiquetado' o 'clvm'
    • (EL8, EL9) las opciones posibles son 'systemid' o 'lvmlockd'
    • el valor predeterminado es 'etiquetado'
    HALVMtype: 'etiquetado'
    
  • (opcional) - esto se aplica solo cuando se selecciona el modo 'etiquetado'. Lista de VGs que deben incluirse en 'volume_list', además de la VG en la que reside el sistema de archivos raíz. Por defecto, esta lista está vacía, el siguiente ejemplo muestra cómo especificar la lista de VGs.

    local_vg_list: [ 'vg1', 'vg2' ]
    
  • (solo RHEL) habilitar los repositorios que contienen los paquetes necesarios:

    • en RHEL6 habilitar rhel-rs-for-rhel-6-server-rpms
    • en RHEL7 habilitar rhel-rs-for-rhel-7-server-rpms
    • en RHEL8 habilitar rhel-8-for-x86_64-resilientstorage-rpms
    • en RHEL9 habilitar rhel-9-for-x86_64-resilientstorage-rpms
    enable_repos: true
    
  • (solo RHEL) habilitar los repositorios de actualizaciones extendidas (EUS) que contienen los paquetes necesarios:

    • en RHEL6 habilitar rhel-rs-for-rhel-6-server-eus-rpms
    • en RHEL7 habilitar rhel-rs-for-rhel-7-server-eus-rpms
    • en RHEL8 habilitar rhel-8-for-x86_64-resilientstorage-eus-rpms
    • en RHEL9 habilitar rhel-9-for-x86_64-resilientstorage-eus-rpms
    enable_eus_repos: false
    

Ejemplo de Playbook

Ejemplo de playbook para etiquetar HA-LVM.

- hosts: servidores
  roles:
     - { role: 'ondrejhome.ha-cluster-lvm' }

Ejemplo de playbook para etiquetar HA-LVM con nombres de VG locales adicionales 'vg_local'.

- hosts: servidores
  roles:
     - { role: 'ondrejhome.ha-cluster-lvm', local_vg_list: [ 'vg_local' ] }

Ejemplo de playbook para la variante clvm de HA-LVM.

- hosts: servidores
  roles:
     - { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'clvm' }

Ejemplo de playbook para la variante systemid de HA-LVM.

- hosts: servidores
  roles:
     - { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'systemid' }

Ejemplo de playbook para la variante lvmlockd de HA-LVM.

- hosts: servidores
  roles:
     - { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'lvmlockd' }

Ejemplo de playbook para la variante etiquetada con un VG y un LV en todo el VG.

- hosts: servidores
  vars:
    tagging_vgs:
      - name: 'vg_shared'
        pvs: '/dev/sdb'
        lvs:
          - name: 'lv_name5'
            size: '200M'
  roles:
     - { role: 'ondrejhome.ha-cluster-lvm' }

Ejemplo de playbook para la variante clvm combinada con la variante etiquetada y creación de VGs/LVs para ambos, VGs agrupados y etiquetados.

- hosts: servidores
  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' }

Ejemplo de playbook para la variante systemid con un VG y un LV en todo el VG.

- hosts: servidores
  vars:
    systemid_vgs:
      - name: 'vg_systemid'
        pvs: '/dev/sdb'
        lvs:
          - name: 'lv_name5'
            size: '200M'
  roles:
     - { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'systemid' }

Ejemplo de playbook para la variante lvmlockd con un VG y un LV en todo el VG.

- hosts: servidores
  vars:
    lvmlockd_vgs:
      - name: 'vg_lvmlockd'
        pvs: '/dev/sdb'
        lvs:
          - name: 'lv_name6'
            size: '200M'
  roles:
     - { role: 'ondrejhome.ha-cluster-lvm', HALVMtype: 'lvmlockd' }

Licencia

GPLv3

Información del Autor

Este rol fue probado manualmente en un número limitado de plataformas y puede no cubrir todos los casos posibles.

  • 2022-09 probado en: RHEL 8.2/8.6/9.0, AlmaLinux 8.6/9.0 con el enfoque systemid
  • 2022-10 probado en: CentOS 6.10, RHEL 6.10 con el enfoque de etiquetado y clvm

Para contactar al autor puedes usar el correo electrónico ondrej-xa2iel8u@famera.cz o crear un problema en github al solicitar alguna característica.

Acerca del proyecto

Setup HA-LVM (tagging/clvmd/systemid/lvmlockd) on pacemaker cluster on EL6/7/8/9

Instalar
ansible-galaxy install OndrejHome.ha-cluster-lvm
Licencia
gpl-3.0
Descargas
137
Propietario