---
- hosts: all
become: yes
become_user: root
become_method: sudo
become_flags: -i
gather_facts: no
vars_files:
- lvm_vars.yml
tasks:
- name: check disk_name is exist or not
shell: test -b {{ disk_name }}
register: result
ignore_errors: True
# debug:
# var: result
# msg: "disk_name not exists"
# when: result.rc != 0
- name: install lvm2
yum: name=lvm2 state=present
- name: create partitions
script: /root/playbook/lvm/disk.sh
- name: create volume group vg
lvg: vg={{ vg_name }} pvs={{ pv_name }}
- name: create logical volume lv
lvol: vg={{ vg_name }} lv={{ lv_name }} size=100%FREE
- name: format lvm
filesystem: fstype={{ dev_type }} dev={{ lvm }}
- name: create monut directory
file: path={{ dir_name }} state=directory
- name: mount filesystem
mount: name={{ dir_name }} src={{ lvm }} fstype={{ dev_type }} state=mounted
- name: modify /etc/fstab
lineinfile:
dest: /etc/fstab
line: '/dev/export/data /export xfs defaults 0 0'
ignore_errors: True
lvm_vars.yml
host: test
disk_sh_dir: "disk.sh"
disk_name: "/dev/sdb"
dir_name: "/export"
pv_name: "/dev/sdb1"
vg_name: "export"
lv_name: "data"
lvm: "/dev/{{vg_name}}/{{lv_name}}"
dev_type: "xfs"
disk.sh
#!/bin/sh
d=$i
for i in $d
do
echo "n
p
1
t
8e
w
"|fdisk $i;pvcreate "$i"1;done