Gitlab 11.0.3 迁移简明笔记
背景
总部 GitLab 要迁移
注意事项
总的来说没啥技术含量,就两点
- 版本必须一致
[root@idc-0001 ~]# rpm -qa|grep gitlab
gitlab-ce-11.0.3-ce.0.el7.x86_64
- 磁盘容量要大
GItlab 自身数据已经挺大了,然后备份出来的数据也不小,所以要注意磁盘的容量。需要修改的话,如下:
Gitlab 自身数据存储位置在 /etc/gitlab/gitlab.rb
的 git_data_dirs
设置,大约在 328 行
git_data_dirs({
"default" => {
"path" => "/data/git-data"
}
})
而备份时的默认路径在 /etc/gitlab/gitlab.rb
的 gitlab_rails['backup_path']
,大概在 296 行
gitlab_rails['backup_path'] = "/data/backups"
修改以后需要这样才能生效:
gitlab-ctl reconfigure
迁移步骤
创建备份
数据量大的时候,碰上网络中断什么的,就白白浪费时间了,所以把它挂在后台执行。推荐 screen 或 tmux。这里以 tmux 为例:
yum install tmux -y
tmux new -s bak
gitlab-rake gitlab:backup:create
然后按ctrl+b
,然后再按d
退出。如果再想进去,可以执行:
tmux a -t bak
默认输出目录为 /var/opt/gitlab/backups
,当然这个目录通常不够大,可以参考上面的 gitlab_rails['backup_path']
进行修改。
新服务器安装 Gitlab
前面已经看到了是 gitlab-ce-11.0.3
,到国内镜像站去下载
wget https://mirrors.cloud.tencent.com/gitlab-ce/yum/el7/gitlab-ce-11.0.3-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-11.0.3-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure
备份数据传输到新服务器
scp 就不说了。。
数据恢复
这里要注意了,备份数据传输到新服务器,也要放在 /var/opt/gitlab/backups
下或你修改过的 gitlab_rails['backup_path']
目录,不然会提示找不着。
第一步
gitlab-rake gitlab:backup:restore BACKUP=1599652198_2020_09_09_11.0.3
第二步,把旧机器上的 /etc/gitlab
目录拷贝过来覆盖新机器的,然后重启
gitlab-ctl reconfigure
完成