gitlab-ce-omnibus社区版的备份和还原,可以使用gitlab自带工具,gitlab-rake来完成,详见下面例子

将旧gitlab服务器备份,并还原至新gitlab服务器 ,这两台gitlab服务器必须要同版本,才能还原成功

旧gitlab服务器

  • 更改gitlab备份文件存放位置

vim /etc/gitlab/gitlab.rb

gitlab_rails['backup_path'] = "/mnt"
#该地址是配置存放备份的地方,根据实际情况配置,可以指定为已经挂载好的nfs目录,便于边备份边传输至新gitlab服务器。 gitlab-ctl reconfigure
  • 备份旧gitlab服务器的数据,密钥文件及ssh文件,停止旧gitlab服务

gitlab-rake gitlab:backup:create
#在备份数据巨大,备份路径是网络路径情况下,比较耗时。 cp /etc/gitlab/gitlab-secrets.json /mnt/
cp /etc/ssh/*key* /mnt/ #gitlab密钥及服务器密钥,在进行gitlab完整迁移和完整还原,是必须要备份的。 gitlab-ctl stop

新gitlab服务器

  • 停止与数据库的连接

gitlab-ctl reconfigure
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# Verify
gitlab-ctl status
  • 恢复数据及配置至新gitlab主服务器

chown git:git 1564156142_2019_07_26_10.4.3_gitlab_backup.tar
gitlab-rake gitlab:backup:restore backup=timestamp
#timesstamp是指gitlab备份包的文件名前面的一串数字,如1564156142
# 如报下面的错误就是文件权限问题导致的

Unpacking backup ... tar: 1564156142_2019_07_26_10.4.3_gitlab_backup.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now



cp -f  /mnt/gitlab-secrets.json  /etc/gitlab/
cp -f /mnt/*key* /etc/ssh/

# key认证问题

可能报错:

报错情况1:(key没有从master复制过来)

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:9DdK4jo9LPLg7snd/vueT3wI2dy0hb7CVYRRGOTU8TY.
Please contact your system administrator.
Add correct host key in /c/Users/cd/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /c/Users/cd/.ssh/known_hosts:4
ECDSA host key for git.tuandai888.com has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

报错情况2:(从master复制过来的key权限没设置好)

ssh_exchange_identification: Connection closed by remote host
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

解决方法:

把master的 /etc/ssh/*key* 文件全部复制到从节点来,并注意权限与master的设置一样,

scp root@[master_IP]:/etc/ssh/*key* /etc/ssh

chown root:ssh_keys ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key

  • 重启gitlab服务,并验证

gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true
#检查新gitlab服务器刚刚导入的数据 gitlab-ctl reconfigure
  • 验证新gitlab主服务器的用户,代码库,提交记录等等是否完整,测试各项操作

  • 递进升级到目前最新的稳定版本

列出当前gitlab所有版本

 yum list gitlab-ce.x86_64  --showduplicates | sort -r 

#先升级到当前安装主版本的最后一个子版本,再升级到下一个主版本的合适的子版本。
#升级完一个版本后,确认无报错,数据正常,再升级到下一个版本。 #下面就是从7.x.x升级到10.x.x的升级方法
yum install -y gitlab-ce-7.14.3-ce.1.el7 yum install -y gitlab-ce-8.17.8-ce.0.el7 yum install -y gitlab-ce-9.5.9-ce.0.el7 yum install -y gitlab-ce-10.3.5-ce.0.el7 gitlab-ctl restart

gitlab-ce-omnibus社区版的备份、还原及升级的更多相关文章

  1. Gitlab - 安装的社区版 Gitlab-ce,解决访问网页报502-Whoops, GitLab is taking too much time to respond的问题

    问题背景 在自己虚拟机(centos7)上装了 Gitlab-ce,就是社区版的 Gitlab,版本是 13.0+ 问题描述 浏览器访问 Gitlab 网站,报 502 问题翻译 502-Whoops ...

  2. centos 6.5 6.6 6.7安装gitlab教程(社区版)

    简单的说安装gitlab就两种办法主要介绍第一种:官网推荐的方法: 1.新建yum源 新建 /etc/yum.repos.d/gitlab-ce.repo,内容为 [gitlab-ce] name=g ...

  3. 【Git】 GitLab服务器社区版安装与配置

    GitLab简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务 GitLab系统架构 当~git在图片中引用时,它表示git用户的主目录 ...

  4. Gitlab(2)- centos7.x 下安装社区版 Gitlab 以及它的配置管理

    前置准备:虚拟机安装以及配置相关 包含安装 centos7.8 虚拟机.设置静态 ip 等 https://www.cnblogs.com/poloyy/category/1703784.html 注 ...

  5. Ubuntu 安装 Docker CE(社区版)

    参考自 https://yeasy.gitbooks.io/docker_practice/install/ubuntu.html#ubuntu-1604- docker-io 是以前早期的版本,版本 ...

  6. 在自己的服务器上部署 GitLab 社区版

    GitLab 简介 因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.这篇文章是在 Gitlab 7.4 的环境下配置的,相关内容可能已经过时. 后续做了一次迁移,将 Gi ...

  7. Gitlab 社区版安装部署和维护指南

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.这篇文章是在 Gitlab 7.4 的环境下配置的,相关内容可能已经过时. 后续做了一次迁移,将 Gitlab 升级到了 ...

  8. Gitlab 备份还原/迁移

    Gitlab 备份还原 备份数据:通过命令进行备份操作 gitlab-rake gitlab:backup:create ... [DISABLED] Creating backup archive: ...

  9. 【实用Windows双系统一键备份还原工具】Winclone Pro for Mac

    [简介] 今天和大家分享最新的 Winclone Pro 7.3.3 Mac 版本,这是一款Mac上强大易用的Windows分区备份还原工具,类似于Windows上的一键Ghost,能够将 PC 上的 ...

随机推荐

  1. Oracle11g温习-第七章:redo日志

      2013年4月27日 星期六 10:33 1.redo (重做) log 的功能:        用于数据恢复   2.redo log 特征: [特征]: 1)   记录数据块的变化(DML.D ...

  2. spring-mvc----数据库数据到页面错误--tomcat启动不了

    spring-mvc----数据库数据到页面错误 错误为: 解决: 开启管理员cmd.到tomcat的目录下,-->shutdown.bat 不用重启,不用关机.

  3. 简话Angular 06 Angular自定义指令

    一句话: 直接return link函数可以解决大多数问题,无须死扣用法 1. 上源码 (dom操作,事件,css,mode操作全包括了) <h3>Custom directive, wi ...

  4. QRCodeHelper 二维码生成

    QRCodeHelper 二维码生成 using System; using System.Drawing; using ThoughtWorks.QRCode.Codec; using System ...

  5. L1-025 正整数A+B

    题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式: 输入在一行给出A和B,其间以空格分开.问题是A和B不一定是满足 ...

  6. 使用Socket的简单Web服务器

    Socket类在System.Net.Sockets命名空间 常用的操作 Bind:绑定一个本地的终结点 Listen:进入监听状态,并设置等待队列 Accept:等待一个新连接,当连接到达时,返回一 ...

  7. L211

    Violin prodigies (神童), I learned , have come in distinct waves from distinct regions . Most of the g ...

  8. 攻防:文件上传漏洞的攻击与防御,转自H3C

    WebShell就是以asp.php.jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门.黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目 ...

  9. UNIX设备文件

    UNIX和Linux中比较重要的三个设备文件是:/dev/console,/dev/tty和/dev/null. 0 /dev/console 这个设备代表的是系统控制台,错误信息和诊断信息通常会被发 ...

  10. [HTML]去除li前面的小黑点,和ul、LI部分属性

    [转] 对于很多人用div来做网站时,总会用到,但在显示效果时前面总是会有一个小黑点,这个令很多人头痛,但又找不到要源,其它我们可以用以下方法来清除.[HTML]去除li前面的小黑点,和ul.LI部分 ...