问题提出:服务器硬盘做成了lvm,但是/home目录空间较大,于是想缩减一下,分配给其他目录。

实验环境

操作系统:redhat企业版,硬盘已经做成了lvm。

问题解决

操作前的注意事项:

  • 首先必须确保缩减后的空间大小能放得下现在目录中的所有文件,缩减后的空间大小不能小于当前目录文件的总大小,否则会丢失数据

  • 缩减时,必须首先缩减逻辑边界,再缩减物理边界,否则缩减不成功,会有数据溢出。

1、查看挂载点

df -h

wKioL1VtfLaQakm9AAEbCX0FVKU746.jpg

可以看到我的系统是/dev/mapper/VolGroup-lv-home挂载在/home下,而且空间是296个G,大事使用是有63M,明显太大,

2、卸载文件系统

umount /dev/mapper/VolGroup-lv-home

wKioL1Vtfaqwlj7lAABMe-igNAQ186.jpg

3、强制检测文件系统(这一步必须有,否则下一步不进行,还会提示进行这一步)

e2fsck -f /dev/mapper/VolGroup-lv_home

结果如下

wKioL1VtfhvAEr3YAAHAP4iwtI0779.jpg

4、缩减逻辑边界

这里我把逻辑卷直接缩减为250G,注意,必须首先缩减逻辑边界

wKiom1VtfmuRErxZAAEeJPPla_s535.jpg

5、缩减物理边界

lvreduce -L 250G /dev/mapper/VolGroup-lv_home

输入这一条命令回车后,会提示是否确定缩减逻辑卷,输入y,表示确定,回车

wKiom1Vtf0SSy9JLAAF-Og01-JY256.jpg

6、重新挂载文件系统

mount /dev/mapper/VolGroup-lv_home /home

wKioL1VtgLij5rmVAABqLAVS5X8538.jpg

挂载完成后,进入/home目录下,查看原有的文件,发现还在,表示缩减成功,也可以使用df -h命令查看是否所见成功。

缩减后有可能跟你制定的大小有小出入,这是因为,默认的最小单位是4M,所以硬盘大小永远都是4M的整数倍。

wKioL1VtgdWy_yQDAABzWDwyJrc297.jpg