OndrejHome.ha-cluster-lvm

ha-cluster-lvm

这是一个用于在 Pacemaker 集群中启用高度可用 LVM(HA-LVM)配置的角色。该角色也可以为标记和 clvm 变体创建逻辑卷(LV)和卷组(VG),请参阅示例了解如何操作。

与 rgmanager 相关的代码已从该角色中移除并转移到一个独立角色 - ondrejhome.ha_cluster_lvm_rgmanager

要求

RHEL:预期机器已注册并订阅了“高可用性”或“弹性存储”频道。

角色变量

  • HA-LVM 的类型:

    • (EL6, EL7)可选项为“tagging”或“clvm”
    • (EL8, EL9)可选项为“systemid”或“lvmlockd”
    • 默认值为“tagging”
    HALVMtype: 'tagging'
    
  • (可选)- 仅在选择“tagging”模式时应用。应包括在“volume_list”中的 VG 列表,除此之外还包括根文件系统所在的 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 和一个在整个 VG 上的 LV。

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

结合了 clvm 变体和 tagging 变体的示例剧本,并创建了用于集群和标记 VG 的 VGs/LVs。

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

具有一个 VG 和一个在整个 VG 上的 LV 的 systemid 变体示例剧本。

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

具有一个 VG 和一个在整个 VG 上的 LV 的 lvmlockd 变体示例剧本。

- 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 使用 tagging 和 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.ha-cluster-lvm
许可证
gpl-3.0
下载
137
拥有者