在 Linux 中,GitLab 扩容通常指以下几类场景之一,你可以根据实际需求对应操作:
GitLab 默认数据目录:
/var/opt/gitlab(数据)/etc/gitlab(配置)/var/log/gitlab(日志)查看占用:
df -h
du -sh /var/opt/gitlab/*
# 假设新磁盘为 /dev/sdb
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
mkdir /gitlab-data
mount /dev/sdb1 /gitlab-data
编辑:
vim /etc/gitlab/gitlab.rb
修改数据目录:
gitlab_rails['git_data_dirs'] = {
"default" => {
"path" => "/gitlab-data/git-data"
}
}
gitlab-ctl stop
rsync -av /var/opt/gitlab/git-data/ /gitlab-data/git-data/
gitlab-ctl reconfigure
gitlab-ctl start
适用于仓库数量很多的情况:
gitlab_rails['git_data_dirs'] = {
"default" => { "path" => "/var/opt/gitlab/git-data" },
"storage2" => { "path" => "/data/gitlab/git-data" }
}
重启:
gitlab-ctl reconfigure
如果 /var/opt/gitlab 在 LVM 上:
pvcreate /dev/sdb
vgextend vg_gitlab /dev/sdb
lvextend -l +100%FREE /dev/vg_gitlab/lv_gitlab
resize2fs /dev/vg_gitlab/lv_gitlab
puma['worker_processes'] = 4
sidekiq['concurrency'] = 20
gitlab-ctl reconfigure
使用 MinIO / S3:
gitlab_rails['object_store']['enabled'] = true
gitlab_rails['object_store']['bucket'] = "gitlab"
修改 docker-compose.yml:
volumes:
- /new-disk/gitlab/data:/var/opt/gitlab
gitlab-ctl status
gitlab-rake gitlab:check
我可以给你精确扩容方案。