使用playbook进行磁盘管理
Ansible使用parted模块管理磁盘分区。
常用选项:
device:待分区的设备
number:分区编号
state:present表示创建,absent表示删除
part_start:分区的起始位置,不写表示从开头
part_end:表示分区的结束位置,不写表示到结尾
示例如下:
[root@pubserver ansible]# vim disk.yml
---
# 在web1主机上,对/dev/vdc分区,创建1个1GB的主分区
- name: disk manage
hosts: web1
tasks:
- name: create a partition
parted:
device: /dev/nvme0n3
number: 1
state: present
part_end: 1GiB
# 再次创建一个5G的主分区
- name: add a new partition
parted:
device: /dev/nvme0n3
number: 2
state: present
part_start: 1GiB
part_end: 6GiB
# 创建名为:my_vg 的卷组,由上面的 nvme0n3p1 与 nvme0n3p2 构成
- name: create my_vg
lvg:
vg: my_vg
pvs: /dev/nvme0n3p1,/dev/nvme0n3p2
# 在my_vg卷组上创建名为my_lv的逻辑卷
- name: create my_lv
lvol:
vg: my_vg
lv: my_lv
size: 1G
# 格式化my_lv为ext4
- name: mkfs my_lv
filesystem:
dev: /dev/my_vg/my_lv
fstype: ext4
# 挂载my_lv到/data
- name: mount my_lv
mount:
path: /data
src: /dev/my_vg/my_lv
fstype: ext4
state: mounted
[root@pubserver ansible]# ansible-playbook disk.yml