码迷,mamicode.com
首页 > 其他好文 > 详细

gitlab服务器迁移

时间:2017-02-03 16:56:41      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:user   lin   pre   兼容性   服务   var   color   github   lan   

公司更换了新的服务器,需要把原先的gitlab迁移到新的服务器上.

1.迁移准备工作和思路:从a服务器迁移到b服务器,由于Gitlab自身的兼容性问题,高版本的Gitlab无法恢复低版本备份的数据,需要注意在b服务器部署和a服务器一样版本的gitlab,部署好环境后开始备份和数据迁移.关于gitlab服务器部署请参考我的  另  一  遍文章:http://www.cnblogs.com/wenwei-blog/p/5861450.html

 查看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服务器恢复数据

 

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

 

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

 

 

出错解决:

 

数据迁移到后检查登录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:则会比较进程所有已分配的虚拟内存加上此次请求分配的虚拟内
 
gitlab迁移参考网址:

 

gitlab服务器迁移

标签:user   lin   pre   兼容性   服务   var   color   github   lan   

原文地址:http://www.cnblogs.com/wenwei-blog/p/6362829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!