centos7默认会给centos-home
分区分配比较大的空间,刚开始给服务器安装系统时,打算以图形化的方式用于开发,就没有将该分区的空间调小。现在服务器的根分区空间已经接近80%
的使用率。
看上图的情况,我们需要释放centos-swap
和centos-home
这两个分区。
由于服务器内存够用,所以swap
可以关闭掉,查看文章关闭centos swap
执行下面的命令:
swapoff -a
可以看到centos-swap
分区已经没有挂载为swap
了
别忘了将/etc/fstab
文件当中挂载到swap
的命令注释掉,防止开机挂载磁盘出错
#/dev/mapper/centos-swap swap swap defaults 0 0
使用删除命令删除这个lvm分区
lvremove /dev/centos/swap
使用lvextend
命令扩容,+100%FREE
表示把所有空闲空间添加进来,下面两条选一条来执行,推荐第一条。
lvextend -l +100%FREE /dev/centos/root
lvextend -L +7.75G /dev/centos/root
接下来要使用xfs_growfs
或者resize2fs
命令进行分区调整,否则df -h
命令出来的分区大小还是扩容前的,要查看分区文件系统格式,可以用命令df -hT
resize2fs命令 针对的是ext2、ext3、ext4文件系统
xfs_growfs命令 针对的是xfs文件系统
由于centos-root
分区是xfs
文件系统,这里我们使用xfs_growfs
命令
看到data blocks changed from 13107200 to 15139840
这样的一句,就是调整成功了。
现在看到/dev/mapper/centos-root
的分区空间已经增加了8G。
接下来使用同样的方式把/dev/mapper/centos-home
分区的空间也分配给/dev/mapper/centos-root
,不过要记得先备份/home
目录下的文件再umount /home
哦,也别忘了修改/etc/fstab
文件。
卸载/home
的挂载时,可能会出现由于占用导致的无法卸载的错误
可以使用fuser -m /home
命令查看是哪个进程占用着/home
文件夹
[root@itmx /]# fuser -m /home
/home: 5103c
再使用ps -ef | grep 5103
查看进程情况
[root@itmx /]# ps -ef | grep 5103
itmx 5103 5102 0 20:47 pts/0 00:00:00 -bash
root 5155 5103 0 20:48 pts/0 00:00:00 su
root 5487 5158 0 21:05 pts/0 00:00:00 grep --color=auto 5103
这样一下子就看出来,原来我在登录的时候以普通用户itmx
登录,默认在/home/itmx
目录上进行了提权,所以才发生了占用。
解决方案,退出root用户,然后cd到根目录再登录root用户。
最后上一张调整完成的图