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. ...
随机推荐
- .bash_profile 加载
1.Debian默认的shell是Bash, 1.1 命令行 和 ssh 登录 ,首先读入 /etc/profile,这是对所有用户都有效的配置:然后依次寻找下面三个文件,这是针对当前用户的配置. ~ ...
- 模块化编程node
众所周知,Node.js 的出现造就了全栈工程师,因为它让 JavaScript 的舞台从浏览器扩大到了服务端 而 Node.js 的强大也得益于它庞大的模块库,所以学习 Node.js 第一步还得从 ...
- struct 类型指针技巧
此类型对于两种结构的查找和删除都十分方便,实际项目中也常常用到.
- createElement的应用
原生js表单生成列表实现原理 这里用到的一些方法有 insertBefore() createElement() appendChild() removeChild() and so on~~ < ...
- Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进
一.简单回顾ConcurrentHashMap在jdk1.7中的设计 先简单看下ConcurrentHashMap类在jdk1.7中的设计,其基本结构如图所示: 每一个segment都是一个HashE ...
- Mysql 表分区和性能
以下内容节选自<Mysql技术内幕InnoDB存储引擎> mysql表分区: 分区功能并不是所有存储引擎都支持的,如CSV.MERGE等就不支持.mysql数据库支持的分区类型为水平分区( ...
- wkhtmltopdf
最近要做一个html转pdf的功能,在网上找了很多内容,itext什么的,都不太满意,最后找到一个wkhtmltopdf,用起来真的很不错,还找到了一篇好文章,我就直接抄过来了,等有时间我再自己理一遍 ...
- List<Object>中,以Object的某一属性值为参照进行排序,选取最大记录的解决办法
一.场景:java web, 在一列表中选取一条记录,该记录的某一个属性值在此List中为最大值: List的格式为List<Object>,其中Object为定义的Vo或者Po类,其中包 ...
- DXGI快速截屏录屏技术
DXGI快速截屏录屏技术 概述 很多地方都需要用到截屏/录屏技术,比如桌面直播,桌面录制等等.在微软Windows平台,有很多截屏的接口,不过大多数性能并不理想,Windows8以后微软引入了一套 ...
- JAVA基础-----Maven项目的搭建
Maven项目的搭建 一.前言 maven官网:http://maven.apache.org/, 文章简介:本文章从三个模块来了解Maven,分别是 Maven的基本概念~, Maven项目的安装和 ...