OndrejHome.ha-cluster-lvm

ha-cluster-lvm

Rolle zur Aktivierung der hochverfügbaren LVM (HA-LVM) Konfiguration in einem Pacemaker-Cluster. Diese Rolle kann auch logische Volumes (LVs) und Volumengruppen (VGs) sowohl für das Tagging als auch für die clvm-Variante erstellen. Weitere Informationen finden Sie in den Beispielen.

Der rgmanager-spezifische Code wurde von dieser Rolle entfernt und in eine separate Rolle verschoben - ondrejhome.ha_cluster_lvm_rgmanager.

Anforderungen

RHEL: Es wird erwartet, dass die Maschinen bereits registriert und für den Zugang zu den Kanälen „High Availability“ oder „Resilient Storage“ abonniert sind.

Rollenvariablen

  • Art des HA-LVM:

    • (EL6, EL7) mögliche Optionen sind 'Tagging' oder 'clvm'
    • (EL8, EL9) mögliche Optionen sind 'systemid' oder 'lvmlockd'
    • Standard ist 'Tagging'
    HALVMtype: 'tagging'
    
  • (optional) - dies gilt nur, wenn der 'Tagging'-Modus ausgewählt ist. Liste der VGs, die zusätzlich zur VG, auf der das Root-Dateisystem liegt, in die 'volume_list' aufgenommen werden sollen. Diese Liste ist standardmäßig leer, das folgende Beispiel zeigt, wie man die Liste der VGs angibt.

    local_vg_list: [ 'vg1', 'vg2' ]
    
  • (nur RHEL) die Repositories aktivieren, die die benötigten Pakete enthalten:

    • auf RHEL6 aktivieren Sie rhel-rs-for-rhel-6-server-rpms
    • auf RHEL7 aktivieren Sie rhel-rs-for-rhel-7-server-rpms
    • auf RHEL8 aktivieren Sie rhel-8-for-x86_64-resilientstorage-rpms
    • auf RHEL9 aktivieren Sie rhel-9-for-x86_64-resilientstorage-rpms
    enable_repos: true
    
  • (nur RHEL) die erweiterten Update- (EUS) Repositories aktivieren, die die benötigten Pakete enthalten:

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

Beispiel-Playbook

Beispiel-Playbook für das Tagging von HA-LVM.

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

Beispiel-Playbook für das Tagging von HA-LVM mit zusätzlichen lokalen VG-Namen 'vg_local'.

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

Beispiel-Playbook für die clvm-Variante von HA-LVM.

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

Beispiel-Playbook für die systemid-Variante von HA-LVM.

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

Beispiel-Playbook für die lvmlockd-Variante von HA-LVM.

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

Beispiel für ein Playbook für die getaggte Variante mit einer VG und einem LV auf der gesamten VG.

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

Beispiel-Playbook für die clvm-Variante kombiniert mit der Tagging-Variante und Erstellung von VGs/LVs für sowohl clusterfähige als auch getaggte VGs.

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

Beispiel für ein Playbook für die systemid-Variante mit einer VG und einem LV auf der gesamten 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' }

Beispiel für ein Playbook für die lvmlockd-Variante mit einer VG und einem LV auf der gesamten 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' }

Lizenz

GPLv3

Autor Informationen

Diese Rolle wurde manuell auf einer begrenzten Anzahl von Plattformen getestet und deckt möglicherweise nicht alle Randfälle ab.

  • 2022-09 getestet auf: RHEL 8.2/8.6/9.0, AlmaLinux 8.6/9.0 mit systemid-Ansatz
  • 2022-10 getestet auf: CentOS 6.10, RHEL 6.10 mit Tagging- und clvm-Ansatz

Um Kontakt mit dem Autor aufzunehmen, können Sie die E-Mail ondrej-xa2iel8u@famera.cz verwenden oder ein Problem auf GitHub erstellen, wenn Sie eine Funktion anfordern möchten.

Über das Projekt

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

Installieren
ansible-galaxy install OndrejHome.ha-cluster-lvm
GitHub Repository
Lizenz
gpl-3.0
Downloads
137