centos7 卸载home 扩大root空间
===============================================
2019/4/2_第2次修改 ccb_warlock
更新说明:
2019/4/2:移除了不必要的vim安装
===============================================
背景:检查gitlab备份服务器时,发现最近几天的备份文件没有根据设置上传到这台服务器。
由于这台服务器较新,除了接收的备份文件外并没有部署其他文件,所以最先可以排除inode不够的可能,但是备份文件大概也就40G+,这个服务器明明分配了100G的空间。
于是我在gitlab所在的服务器上,手动运行一次备份文件命令后,出现了“No space left on device”。

空间不足?于是我在备份服务器上查看空间占用。
df -h

发现虽然给了这个centos100G的磁盘空间,但root只有50G的可用空间,剩下的空间大都分配给了/home。
查找资料后了解到,centos7默认的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。
# 编辑fstab
vi /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。
PS:不去精确设置可用空间的原因是:我自己对如何获取可用空间的方法并不了解,与其花时间去了解这一块,我宁可浪费一点空间(毕竟几十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。
参考资料
1.http://blog.csdn.net/henulwj/article/details/48140673
2.http://blog.csdn.net/qq_38046109/article/details/71125081
centos7 卸载home 扩大root空间的更多相关文章
- CentOS7使用LVM缩减/home空间,扩大/空间
CentOS7使用LVM缩减/home空间,扩大/空间方法:把/home里的内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/文件系统.新建/home,恢复/home的原内容1.查看默认分区[ ...
- Centos7卸载nginx及php、php-fpm方法
Centos7卸载nginx及php.php-fpm方法 2016年12月01日 18:17:22 阅读数:20824 本文环境:Centos7.yum方式安装的nginx和php.php-fpm 之 ...
- CentOS7卸载KDE桌面(转)
最初安装centos时选择了安装KDE桌面,打开很卡,没有用到,想卸载,可是试了网上的方法什么yum groupremove kde-desktop 都不奏效,于是只能自己找出KDE的包,然后yum卸 ...
- centos7 卸载rpm安装的包
1.查看已装包 rpm -qa | grep pgpool 2.卸载包 rpm -e 包名 3.示例(卸载pgpool) [root@VM_145_153_centos etc]# rpm -qa | ...
- CentOS7卸载OpenJDK,并安装Oracle官方JDK
一.准备工具 yum源挂载已就绪:CentOS7本地yum源挂载. jdk-8u201-linux-x64.tar.gz,JDK安装包: 注意:在Linux配置JDK版本要求_jdk1.8+; 二.卸 ...
- CentOS7卸载 OpenJDK 安装Sun的JDK8
Linux上一般会安装Open JDK,关于OpenJDK和JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369.html 下面开始安装步骤: --- ...
- 调整/home和/root空间容量
转载请注明出处:http://www.cnblogs.com/gaojiang/p/6767043.html 1.查看磁盘情况:df -h 2.卸载/homeumount /home umount / ...
- CentOS 7 Vmware虚拟机 /root空间不足解决方法(使用gparted live)
1,关闭虚拟机,编辑虚拟机设置,增加虚拟磁盘的大小,我这里增加10GB 2,连接CDrom到ISO文件(gparted-live-0.19.0-1-i486.iso),使用gparted live启动 ...
- centos7卸载旧jdk安装新jdk1.8
卸载旧JDK版本 需卸载centos7自带的JDK1.7 rpm -qa|grep jdk 列出已安装jdk版本 rpm -e --nodeps java-1.7.0-openjdk-1.7. ...
随机推荐
- 16. 使用Exhibitor管理ZooKeeper
Exhibitor是管理ZooKeeper服务实例的主管服务.由Netflix开发和开放源码,对于ZooKeeper的实例监控.备份/恢复.清理和可视化非常有用. Note Netflix Exhib ...
- iOS生成Bundle包及使用
什么是Bundle文件? 简单理解,就是资源文件包.我们将许多图片.XIB.文本文件组织在一起,打包成一个Bundle文件.方便在其他项目中引用包内的资源. Bundle文件的特点? Bundle是静 ...
- Asp.net导出Excel/Csv文本格式数据
刚刚开始做Excel相关的项目,所以遇到的问题不管大小都给记录一下 偶然的机会在添加数据的时候全改成了数字,结果输出的时候全自动变成了科学计数法,这是excel的强大功能,能自动识别数字和字符串,太聪 ...
- vue页面切换效果(slide效果切换)
最近碰到一个需求,单页应用里面页面切换的效果需要做成跟轮播图滑动slide一样,让这个页面在切换时感觉是一个页面.反复琢磨的vue里面的transition,最终将实现的核心代码贴出来.这里实现的是上 ...
- 卡尔曼滤波(Kalman Filter)
一.引言 以下我们引用文献[1]中的一段话作为本文的開始: 想象你在黄昏时分看着一仅仅小鸟飞行穿过浓密的丛林.你仅仅能隐隐约约.断断续续地瞥见小鸟运动的闪现.你试图努力地猜測小鸟在哪里以及下一时刻它会 ...
- 迪杰斯特拉/dijkstra 算法模板(具体凝视)
#include <iostream> #include <malloc.h> #include <cstring> #include <stack> ...
- 【SqlServer系列】AS的用法
1 概述 本篇文章简要分析,在SQL SERVER中,AS的基本用法. 2 具体分析 2.1 定义变量类型 )='Alan_beijing' 2.2 取别名 2.2.1 为结果集列取别名 c ...
- CI环境配置
CI:php的MVC框架M(模型model):与数据库打交道的,一般情况下数据库里面的一张表对应一个Model,在里面对应该表的增删改查的操作V(视图view):用户看到的界面,其中很多数据是从数据库 ...
- 使用Mkdocs构建你的项目文档
使用Mkdocs构建你的项目文档 环境搭建 安装必需软件 作者是在windows下安装的,如果是linux或mac用户,官网有更详细的安装说明. windows 10 x64 当然还有广大的windo ...
- JavaScript获取浏览器版本等信息
** 不同浏览器版本可能存在差异,使用时请测试自己的环境 ** 测试时各个浏览器版本 IE: 11.953.14393.0 Edge: Microsoft Edge 38.14393.0.0;Micr ...