OndrejHome.ha-cluster-lvm

ha-cluster-lvm

Rôle pour activer la configuration LVM hautement disponible (HA-LVM) dans un cluster Pacemaker. Ce rôle peut également créer des volumes logiques (LV) et des groupes de volumes (VG) pour les variantes de tagging et de clvm, consultez les exemples pour voir comment faire.

Le code spécifique à rgmanager a été retiré de ce rôle et déplacé dans un rôle séparé - ondrejhome.ha_cluster_lvm_rgmanager.

Exigences

RHEL : Il est prévu que les machines soient déjà enregistrées et abonnées pour accéder aux canaux 'Haute Disponibilité' ou 'Stockage Résilient'.

Variables du Rôle

  • type de HA-LVM :

    • (EL6, EL7) options possibles : 'tagging' ou 'clvm'

    • (EL8, EL9) options possibles : 'systemid' ou 'lvmlockd'

    • valeur par défaut : 'tagging'

      HALVMtype: 'tagging'
      
  • (optionnel) - ceci s'applique uniquement lorsque le mode 'tagging' est sélectionné. Liste des VG à inclure dans 'volume_list' en plus du VG sur lequel se trouve le système de fichiers racine. Par défaut, cette liste est vide. L'exemple ci-dessous montre comment spécifier la liste des VG.

    local_vg_list: [ 'vg1', 'vg2' ]
    
  • (RHEL uniquement) activer les dépôts contenant les paquets nécessaires :

    • sur RHEL6 activer rhel-rs-for-rhel-6-server-rpms

    • sur RHEL7 activer rhel-rs-for-rhel-7-server-rpms

    • sur RHEL8 activer rhel-8-for-x86_64-resilientstorage-rpms

    • sur RHEL9 activer rhel-9-for-x86_64-resilientstorage-rpms

      enable_repos: true
      
  • (RHEL uniquement) activer les dépôts de mises à jour prolongées (EUS) contenant les paquets nécessaires :

    • sur RHEL6 activer rhel-rs-for-rhel-6-server-eus-rpms

    • sur RHEL7 activer rhel-rs-for-rhel-7-server-eus-rpms

    • sur RHEL8 activer rhel-8-for-x86_64-resilientstorage-eus-rpms

    • sur RHEL9 activer rhel-9-for-x86_64-resilientstorage-eus-rpms

      enable_eus_repos: false
      

Exemple de Playbook

Exemple de playbook pour le tagging HA-LVM.

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

Exemple de playbook pour le tagging HA-LVM avec des noms de VG locaux supplémentaires 'vg_local'.

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

Exemple de playbook pour la variante clvm de HA-LVM.

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

Exemple de playbook pour la variante systemid de HA-LVM.

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

Exemple de playbook pour la variante lvmlockd de HA-LVM.

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

Exemple de playbook pour la variante tagged avec un VG et un LV sur l'ensemble du VG.

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

Exemple de playbook pour la variante clvm combinée avec la variante tagging et la création de VG/LV pour les VG clusterisés et tagging.

- 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' }

Exemple de playbook pour la variante systemid avec un VG et un LV sur l'ensemble du 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' }

Exemple de playbook pour la variante lvmlockd avec un VG et un LV sur l'ensemble du 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' }

Licence

GPLv3

Informations sur l'Auteur

Ce rôle a été testé manuellement sur un nombre limité de plateformes et peut ne pas couvrir tous les cas particuliers.

  • 2022-09 testé sur : RHEL 8.2/8.6/9.0, AlmaLinux 8.6/9.0 avec l'approche systemid
  • 2022-10 testé sur : CentOS 6.10, RHEL 6.10 avec les approches tagging et clvm

Pour contacter l'auteur, vous pouvez utiliser l'email ondrej-xa2iel8u@famera.cz ou créer un problème sur GitHub pour demander une fonctionnalité.

À propos du projet

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

Installer
ansible-galaxy install OndrejHome.ha-cluster-lvm
Licence
gpl-3.0
Téléchargements
137
Propriétaire