一、GitLab的数据从旧服务器迁移到新服务器

注释:旧服务器、新服务器GitLab版本保持一致,如果不一致得需要升级

1旧服务器上的安装版本

[root@iZbp1ac9uozodszcdkd98nZ ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.0.0

2.新服务器上的安装版本

参考我之前写的文档:https://blog.csdn.net/qq_38144121/article/details/121538314?spm=1001.2014.3001.5502

3.如果新旧服务器上安装的版本不一致

例如: 旧服务器上GitLab版本10.3.3,新服务器上GitLab版本12.0.1。

GitLab不能跨版本升级,需一个一个大版本升级。例如:10.8.7是10的最后一个版本,11.11.0是11的最后一个版本,则从 10.3.3 升级到 12.0.1,需要经过 10.3.3 -> 10.8.7 -> 11.11.0 -> 12.0.1三次版本升级。

所以,要先在旧服务器上执行以下版本升级命令:

[root@old-host ~]# yum install -y gitlab-ce-10.8.7-ce.0.el7
[root@old-host ~]# yum install -y gitlab-ce-11.11.0-ce.0.el7
[root@old-host ~]# yum install -y gitlab-ce-12.0.1-ce.0.el7#注:如果不指定版本号,则自动升级到最新版本。
[root@old-host ~]# yum install -y gitlab-ce

4.先在旧服务器做gitlab数据备份文件

[root@old-host ~]# gitlab-rake gitlab:backup:create
#默认将会在 /var/opt/gitlab/backups/ 目录下生成备份文件。[root@old-host ~]# cd /var/opt/gitlab/backups/
[root@old-host backups]# ll /var/opt/gitlab/backups/
[root@old-host backups]# ll -h
总用量 3.4G
-rw-------. 1 git git 3.4G 311 11:10 1615432132_2021_03_11_10.0.0_gitlab_backup.tar

5.上传备份文件到新服务器上

[root@iZbp1ac9uozodszcdkd98nZ ~]#  scp -r /var/opt/gitlab/backups/1653003207_2022_05_20_10.0.0_gitlab_backup.tar root@47.110.236.51:/var/opt/gitlab/backups/

6.新服务器备份文件权限修改为755,避免出现权限不够的问题

[root@iZbp13rb8m4bfaw9cek2kzZ ~]# cd /var/opt/gitlab/backups/
[root@iZbp13rb8m4bfaw9cek2kzZ backups]# ll
总用量 266676
-rwxr-xr-x 1 root root 273070080 520 07:39 1653003207_2022_05_20_10.0.0_gitlab_backup.tar
[root@iZbp13rb8m4bfaw9cek2kzZ backups]# chmod 755 1653003207_2022_05_20_10.0.0_gitlab_backup.tar
[root@iZbp13rb8m4bfaw9cek2kzZ backups]# ll
总用量 266676
-rwxr-xr-x 1 root root 273070080 520 07:39 1653003207_2022_05_20_10.0.0_gitlab_backup.tar

7.停止新服务器上gitlab数据连接服务

[root@iZbp13rb8m4bfaw9cek2kzZ backups]# gitlab-ctl stop unicorn
[root@iZbp13rb8m4bfaw9cek2kzZ backups]# gitlab-ctl stop sidekiq

8.恢复备份文件到GitLab

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

例如:备份文件名为 1653003207_2022_05_20_10.0.0_gitlab_backup.tar,则编号为:1653003207_2022_05_20_10.0.0。
在提示中敲入“yes”继续

[root@iZbp13rb8m4bfaw9cek2kzZ backups]# gitlab-rake gitlab:backup:restore BACKUP=1653003207_2022_05_20_10.0.0

9.重新启动GitLab

[root@iZbp13rb8m4bfaw9cek2kzZ backups]# gitlab-ctl restart

最后检查新旧服务器上GitLab的内容(包括账号密码等),完全一模一样,迁移成功!

10.修改idea远程ip地址即可推送和拉取代码


二、GitLab默认仓库存储目录更换及项目迁移

背景:

GitLab默认存储目录在系统盘中,由于系统盘空间已满,把默认仓库迁移至数据盘(数据盘: /shujupan)中

如果存在磁盘未挂在情况,可参考:https://blog.csdn.net/qq_38144121/article/details/124880030?spm=1001.2014.3001.5501

1.迁移 gitlab 仓库数据

修改配置文件之前,先迁移数据

# 为防止用户在迁移时写入数据,先停止服务
[root@iZbp13rb8m4bfaw9cek2kzZ ~]# gitlab-ctl stop
ok: down: alertmanager: 1s, normally up
ok: down: gitaly: 0s, normally up
ok: down: gitlab-exporter: 0s, normally up
ok: down: gitlab-workhorse: 1s, normally up
ok: down: grafana: 0s, normally up
ok: down: logrotate: 1s, normally up
ok: down: nginx: 0s, normally up
ok: down: node-exporter: 1s, normally up
ok: down: postgres-exporter: 0s, normally up
ok: down: postgresql: 0s, normally up
ok: down: prometheus: 1s, normally up
ok: down: puma: 0s, normally up
ok: down: redis: 1s, normally up
ok: down: redis-exporter: 0s, normally up
ok: down: sidekiq: 1s, normally up# 在 /shujupan 下新建目录
[root@iZbp13rb8m4bfaw9cek2kzZ shujupan]# mkdir -p gitlab/git-data# 迁移数据,直接将 repositories 整个目录迁过去
[root@iZbp13rb8m4bfaw9cek2kzZ shujupan]# rsync -av /var/opt/gitlab/git-data/repositories /shujupan/gitlab/git-data/
sending incremental file list
repositories/
repositories/.gitaly-metadata
repositories/+gitaly/
repositories/+gitaly/tmp/
repositories/@hashed/
...# 查看是否迁移成功
[root@iZbp13rb8m4bfaw9cek2kzZ ~]# ll
total 0
drwxrws---. 4 git root 57 Mar  7 19:06 repositories

2.修改配置文件

编辑 /etc/gitlab/gitlab.rb 修改git_data_dirs对应值

# 修改配置文件
[root@iZbp13rb8m4bfaw9cek2kzZ shujupan] vim /etc/gitlab/gitlab.rb
git_data_dirs({"default" => {"path" => "/home/gitlab/git-data/"}
})# 重新加载配置
[root@iZbp13rb8m4bfaw9cek2kzZ shujupan] gitlab-ctl reconfigure
Starting Chef Client, version 14.14.29
resolving cookbooks for run list: ["gitlab"]
Synchronizing Cookbooks:
...
Running handlers:
Running handlers complete
Chef Client finished, 14/746 resources updated in 34 seconds
gitlab Reconfigured!# 开启服务,验证一下是否能通过web访问
[root@localhost ~]# gitlab-ctl start
ok: run: alertmanager: (pid 126213) 1s
ok: run: gitaly: (pid 126223) 0s
ok: run: gitlab-exporter: (pid 126257) 1s
ok: run: gitlab-workhorse: (pid 126260) 0s
ok: run: grafana: (pid 126281) 0s
ok: run: logrotate: (pid 126293) 1s
ok: run: nginx: (pid 126302) 0s
ok: run: node-exporter: (pid 126308) 1s
ok: run: postgres-exporter: (pid 126314) 0s
ok: run: postgresql: (pid 125331) 172s
ok: run: prometheus: (pid 126398) 1s
ok: run: puma: (pid 126408) 0s
ok: run: redis: (pid 126414) 1s
ok: run: redis-exporter: (pid 126419) 0s
ok: run: sidekiq: (pid 126440) 0s

参考文章:https://blog.csdn.net/yuki5233/article/details/114662844

参考文章:https://blog.csdn.net/march0310/article/details/116748845

GitLab默认仓库存储目录更换及项目迁移 GitLab跨服务器数据迁移相关推荐

  1. 微信开发者工具更换默认用户存储目录(User Data)方法

    1.将User Data移至目标目录 将C:\Users****\AppData\Local\微信开发者工具\User Data,移动至目标目录,如:E:\AppData\微信开发者工具\User D ...

  2. 微信开发者工具更换默认用户存储目录方法

    1.将User Data移至目标目录 将C:\Users****\AppData\Local\微信开发者工具\User Data,移动至目标目录,如:E:\AppData\微信开发者工具\User D ...

  3. 微信开发者工具更换默认用户存储目录方法,将C盘数据User Data迁移到D盘

    标题:微信开发者工具更换默认用户存储目录方法,将C盘数据User Data迁移到D盘 1.首先将C:\Users\dell\AppData\Local\微信开发者工具目录下的User Data,移动到 ...

  4. 服务器迁移域名和证书要改什么用,服务器数据迁移方案介绍 怎样更换网站域名?...

    服务器数据迁移方案介绍 怎样更换网站域名? 分类:云服务资讯 编辑: 浏览量:100 2021-07-12 08:32:44 由于企业在不断发展,现有的网站可能无法满足企业的需求,此时就需要对网站的硬 ...

  5. 项目级服务器数据迁移流程

    项目级服务器数据迁移流程 创建时间: 2022/09/24 更新时间: 2022/09/24 编辑: 徐俊杰 项目级服务器数据迁移流程 以下操作针对最终迁移目标为移动机房托管的硬件服务器,其它服务器进 ...

  6. gitlab之 修改默认的仓库存储目录及数据迁移

    磁盘空间: [root@gitlab ~]# df -hT Filesystem     Type      Size  Used Avail Use% Mounted on /dev/vda1   ...

  7. 一个月黑风高的夜晚紧急完成gitlab服务器数据迁移

    文章目录 前言 修复过程 备份数据 修改存放目录 关闭服务 迁移数据 刷新配置 启动服务 总结 前言 真是无巧不成书,白天刚刚讨论了一天 SVN 服务器迁移事情,晚上突然被告知 gitlab 服务无法 ...

  8. 怎么修改Outlook2010 PST数据文件位置(默认邮件存储目录)

    Outlook2010是个很强大的软件.可是在配置IMAP邮箱账户的时候默认会将邮箱数据文件放到C盘的用户目录下.我们为了数据的安全,一般会将数据文件迁移到其他地方. 我在前几天转载过一篇博文使用剪切 ...

  9. 【开源项目】mysql大表数据迁移

    历史数据迁移 项目地址:https://gitee.com/xl-echo/dataMigration 历史迁移解决方案.微服务的架构为基础,使用多种设计模式,如:单利.桥接.工厂.模板.策略等.其中 ...

最新文章

  1. oracle sap 用友 保险财务系统比较,SAP和用友的财务管理系统比较详解
  2. plsql存储过程修改后怎么保存_证件照上传不成功,教你修改分辨率、调整照片大小...
  3. Ajax服务器响应简单实例
  4. 转.h和.cpp文件的区别
  5. VSCode同步设置
  6. 面试项目 java-服务端 18h58
  7. springmvc注解小示例(转)
  8. Java栈内存、堆内存、方法区对对象和引用的关系
  9. SparkStreaming优化
  10. C++ std::map 和 std::unordered_map 区别 时间复杂度 适用
  11. Seaborn绘制kdeplot和distplot
  12. 《信号检测与估值理论》Matlab仿真,包括: 高斯-牛顿迭代法对正弦信号参数进行估计
  13. java华氏摄氏转换练习
  14. 20种银河科幻风格ps字体样式
  15. 毕业旅行 | 伦敦5日游行程推荐
  16. error link1158 无法运行rc.exe
  17. Pytorch模型训练和模型验证
  18. python 朴素贝叶斯算法
  19. Day【10】相交链表
  20. Synaptics 蠕虫病毒解决方法

热门文章

  1. 武汉大学数字化设计与仿真考研成功上岸经验分享
  2. Linux设置服务自启动
  3. 计算机网址页面怎么找,电脑上的网页历史记录在哪里找???
  4. TCP通讯程序的编写
  5. 建立屡获殊荣的单页网站的5个核心要素
  6. RFID固定资产管理解决方案,RFID资产管理,RFID手持终端-新导智能
  7. Web前端理论知识记录
  8. docker 打包python 应用
  9. 计算机图形学 学习笔记 OpenGL图形用户界面和交互输入
  10. Stream操作时Collectors工具类中常用方法