使用 ansible 模块将新磁盘添加到 LVM 组

使用 ansible 模块将新磁盘添加到 LVM 组

团队,有 lvol 模块,但我很难找到将新设备添加到现有 VG 组的方法。所以我采取了替代路线,使用 shell 模块并运行 RAW 命令。但是有没有办法使用 ansible 实现相同的功能?下面是我的代码,它运行 4 个步骤的 4 个任务,它们都运行良好。我只需要等效或更好的 ansible 方法。我知道我可以使用 LIST 参数并将其作为单个任务,但我想在输出中唯一地显示每个任务,以便在观察到失败时。我可以看到它失败的地方。

变量.yaml

item: [/dev/sdb, /dev/sde]
- name: "Extend LV Step1 :  PVCreate device {{ item }}"
  shell: |
    pvcreate "{{ item }}"

- name: "Extend LV Step2 :  Extend Volume Group {{ vg_name }} with new device {{ item }}"
  shell: |
     vgextend "{{ vg_name }}" "{{ item }}"

- name: "Extend LV Step3 : Logical Volume Extend"
  shell: |
     lvm lvextend -l +100%FREE "{{ device_prefix }}/{{ vg_name }}/{{ fs_type }}"

- name: "Extend LV Step4: resize2fs"
  shell: |
     resize2fs -p "{{ device_prefix }}/mapper/{{ vg_name }}-{{ fs_type }}"

答案1

我相信,对于 LVM,有 lvol 模块https://docs.ansible.com/ansible/latest/collections/community/general/lvol_module.html(以及其他的,如 lvg)。

相关内容