gitlab迁移(服务器迁移)

   日期:2024-12-26    作者:n43hd 移动:http://oml01z.riyuangf.com/mobile/quote/50769.html

gitlab迁移(服务器迁移)

先记录迁移中的问题,后续补充具体迁移步骤。
迁移内容包括,对象存储数据迁移,所有节点(gitlab-rails,gitaly,praefect,pg,pgb,redis所有节点迁移

1、gitlab页面查询分支404

清理redis缓存

到redis节点上执行flushdb(/opt/gitlab/bin/gitlab-redis-cli -h redisip
或者rails执行

gitlab-rake cache:clear

原因是中途存在切回原redis节点,导致原redis出现数据延迟

2、Gitlab rails节点启动报错
 

Gitlab_rails[‘auto_migrate’]=false解决

3、gitlab连不上redis,页面显示500

日志只提示无法连接redis无特殊日志

增加redis相关配置

Redis[‘host’]

4、 gitlab 代码库迁移遇到的问题

前提

迁移api

 

可从gitlabhq_production数据库project_repositories表通过id查询仓库disk_path

​ 可从praefect_production数据库repo表中通过仓库sha256sum查询存储所在

​ 可从praefect_production数据库storage_repo表查询gitaly机器存储仓库情况

​ 可从gitlabhq_production数据库中project_repository_storage_moves查看迁移任务状态

​ 可从gitlabhq_production数据库中projects查看仓库状态 read_only

1、praefect 数据库中repo和storage_repo中仓库存放数据不一致,导致页面显示仓库数据问题

临时方法:修改stroage_repo中仓库的generation和repo一致,增加stroage_repo中所有节点的数据。可能存在只有gitaly-1或者只有gitaly-2的情况

原因:新praefect启动后,虽然未连接rails,但是会自动同步数据库,新praefect中default的节点和原praefct中default的节点冲突导致

迁移状态state :2 schedule 、3 started、4 finished、5 failed。2和3状态i会将仓库设置成readyonly

2、批量执行迁移,队列中代码仓库迁移状态为2和3导致仓库只读

先将gitlabhq_production数据库中project_repository_storage_moves该迁移id下state改为5,然后修改projects表该项目read_only修改为false

可批量执行修改状态

3、repo中原virtual_storage和新virtual_storage都存在,导致再次迁移还是失败

删除praefect_production数据库中repo表中新virtual_storage记录,后执行迁移api

相同仓库的sha256,需同步将wiki.git的记录删除后迁移

另需保证repo和storage_repo的generation保持一致后迁移

5 ssh拉取问题

需开通elb到机器22端口 ,需将之前的/var/opt/gitlab/.ssh/authorized_keys复制到新节点,不然需重新生成key

6 页面修改登录登出跳转链接url

修改失败,提示存储没有default

因为仓库节点存储是从default到kylin,后面rails节点配置将data_dir中default注释掉了,需保证有default存储后可修改

且只需修改一个节点,这个配置是存数据库的

7 迁移praefet过程中注意事项

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号