- 首页 >
- 问答 >
-
智能运维 >
- GitLab在Debian上的备份与恢复策略是什么
GitLab在Debian上的备份与恢复策略是什么
小樊
41
2025-12-09 07:26:13
Debian 上 GitLab 的备份与恢复策略
一 核心策略与范围
- 备份对象应覆盖:代码仓库、数据库、上传文件、CI 工件、LFS 对象、以及用于加解密与单点登录的敏感配置(如 /etc/gitlab/gitlab.rb、gitlab-secrets.json、SSL 证书目录)。GitLab 提供的备份工具会导出应用数据,但默认不包含上述配置文件与证书,需单独备份与恢复。备份文件默认位于 /var/opt/gitlab/backups,可通过配置自定义路径与保留时间。为降低风险,建议将备份文件同步到异地/离线存储,并定期做恢复演练验证可用性。
二 备份策略与实施步骤
- 标准流程(Omnibus 包)
- 配置备份路径与保留时间:编辑 /etc/gitlab/gitlab.rb
- gitlab_rails[‘backup_path’] = ‘/data/gitlab/backups’
- gitlab_rails[‘backup_keep_time’] = 604800 # 保留 7 天(单位:秒)
执行:sudo gitlab-ctl reconfigure
- 创建备份:sudo gitlab-rake gitlab:backup:create
- 定时备份(示例:每天 02:00):
- 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
- 远程/离线留存(示例:SCP 到备份服务器):
- scp /var/opt/gitlab/backups/*.tar user@remote:/path/to/backups
- 手动备份敏感配置与证书:
- sudo cp /etc/gitlab/gitlab.rb /backup/gitlab.rb.$(date +%F)
- sudo cp /etc/gitlab/gitlab-secrets.json /backup/gitlab-secrets.json.$(date +%F)
- sudo rsync -a /etc/ssl/certs/ /backup/ssl-certs.$(date +%F)/
- 容器化部署(Docker)
- 通过挂载卷持久化 /etc/gitlab、/var/opt/gitlab、/var/log/gitlab,对宿主机挂载目录执行备份(如 tar 打包或定时 rsync),恢复时保持卷与目录结构一致即可。
三 恢复策略与实施步骤
- 标准流程(Omnibus 包)
- 准备:在新/目标机器安装同版本 GitLab,先仅恢复数据,暂不覆盖配置。
- 停止服务:sudo gitlab-ctl stop unicorn && sudo gitlab-ctl stop sidekiq
- 拷贝备份:将备份 tar 放到目标机的备份目录(默认 /var/opt/gitlab/backups)。
- 执行恢复:sudo gitlab-rake gitlab:backup:restore BACKUP=<时间戳或编号>(示例:2025_12_09_00_00_00)
- 启动服务:sudo gitlab-ctl start(或 restart)
- 恢复配置与证书:将之前备份的 gitlab.rb、gitlab-secrets.json 与 SSL 证书复制回 /etc/gitlab/ 相应位置,再执行 sudo gitlab-ctl reconfigure
- 验证:登录 Web,检查项目、用户、Runner、LFS、CI 工件与 Pages 等是否完整一致
- 容器化部署(Docker)
- 停止并移除旧容器,确保挂载卷指向已恢复的数据目录后,使用相同运行命令启动新容器,完成数据就位与自动恢复。
四 关键注意事项与最佳实践
- 版本一致性:备份与恢复的 GitLab 版本应尽量完全一致,避免对象/结构不兼容。
- 配置与机密:备份工具不涵盖 gitlab.rb 与 gitlab-secrets.json,务必单独、加密、异地保存,并在恢复后第一时间校验权限与密钥是否正确。
- 保留与监控:通过 backup_keep_time 设置合理保留周期(如 7 天),并配合监控告警与定期恢复演练,确保备份可用。
- 一致性权衡:部分场景会建议备份前停止 unicorn/sidekiq 以提升一致性;在追求零停机时可采用不停止服务的在线备份,但需接受极小概率的数据不一致风险并做好校验。
- 安全与合规:备份文件含敏感信息,传输与存放需加密,访问最小化,定期清理过期副本,满足合规审计要求。