centos默认的root大小为50G,也就是说如果硬件分配时超过50G,大部分剩余空间都会分配给home。

软件如果装在/usr/local目录下,并且data等数据文件也配置在root下,则必须在装机后调整root的大小,否则运行一段时间后很容易导致磁盘空间不足。本方案直接去掉home,所有空间分给root

一、卸载home

1.1 备份home分区文件

tar cvf /tmp/home.tar /home

1.2 修改fstab(这一步非常重要,千万不要漏了)

准备卸载/home文件系统,centos启动时会对/etc/fstab的内容逐一检测,由于fstab默认有/home,如果不修改fstab,重启之后会发现centos跪了。

所以卸载之前,要先注释掉/home,不让系统开机检测/home。

yum install -y vim
vim /etc/fstab

对于/home的内容增加注释符,wq保存。

#/dev/mapper/centos-home /home                   xfs     defaults        0 0

1.3 安装psmisc

yum install -y psmisc

//Psmisc软件包包含三个帮助管理/proc目录的程序,安装下列程序: fuser、 killall、pstree和pstree.x11(到pstree的链接)

//fuser 显示使用指定文件或者文件系统的进程的PID。

//killall 杀死某个名字的进程,它向运行指定命令的所有进程发出信号。

//pstree 树型显示当前运行的进程。

//pstree.x11 与pstree功能相同,只是在退出前需要确认。

1.4 卸载/home文件系统

umount /home

如果提示无法卸载,是因为有进程占用/home,可以用下面的命令来停止占用的进程。

fuser -km /home/

1.5 删除/home所在的lv

lvremove /dev/mapper/centos-home

接着会出现确认的内容,输入“y”,回车。

二、扩大root

2.1 扩展/root所在的lv

由于之前/home占用了47G的空间,故我考虑将这些空间都加到/root里。

lvextend -L +47G /dev/mapper/centos-root

可是发现可用的空间并不是47G,应该是系统四舍五入了,减小一点换成48100MB。

这里说明,不去精确设置可用空间的原因是:我自己对如何获取可用空间的方法并不了解,与其花时间去了解这一块,我宁可浪费一点空间(毕竟几十MB的机械硬盘不值多少钱,即使是企业级硬盘)。

lvextend -L +48100M /dev/mapper/centos-root

出现下面的内容,说明/root所在的lv已经成功拓展成了96.97GB。

2.2 扩展/root文件系统

xfs_growfs /dev/mapper/centos-root

图中的13107200、25420800根据文件大小换算了下,和50G、97G都不符合,这个问题先搁置下,以后查资料看看。

2.3 检查/root文件系统的空间

df -h

可以发现/root从原来的50G提升到了97G。

 

 

原文出处:linuxidc -> http://www.linuxidc.com/Linux/2018-01/150515.htm

参考:https://juejin.im/post/6844904004099506184

参与评论