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

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

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

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

图 1-1

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

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

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

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

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

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

方法 二

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

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

  

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

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

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

03-16 11:10