gitlab磁盘扩充
1.准备迁移之前要停止GitLab服务,防止用户写入数据。
[root@gitlab ~]# gitlab-ctl stop
2.数据迁移
注意 'repositories'后面不带斜杠,而
'/home/gitlab-data'后面是有斜杠的。
[root@gitlab ~]# rsync -av /var/opt/gitlab/git-data/repositories /mnt/data2/gitlab/git-data/
rsync -av /var/opt/gitlab/prometheus /mnt/data2/gitlab/prometheus
3.如果有需要重置配置
如果需要修复权限设置,
可运行下面的命令进行修复。
这里要谨慎,这个命令可能会导致之前的数据不能在使用(导致之前的配置被覆盖,仓库中的数据不会丢失),读取现有配置文件,进行重新配置
[root@gitlab ~]# gitlab-ctl reconfigure
4.再次检查下 /home/gitlab-data 的目录. 正常情况应该有下面这个子目录: repositories
[root@gitlab git-data]# ls /home/data/gitlab/git-data
repositories
5.将 刚刚迁移的包 @hashed 放入到repositories 下
[root@gitlab git-data]#mv @hashed repositories
vim /etc/gitlab/gitlab.rb
git_data_dirs({
"default" => { "path" => "/var/opt/gitlab/git-data" }, //默认存储目录
"alternative" => { "path" => "/home/gitlab-data" } //备用存储目录
})
# prometheus['flags'] = {
# 'storage.tsdb.path' => "/var/opt/gitlab/prometheus/data",
# 'storage.tsdb.retention.time' => "15d",
# 'config.file' => "/var/opt/gitlab/prometheus/prometheus.yml"
# }
6.完工! 启动GitLab,验证下是否能
通过web访问Git仓库。
[root@gitlab ~]# gitlab-ctl start
gitlab守护进程:runsv
ps -ef|grep runsv
gitlab-ctl stop nginx