yaml文件
---
- hosts: test
vars_files:
- Partition_table.yaml
tasks:
- name: Create a new partition
parted:
device: /dev/sdb
number: "{{ item.number }}"
state: present
part_start: "{{ item.start }}"
part_end: "{{ item.end }}"
loop: "{{ partitions }}"
- name: create volume group
lvg:
vg: "{{ item.vg }}"
pvs: "{{ item.pvs }}"
loop: "{{ volumegroup }}"
- name: create logical volume
lvol:
vg: "{{ item.vg }}"
lv: "{{ item.lv }}"
size: "{{ item.size }}"
resizefs: true
force: yes
state: present
loop: "{{ logicalvolume }}"
when: item.lv not in ansible_lvm["lvs"]
- name: create a xfs
filesystem:
fstype: "{{ item.fstype }}"
dev: /dev/demo_vg2/lv2_test
loop: "{{ filesystem }}"
- name: mount lvs
mount:
path: "{{ item.path }}"
src: /dev/demo_vg2/lv2_test
fstype: xfs
state: mounted
opts: noatime
loop: "{{ mountargs }}"
变量文件Partition_table.yaml
---
partitions:
- number: 1
start: 1MiB
end: 1GiB
- number: 2
start: 1GiB
end: 2GiB
volumegroup:
- vg: demo_vg2
pvs: /dev/sdb2
logicalvolume:
- vg: demo_vg2
lv: lv2_test
size: 100%FREE
filesystem:
- fstype: xfs
mountargs:
- path: /mnt
执行结果