记一次CentOS根目录空间占满的解决方案

问题背景是这样的,根目录初始大小是50G,我把mysql和docker都装在根目录底下了。

 

随着时间推移,mysql大小达到了27个G,docker则是22个G

 

根目录空间不够用了,上图:

记一次CentOS根目录空间占满的解决方案_第1张图片

 

图 1-1

 

想过的方案有数据库迁移,根目录扩容,和软连接,最后选择的是软连接,没别的意思,就是解决问题快,开搞:

 

如图1-1所示,home目录下空间有1.8T容量,我们把数据迁移到home下就达成目的了。

 

通过查询,mysql占用容量最大的是data目录。查询命令是:  du -h --max-depth=1

 

记一次CentOS根目录空间占满的解决方案_第2张图片

 

图:1-2

 

先把data迁移到home目录底下

在home目录下新建文件夹

mkdir   /home/mysql

关闭mysql

service mysqld stop

转移数据

mv /usr/mysql/data /home/mysql

制作软链接

ln -s /home/mysql/data /usr/mysql/data

开启mysql

service mysqld start

 

这样,mysql 数据就迁移到home下了

记一次CentOS根目录空间占满的解决方案_第3张图片

 

 

 

接下来做docker的迁移

cd /home
mkdir docker

方法 一

修改docker的systemd的 docker.service的配置文件

不知道 配置文件在哪里可以使用systemd 命令显示一下

systemctl disable docker
systemctl enable docker
#显示结果
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

修改docker.service文件
vim /usr/lib/systemd/system/docker.service

在里面的EXECStart的后面增加后如下:
ExecStart=/usr/bin/dockerd --graph /home/docker

重新enable 一下docker 服务 重新进行软连接 以及进行一次 daemon-reload
systemctl disable docker
systemctl enable docker
systecmtl daemon-reload
systemctl start docker

可以看到:

记一次CentOS根目录空间占满的解决方案_第4张图片

 

 

 

 

方法 二

 不修改 docker.service的配置文件的默认路径,直接制作软连接

 

 

到此,根目录空间也就降下来了。 

记一次CentOS根目录空间占满的解决方案_第5张图片

 

 

以后真正的数据是保存的home文件夹下的。

 

你可能感兴趣的:(记一次CentOS根目录空间占满的解决方案)