LVM逻辑卷管理分区以及Ansible自动化批量格式化数据盘

   在生产环境,服务器的数据盘/分区经常需要扩容,以应对生产业务数据的高速增长,通常我们的生产环境的服务器,如数据库服务器的数据盘都是通过LVM逻辑卷来管理扩容操作。

1. 新建lvm

# 新建xfs文件系统格式的LVM分区
# 安装lvm2
yum install  -y lvm2

# 新建pv 
pvcreate  /dev/nvme0n1  /dev/nvme1n1  /dev/nvme2n1 
pvcreate  /dev/nvme[0-2]n1

# 新建vg
vgcreate  data_vg /dev/nvme0n1  /dev/nvme1n1  /dev/nvme2n1 
vgcreate  data_vg  /dev/nvme[0-2]n1

# 新建lv
lvcreate  -l 100%FREE -n data_lv data_vg

#格式化磁盘文件系统格式xfs
mkfs.xfs  /dev/data_vg/data_lv 

#挂载,写入/etc/fstab
echo "/dev/data_vg/data_lv /data xfs defaults 0 0" >>/etc/fstab
mount -a 

2.扩容lvm

# 扩容xfs格式LVM
# 新增磁盘如/dev/vdd,想要加入并扩容/data分区
# 首先创建pv
1. pvcreate   /dev/vdd 

# 扩容vg
2. vgextend   data_vg    /dev/vdd 

# 扩容lv,通过参数 -r(resizefs)-l (extents +100%FREE)
3.1 lvextend  -r -l +100%FREE  /dev/mapper/data_vg-data_lv 

# 扩容lv,但是一分为二,通过xfs_growfs达到扩容分区大小目的
3.2 lvextend  /dev/data_vg/data_lv  /dev/vdd
3.2 xfs_growfs  /dev/data_vg/data_lv 

# 验证结果
df -hT 

3. ansible批量格式化数据盘

- name: 格式化数据盘 
  remote_user: root
  hosts: all
  gather_facts: false
  tasks:
  - name: mkfs.xfs data
    filesystem:
        fstype : xfs
        dev : "{{ item }}"
    with_items:
        - "/dev/vdb"
        - "/dev/vdc"
        - "/dev/vdd"
        - "/dev/vde"
        - "/dev/vdf"
        - "/dev/vdg"
        - "/dev/vdh"
        - "/dev/vdi"
        - "/dev/vdj"
        - "/dev/vdk"
        - "/dev/vdl"
        - "/dev/vdm"
        - "/dev/vdn"
        - "/dev/vdo"
        - "/dev/vdp"
  - name:  appendonly mount to /etc/fstab
    shell: /bin/echo "{{ item }}" >>/etc/fstab
    with_items:
        - "/dev/vdb      /data1       xfs   defaults  0 0"
        - "/dev/vdc      /data2       xfs   defaults  0 0"
        - "/dev/vdd      /data3       xfs   defaults  0 0"
        - "/dev/vde      /data4       xfs   defaults  0 0"
        - "/dev/vdf      /data5       xfs   defaults  0 0"
        - "/dev/vdg      /data6       xfs   defaults  0 0"
        - "/dev/vdh      /data7       xfs   defaults  0 0"
        - "/dev/vdi      /data8       xfs   defaults  0 0"
        - "/dev/vdj      /data9       xfs   defaults  0 0"
        - "/dev/vdk      /data10      xfs   defaults  0 0"
        - "/dev/vdl      /data11      xfs   defaults  0 0"
        - "/dev/vdm      /data12      xfs   defaults  0 0"
        - "/dev/vdn      /data13      xfs   defaults  0 0"
        - "/dev/vdo      /data14      xfs   defaults  0 0"
        - "/dev/vdp      /data15      xfs   defaults  0 0"
  - name: mount data
    shell: mount -a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值