zoukankan      html  css  js  c++  java
  • gitlab服务器迁移

     

    1.高版本的Gitlab无法恢复低版本备份的数据,,,需要注意在b服务器部署和a服务器一样版本的gitlab,部署好环境后开始备份和数据迁移.

    查看gitlab版本的命令:

    gitlab-rake gitlab:env:info

    2. 备份原a服务器上的的数据

    gitlab-rake gitlab:backup:create RAILS_ENV=production

    PS: 备份后的文件一般是位于/var/opt/gitlab/backups下, 自动生成文件名文件名如1481529483_gitlab_backup.tar

    3. 将步骤2生成的tar文件拷贝到b服务器上相应的backups目录下

    可以利用scp进行直接拷贝.

    scp username@src_ip:/var/opt/gitlab/backups/1481529483_gitlab_backup.tar /var/opt/gitlab/backups

    PS: username为原服务器的用户名,src_ip原服务器IP地址

    4. 在b服务器恢复数据

    chown –R git.root  /var/opt/gitlab/backups/1481529483_gitlab_backup.tar  //很重要

    gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=1481529483

    PS:BACKUP的时间点必须与原服务器备份后的文件名一致

    5.出错解决:

    数据迁移到后检查登录gialab有时候会跳出500报错(Something went wrong on our end.)以及无法正常新建用户

    查看日志:tail -f /var/log/gitlab/redis/current

    Can't save in background: fork: Cannot allocate memory

    解决方案

    修改/etc/sysctl.conf

    加上vm.overcommit_memory = 1, Linux内核会根据参数vm.overcommit_memory参数的设置决定是否放行。

    修改完执行sysctl -p

    vm.overcommit_memory = 1 #直接放行

    vm.overcommit_memory = 0 #则比较 此次请求分配的虚拟内存大小和系统当前空闲的物理内存加上swap,决定是否放行。

    vm.overcommit_memory = 2 #则会比较进程所有已分配的虚拟内存加上此次请求分配的虚拟内

    参考网址:http://wenva.github.io/git/2016/04/22/Gitlab%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB.html

  • 相关阅读:
    南阳oj 82 迷宫寻宝(一)
    杭电 oj 1016 Prime Ring Problem
    杭电 oj 3350 #define is unsafe
    南阳oj 366 全排列 D的小L
    南阳oj 32 组合数
    部分和问题 南阳oj 1058
    HNUSTOJ 1516:Loky的烦恼
    HDU-1874 畅通工程续
    T-聊天止于呵呵
    P-残缺的棋盘
  • 原文地址:https://www.cnblogs.com/walkersss/p/15474777.html
Copyright © 2011-2022 走看看