homelab/ansible/lvm.yml
2025-02-04 15:48:36 -08:00

43 lines
1.1 KiB
YAML

---
- name: Create LVM and mount it
hosts: lvm
remote_user: ubuntu
become: true
vars:
pv_disks: "{{ lvm.pv_disks }}"
vg_name: "{{ lvm.vg_name }}"
lv_name: "{{ lvm.lv_name }}"
lv_size: "{{ lvm.lv_size }}"
fs_type: "{{ lvm.fs_type }}"
mount_path: "{{ lvm.mount_path }}"
tasks:
- name: Create a volume group
community.general.lvg:
vg: "{{ vg_name }}"
pvs: "{{ pv_disks }}"
pvresize: yes
- name: Create Logical Volume for data persistence
community.general.lvol:
vg: "{{ vg_name }}"
lv: "{{ lv_name }}"
size: "{{ lv_size }}"
- name: Create filesystem on LV
community.general.filesystem:
fstype: "{{ fs_type }}"
resizefs: true
dev: /dev/mapper/{{ vg_name }}-{{ lv_name }}
- name: Get LV UUID
ansible.builtin.command: lsblk /dev/mapper/{{ vg_name }}-{{ lv_name }} -no UUID
register: lv_uuid
changed_when: false
- name: Mount created filesystem
ansible.posix.mount:
path: "{{ mount_path }}"
src: UUID={{ lv_uuid.stdout }}
state: mounted
fstype: "{{ fs_type }}"