实例:
创建一个名为/home/greg/ansible/partition.yml 的剧本,它在所有托管节点上运行,执行以下操作:
在设备 VDB 上创建大小为 1500 MB 的单个主分区 1
使用 ext4 文件系统格式化分区
在/newpart 上永久挂载文件系统
如果无法创建所请求的分区大小,则应显示错误消息"mei you 1500m",并应改用大小 800 MIB。
如果设备 VDB 不存在,则应显示错误消息"mei you vdb"
#创建文件
vim part.yml
#playbook内容
---
- name: create
hosts: all
tasks:
- name: create part
block:
- name: c 1500m
parted:
part_end: 1500MiB
number: 1
device: /dev/vdb
state: present
rescue:
- name: meiyou 1500m
debug:
msg: mei you 1500m
- name: c 800m
parted:
part_end: 800MiB
number: 1
device: /dev/vdb
state: present
always:
- name: ext4
filesystem:
fstype: ext4
dest: /dev/vdb1
when: '"vdb1" in ansible_devices.vdb.partitions'
- name: file
file:
path: /newpart
state: directory
- name: mount
mount:
fstype: ext4
path: /newpart
src: /dev/vdb1
state: present
when: ansible_devices.vdb is defined
- name: meiyou vdb
debug:
msg: mei you vdb
when: ansible_devices.vdb is undefined
#运行playbook
ansible-playbook partition.yml
#在所有主机上查看
ansible all -m shell -a 'fdisk -l'