gitlab有一天500了,用df -h
检查了下发现是磁盘99%了。
开始从/ 开始,逐级用du -lh --max-depth=1
检查哪里占用的多,为啥占用的多。
结果发现有3个地方:
-
/var/opt/gitlab/git-data/repositories
这个地方是真正gitlab的文件,这里再大也不能删。 -
/var/opt/gitlab/backups/repositories
我设置了gitlab的备份,因此这个地方是每次备份后的文件内容,这个repositories大小和目录跟真正的数据文件一样大小。- 我临时应急,就在这里删了几个大文件的。不过我是一个月一次的自动备份,到了月末这些空间还是会被占掉,而且我备份后,还设了scp自动传到另一台服务器做异地备份。所以理论上我是可以再设个定时,来删这个备份完成后的目录的。
-
/home/gitlab-runner/builds/*******/
这里是runner运行后的builds下的内容,这里每次也很大,而且只要项目build了,就会占上。- 有尝试过把这下面的删除,但每次build,会把这个目录和git-data那个目录做对比,即使删了,也会重新init下,复制成跟git-data一样的内容再build,因此这里删了也很快会占上。
-
最后的办法,还好这一水全是虚拟机,所以可以加磁盘。这个解决一劳永逸。
-
另外,我发现,大量占磁盘的还是图片,模型,音视频,这种非代码的东东。即使一个文件不大,但是像上面这种机制,一次有3份,空间也很快就用完了。这些还是考虑放到gitlab以外比较合适,虽然很舍不得CI/CD这些。