GitLab 备份与恢复
单节点
1 备份
1.1 备份前 gitlab 的项目如图所示
1.2 检查后台迁移任务
在升级到新的主要版本之前,请确保所有后台迁移已完全完成
这一点很重要。在后台迁移完成之前进行升级可能会导致数据损坏。
可在 http://{gitlaburl}/admin/background_jobs 中查看
1.3 停掉服务
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
1.4 进行备份
1.4.1 全量备份
如果加 STRATEGY=copy 参数可以不需要停止服务,但是添加这个参数是增加一倍存储空间
gitlab-backup create
1.4.2 只备份数据库
gitlab data 要通过IaaS平台备份磁盘
gitlab-backup create SKIP=uploads,builds,artifacts,lfs,registry,pages,repositories
1.5 查看
1 | # pwd |
1.6 增量备份
gitlab-backup create INCREMENTAL=yes STRATEGY=copy
1 | # ll -h |
2 单节点还原
2.1 停掉服务
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
2.2 还原数据
上面查到的文件名只保留版本前面的信息
按照提示输入两次 yes 并回车
gitlab-rake gitlab:backup:restore BACKUP=1655091528_2022_06_13_14.8.5
2.3 启动服务
1 | sudo gitlab-ctl reconfigure |
2.4 检测完整性
1 | sudo gitlab-rake gitlab:artifacts:check |
集群模式
1 进行备份
1.1 全量备份
如果加 STRATEGY=copy 参数可以不需要停止服务,但是添加这个参数是增加一倍存储空间
gitlab-backup create GITLAB_BACKUP_MAX_CONCURRENCY=3 GITLAB_BACKUP_MAX_STORAGE_CONCURRENCY=1 STRATEGY=copy
1.2 查看
1 | # pwd |
1.3 增量备份
gitlab-backup create INCREMENTAL=yes STRATEGY=copy
1 | # ll -h |
2 集群还原
2.1 集群停掉服务
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
sudo gitlab-ctl status
2.2 集群还原数据
上面查到的文件名只保留版本前面的信息
按照提示输入两次 yes 并回车
gitlab-rake gitlab:backup:restore BACKUP=1655091528_2022_06_13_14.8.5
2.3 集群启动服务
1 | sudo gitlab-ctl reconfigure |
2.4 集群检测完整性
1 | sudo gitlab-rake gitlab:artifacts:check |