gitlab备份与恢复

一、内核优化

root@test:~# cat >/etc/sysctl.conf<<-"EOF" 
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
kernel.shmall = 18446744073692774399 
kernel.shmmax = 18446744073692774399 
kernel.shmmni = 819200 
kernel.sem = 50100 64128000 50100 1280
net.core.rmem_default = 262144 
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 4194304 
fs.aio-max-nr = 1048576
fs.nr_open=20480000
fs.file-max = 7672460
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv4.ip_local_port_range = 9000 65000
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl =60
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_mem = 8388608 12582912 16777216
net.ipv4.tcp_rmem = 8192 87380 16777216 
net.ipv4.tcp_wmem = 8192 65536 16777216 
#操作系统脏页刷新
vm.dirty_background_ratio=1
vm.dirty_ratio = 5 
vm.dirty_expire_centisecs = 3000 
vm.dirty_writeback_centisecs = 100
#内存分配方式,不允许超分配
vm.overcommit_memory = 2
vm.overcommit_ratio = 90
vm.swappiness = 1
EOF

备份主库的/etc/gitlab

一、Gitlab 修改备份文件默认目录与备份时间

你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:

gitlab_rails['backup_path'] = '/data/gitlab-backup'
gitlab_rails['backup_keep_time'] = 604800
这里是设置备份保留7天(7*3600*24=604800),秒为单位,如果想增大或减小,可以直接在该处配置
然后重新加载配置
gitlab-ctl reconfigure

二、增加定时任务备份gitlab数据

0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create

root@gitlab:gitlab-backup# ls
1583745912_gitlab_backup.tar 1583780452_gitlab_backup.tar backup.log

三、数据的恢复

官网地址:http://www.shcsinfo.com/china/gitlabeedownload.html
(1)其他机器上安装相同版本的gitlab
yum -y localinstall gitlab-ce-8.15.4-ce.0.el7.x86_64.rpm
把主gitlab备份的/etc/gitlab恢复到/etc/gitlab
(2)加载配置文件,就执行一次
gitlab-ctl reconfigure
(3)启动
systemctl start gitlab-runsvdir
gitlab-ctl status/stop/start
(4)恢复gitlab
恢复前需要先停掉数据连接服务:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
如果是台空主机,没有任何操作,理论上不停这两个服务也可以。停这两个服务是为了保证数据一致性。如果你没修改过默认备份目录的话,
将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups
[root@localhost gitlab]# rsync -avz 1583780452_gitlab_backup.tar 172.18.1.11:/var/opt/gitlab/backups/
赋权777
执行下面的命令进行恢复:后面再输入两次yes就完成恢复了。
gitlab-rake gitlab:backup:restore BACKUP=1583780452
(5)恢复完成后,启动刚刚的两个服务,或者重启所有服务,再打开浏览器进行访问!
gitlab-ctl start unicorn
gitlab-ctl start sidekiq
posted @ 2020-04-10 14:53  dbstack  阅读(238)  评论(0编辑  收藏  举报