GitLab 备份与恢复

465 字
2 分钟
GitLab 备份与恢复

单节点#

1 备份#

1.1 备份前 gitlab 的项目如图所示#

image-20220613140835665
image-20220613140835665

1.2 检查后台迁移任务#

在升级到新的主要版本之前,请确保所有后台迁移已完全完成

这一点很重要。在后台迁移完成之前进行升级可能会导致数据损坏。

可在 http://{gitlaburl}/admin/background_jobs 中查看

image-20220613141122340
image-20220613141122340

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 查看#

Terminal window
# pwd
/data/gitlab-data/data/backups
# ll -h
total 3.4G
-rwxr-xr-x 1 chrony polkitd 2.5G Jun 13 11:47 1655023648_2022_06_13_14.8.5_gitlab_backup.tar

1.6 增量备份#

gitlab-backup create INCREMENTAL=yes STRATEGY=copy

Terminal window
# ll -h
total 3.4G
-rwxr-xr-x 1 chrony polkitd 2.5G Jun 13 11:47 1655052648_2022_06_13_14.8.5_gitlab_backup.tar

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 启动服务#

Terminal window
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true
sudo gitlab-rake gitlab:doctor:secrets

2.4 检测完整性#

Terminal window
sudo gitlab-rake gitlab:artifacts:check
sudo gitlab-rake gitlab:lfs:check
sudo gitlab-rake gitlab:uploads:check

集群模式#

1 进行备份#

1.1 全量备份#

如果加 STRATEGY=copy 参数可以不需要停止服务,但是添加这个参数是增加一倍存储空间

gitlab-backup create GITLAB_BACKUP_MAX_CONCURRENCY=3 GITLAB_BACKUP_MAX_STORAGE_CONCURRENCY=1 STRATEGY=copy

1.2 查看#

Terminal window
# pwd
/data/gitlab-data/data/backups
# ll -h
total 3.4G
-rwxr-xr-x 1 chrony polkitd 2.5G Jun 13 11:47 1655023648_2022_06_13_14.8.5_gitlab_backup.tar

1.3 增量备份#

gitlab-backup create INCREMENTAL=yes STRATEGY=copy

Terminal window
# ll -h
total 3.4G
-rwxr-xr-x 1 chrony polkitd 2.5G Jun 13 11:47 1655052648_2022_06_13_14.8.5_gitlab_backup.tar

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 集群启动服务#

Terminal window
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true
sudo gitlab-rake gitlab:doctor:secrets

2.4 集群检测完整性#

Terminal window
sudo gitlab-rake gitlab:artifacts:check
sudo gitlab-rake gitlab:lfs:check
sudo gitlab-rake gitlab:uploads:check

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

GitLab 备份与恢复
https://ccops.cc/posts/54d199bb/
作者
蹦蹦站长
发布于
2022-06-19
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
蹦蹦站长
一个养兔子的运维
公告
感谢你的来访!希望在这里能找到对你有用的内容!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
81
分类
6
标签
45
总字数
88,456
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.12.1
文章许可
CC BY-NC-SA 4.0

文章目录