部门顺应时代潮流,从svn终于迁移到了git,之前同事搭了一套gitlab环境,因业务加大,防止因gitlab挂掉而影响工作,所以要求我在搭一套gitlab环境,并做伪高可用,也就是在一个gitlab宕机之后,30分钟之内恢复正常,于是我做了这套主备数据同步的尝试,来,看正文:
机器准备:
172.16.44.44 master
172.16.12.1 backup
配置免密登录:
#cd ~
#ssh-keygen
#ssh-copy-id -i .ssh/id_rsa.pub 172.16.12.1
项目同步
#*/5 * * * * rsync -av /var/opt/gitlab/git-data/repositories root@172.16.12.1:/data1/git-data #你的backup的repo目录
数据库同步
master机器生成sql:
#su - gitlab-psql
#pg_dump -cf gitlabhq_production.sql gitlabhq_production
在执行这一步的时候可能会报以下错误,执行下面两条命令即可:

cd /tmp
ln -s /var/opt/gitlab/postgresql/.s.PGSQL.5432 .
#scp gitlabhq_production.sql 172.16.12.1:/data1/git-data
backup机器执行sql:
#su - gitlab-psql
#psql -h /var/opt/gitlab/postgresql -d gitlabhq_production -f gitlabhq_production.sql

同步完成!

本文介绍了如何搭建GitLab的主备环境,确保在主GitLab宕机后能在30分钟内通过数据同步恢复正常。主要内容包括配置两台服务器的免密登录,使用rsync定期同步项目数据,以及通过pg_dump和psql命令进行数据库的备份和恢复,从而实现GitLab的数据高可用。
最低0.47元/天 解锁文章

1260

被折叠的 条评论
为什么被折叠?



