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這些。
