CentOS系统中动态调整LVM分区大小 - 图1
    接上一篇文档,介绍了非LVM情况下压缩/根分区磁盘容量的操作

    CentOS6下压缩/根分区磁盘容量的操作说明

    那如何在LVM分区下实现动态调整分区大小呢,如下图所示
    CentOS系统中动态调整LVM分区大小 - 图2
    LVM分了三个区分别为/bak,/storage,/log,由于/bak分区空间只有9.8GB,由于不够用,目前想从/storage分区划分一部分空间给/bak分区,具体操作如下
    1、先取消挂载/storage目录 umount /storage
    如果提示设备忙,用lsof /storage查看 /storage目录被哪些进程使用,然后kill-9 杀掉这些进程,再重新卸载
    CentOS系统中动态调整LVM分区大小 - 图3
    2、这时可以看到df -Th查看确认/storage是否卸载成功
    image.png
    3、执行resize2fs -p /dev/mapper/vg_linuxserver-lv_storage 20G //将/storage分区缩小至20GB大小
    这时会提示先运行e2fsck -f /dev/mapper/vg_linuxserver-lv_storage
    输入e2fsck -f /dev/mapper/vg_linuxserver-lv_storage //进行分区检测
    4、再执行这条命令resize2fs -p /dev/mapper/vg_linuxserver-lv_storage 20G
    image.png
    5、接下来执行lvreduce -L 20G /dev/mapper/vg_linuxserver-lv_storage //释放空间
    image.png
    6、释放空间之后记得重新挂载/storage目录,若有程序在分区上运行记得还原

    CentOS系统中动态调整LVM分区大小 - 图7
    7、接下来vgdisplay查看可用空间大小
    CentOS系统中动态调整LVM分区大小 - 图8
    8、将上面的Free PE/Size 的空间全部用于扩展lv_bak虚拟分区
    lvextend -l 4880 /dev/mapper/vg_linuxserver-lv_bak
    CentOS系统中动态调整LVM分区大小 - 图9
    9、重设lv_bak分区大小
    resize2fs -p /dev/mapper/vg_linuxserver-lv_bak
    CentOS系统中动态调整LVM分区大小 - 图10
    10、接下来df –Th查看调整后分区大小情况

    CentOS系统中动态调整LVM分区大小 - 图11
    可以看到/bak分区已经变为19.1G大小了
    以上就是动态调整LVM分区大小的基本操作