一、parted模块 可以管理磁盘
device 指定硬盘设备路径 比如 / dev/ vdb
label 指定分区表类型 gpt mbr
number 指定分区序号
part_start 分区起始位置
part_end 分区结束位置
state 指定操作方式 present创建 absent删除 info查信息( 默认)
ansible node2 -m parted -a 'device=/dev/vdb number=1 state=absent' //删除vdb硬盘的现有1号分区
ansible node2 -m parted -a 'device=/dev/vdb label=gpt number=1 part_end=200MB state=present' //在vdb创建1号新分区,分区表是gpt类型,大小是从头~200M
ansible node2 -m parted -a 'device=/dev/vdb label=gpt number=2 part_start=200MB part_end=600MB state=present' //在vdb硬盘创建第2个分区,大小是从200M的位置到600M,相当于400M的大小
ansible node2 -m shell -a 'lsblk | grep vdb2' 远程查看结果
二 、vg模块,可以创建卷组
vg 卷组名称
state present创建( 默认) 或者 absent删除
force 可以在删除时使用
pvs 指定物理卷
pesize 设定pe大小
ansible node2 -m lvg -a 'vg=myvg state=present pvs=/dev/vdb1,/dev/vdb2' 创建卷组名字叫myvg,使用的物理卷是vdb1与vdb2
ansible node2 -m lvg -a 'vg=myvg state=absent' 删除名为myvg的卷组
ansible node2 -m lvg -a 'vg=vgtest pvs=/dev/vdb pesize=16' 创建名为vgtest的卷组,使用vdb磁盘所有空间,pe大小是16M
三、lvol模块 ,创建删除逻辑卷
lv 定义逻辑卷名称
size 定义逻辑卷大小
vg 逻辑卷的空间来自哪个vg
state present创建( 默认) 或者 absent删除
force 强制删除或者调整逻辑卷大小
ansible node2 -m lvol -a 'lv=mylv vg=/dev/myvg size=100M state=present' 利用myvg卷组创建逻辑卷 大小是100m,名字叫mylv
ansible node2 -m lvol -a 'lv=mylv vg=/dev/myvg size=100M state=absent force=yes' 删除mylv逻辑卷
四、filesystem模块 可以为硬盘格式化
dev 要格式化的分区
fstype 文件系统类型 比如 ext4 xfs
force 强制格式化, 如果以前分区中有数据
ansible node2 -m filesystem -a 'dev=/dev/vdb1 fstype=xfs force=yes' 给vdb1格式化,类型是xfs
ansible node2 -m filesystem -a 'dev=/dev/vdb2 fstype=ext4 force=yes' 给vdb2格式化,类型是ext4
ansible node2 -m shell -a 'mount /dev/vdb1 /mnt' 传递挂载命令测试效果
[ root@node2 ~]
五、mount模块
path: 挂载点
src: 挂载的文件
fstype: 挂载的硬盘类型 比如iso9660、ext4、xfs、nfs、cifs samba的共享文件系统ntfs windows磁盘文件系统
opts: 传递给mount命令的参数
state: present 开机挂载,仅将挂载配置写入/ etc/ fstab并不会真的挂载mounted 挂载设备,并将配置写入/ etc/ fstabunmounted 卸载设备,不会清除/ etc/ fstab写入的配置absent 卸载设备,并清理/ etc/ fstab写入的配置
ansible all -m mount -a 'path=/tmp/app src=/dev/sdb fstype=ext4 state=mounted opts=rw'
ansible all -m mount -a 'path=/mnt/dvd src=/dev/sr0 fstype=iso9660 opts=ro state=present'
ansible all -m mount -a 'path=/srv/disk src=' LABEL= SOME_LABEL' state=present'
ansible all -m mount -a 'path=/home src=' UUID= b3e48f45-f933-4c8e-a700-22a159ec9077' opts=noatime state=present'