问题记录:
在开发时,磁盘分区爆满,导致服务不可用。
排查思路:内存、磁盘检查
解决步骤:
1、检查磁盘占用率
df -h
可以看到根分区下,磁盘已经高达95%了,必须得清理。接下来可以通过命令 du -h --max-depth=1 查看是哪个文件占用过高。
可见 ./var 和 ./usr 占用都挺大,需要进行清理不必要的文件(日志之类的),针对自身需求删除即可。但是因为我的项目是用 docker部署的,且检查发现 docker当初安装时,并没有修改存储路径,就导致var下的文件占用特别大,导致根分区满了。
2、修改docker存储路径
2.1首先找到合适的文件进行存放,我这里是存放在 /home/mydocker/lib/下,具体步骤如下:
2.2
systemctl stop docker #停止docker服务
rsync -avz /var/lib/docker /home/mydocker/lib/ #将原本的docker镜像、容器迁移至新文件夹
vim /etc/docker/daemon.json #编写docker配置文件
配置文件如下:
{
“data-root”:“/home/mydocker/lib/docker”
}
systemctl daemon-reload #重新加载配置文件
systemctl restart docker #重启服务
问题复现:
千错万错,都是无脑无脑地错!按照百度上的步骤,这里很多都是 graph 但是!你会发现压根儿启动不了!
{
"graph":"/home/mydocker/lib/docker"
}
报错信息大概长这样,意思就是 配置文件和命令行冲突了。
接着,就去查docker的日志发现:
满屏地提示 graph已经禁用了,现在改用 data-root了…,所以需要把配置文件的graph替换为 data-root。