Команда, есть модуль lvol, но мне сложно найти способ добавить новое устройство в существующую группу VG. Поэтому я пошел другим путем, используя модуль оболочки и выполняя команды RAW. Но есть ли способ добиться того же самого с помощью ansible? Ниже приведен мой код, который запускает 4 задачи на 4 шага, и все они работают нормально. Мне просто нужен эквивалентный или лучший подход ansible. Я знаю, что могу использовать параметр LIST и сделать это одной задачей, но я хочу отображать каждую задачу уникально в выводе, чтобы в случае возникновения сбоя я мог видеть, где произошел сбой.
vars.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 есть модуль lvolhttps://docs.ansible.com/ansible/latest/collections/community/general/lvol_module.html(и другие, например lvg).