热扩容LVM形式的/(根)分区(无损增大、缩小LVM分区)

 警告!

本文为虚拟机环境,生产环境请务必在操作前优先备份重要数据

再有,请确保所需扩充的分区为非进程占用分区

实验背景:当时规划系统分区时/(根)目录分配过小

实验目的 : 无损增大/(根)分区容量

方案:

一、所在卷组(vg)有空闲,直接将空闲空间分配给/(根)挂载的逻辑卷(LV);

二、所在卷组(vg)已全部分配,无空闲空间,可系统增加一块盘,做物理卷(pv)加入到卷组(vg),达到扩充卷组空间,再将空闲的卷组空间划分给/(根)挂载的逻辑卷(LV);

三、所在卷组(VG)已全部分配,无空闲空间,VG下有其他LV有多余空间可分配出来。将这部分空间转移到/(根)下。

下面实验就是用方案三做演示:

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-可爱的分隔符=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

可以看到/已经达到了75%,我们要将test下的空间转移一部分到/下,下面详细介绍从lv_test分区下取出10G的空间添加到lv_root分区上去。

查看卷组和逻辑卷

[root@swnode1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_swnode1 -wi-ao---- 21.89g          #/分区所在lv的空间
lv_test vg_swnode1 -wi-ao---- 19.99g          #/test所在lv的空间

1、缩减lv_test空间(缩减文件系统→缩减lv)
  首先得umount 卸载test分区
[root@swnode1 ~]# umount /test/

  重新设定lv_test的大小(先调整文件系统大小)

[root@swnode1 ~]# resize2fs -p /dev/mapper/vg_swnode1-lv_test 10G                //-p查看进度

  提示先进行此命令检查

[root@swnode1 ~]# e2fsck -f /dev/mapper/vg_swnode1-lv_test

重新执行下文件系统缩容

mount下查看缩减后

  将逻辑卷lv_test也减少到文件系统大小

[root@swnode1 ~]# lvreduce -L 9.8G /dev/mapper/vg_swnode1-lv_test

2、增加VG下可用空间到根目录(注:扩容时顺序和缩容相反,先扩lv再文件系统)

  查看vg的空闲空间

[root@swnode1 ~]# vgdisplay 

  将空闲空间划分到/

[root@swnode1 ~]# lvextend -L +10.19G /dev/vg_swnode1/lv_root

 

  现在设定分区文件系统大小

[root@swnode1 ~]# resize2fs -p /dev/vg_swnode1/lv_root

 

再次查看扩容结果

可能遇到的问题

1、在卸载/test目录的时候失败

可先执行如下fuser命令解除磁盘占用,然后再umount即可:

2、在设定lv_root的大小时,不要把Free PE / Size的空间全部都用上,这很可能会出现Free PE空间不足的现象,建议保留一点Free PE的空间。

3、重启后进入不到系统,提示文件损坏

https://www.cnblogs.com/-abm/p/9221378.html

原文地址:https://www.cnblogs.com/-abm/p/9211040.html