43 lines
1.1 KiB
YAML
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 }}"
|