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

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

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

根目录空间不够用了,上图:
记一次CentOS根目录空间占满的解决方案
文章图片


图 1-1

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

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

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

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


图: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根目录空间占满的解决方案
文章图片




接下来做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根目录空间占满的解决方案
文章图片





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


到此,根目录空间也就降下来了。
记一次CentOS根目录空间占满的解决方案
文章图片


【记一次CentOS根目录空间占满的解决方案】
以后真正的数据是保存的home文件夹下的。

    推荐阅读