Ubuntu 上 GitLab 存储空间优化实操指南
一 定位大目录与常见膨胀源
sudo du -xh /var/opt/gitlab | sort -rh | head -20,优先关注以下路径:
二 仓库与对象存储优化
sudo gitlab-ctl reconfigure 生效。对象存储能显著降低本地盘占用并便于横向扩容。git_data_dirs({ "default" => { "path" => "/home/gitlab-data" } })git_data_dirs({ "default" => { "path" => "/var/opt/gitlab/git-data" }, "alt" => { "path" => "/home/gitlab-data" } })sudo gitlab-ctl stopsudo rsync -av /var/opt/gitlab/git-data/repositories /home/gitlab-data/sudo gitlab-ctl reconfiguresudo gitlab-ctl startgit gc --prune=now(Omnibus 可结合 gitlab-rake git:gc),并删除已合并且不再需要的分支,减少对象冗余。三 监控、日志与备份的存储治理
prometheus['enable'] = trueprometheus['flags'] = { 'storage.tsdb.path' => "/var/opt/gitlab/prometheus/data", 'storage.tsdb.retention.time' => "15d", 'config.file' => "/var/opt/gitlab/prometheus/prometheus.yml" }prometheus['enable'] = falsesudo gitlab-ctl reconfigure 生效。gitlab_rails['backup_path'] = '/var/opt/gitlab/backups',执行 sudo gitlab-ctl reconfigure。/opt/gitlab/bin/gitlab-rake gitlab:backup:createfind "/var/opt/gitlab/backups/" -name "*.tar" -mtime +7 -delete0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create;30 2 * * * find /var/opt/gitlab/backups/ -name "*.tar" -mtime +7 -delete四 数据库与缓存侧优化
VACUUM/ANALYZE,清理无效/陈旧数据,降低表膨胀对磁盘的压力。五 快速处置命令清单
sudo du -xh /var/opt/gitlab | sort -rh | head -20sudo gitlab-ctl stop / sudo gitlab-ctl startsudo gitlab-ctl reconfiguresudo rsync -av /var/opt/gitlab/git-data/repositories /new/path//opt/gitlab/bin/gitlab-rake gitlab:backup:createfind /var/opt/gitlab/backups/ -name "*.tar" -mtime +7 -deletereconfigure):
prometheus['flags'] = { 'storage.tsdb.retention.time' => "15d", ... }prometheus['enable'] = false[4,5,6,7]