现象是gitlab经常会挂掉,linux会显示磁盘空间不足,实际上,我们linux某个目录的空间是4T。这个空间应该是足够的。猜测是gitlab的安装目录不对导致的空间不足。
1、查找原因
用rpm 安装gitlab会有自己的目录,很多安装文件会在opt 下面。首先先找到gitlab的安装目录并查看空间大小
1.1、查找文件
需要先看下 git-data的 位置,默认位置 在 /opt/gitlab/git-data ,但是我的却不在这个目录下面。用这个命令查找,列表中会显示 git-data的地址。发现我的目录实在 /var/opt/gitlab/git-data/下面
find . -type f -name 戴f 的查找文件,带d 的是查找文件夹
find . -type d -name git-data
1.2、查看磁盘空间
df -h
除了列出的特殊目录外,磁盘其余文件夹的总大小也就50G。而且已经用了74%。git 所使用的目录是var,opt ,再加上其他的文件,全部加起来也就剩下14G的空间了,显然是不够的。
再看下opt 和var 文件夹占用了多大空间
du -sh /opt
37G 空间 var 占了29G,为什么会占用这么大,因为/opt/gitlab/git-data 的仓库在这里,验证下是不是gitlab 占用的
du -sh /var/opt/gitlab/git-data
果然是gitlab仓库占用了大部分空间。
2、解决方法
第一反应肯定是修改仓库位置到 /home 目录下面,我们大部分磁盘空间都挂在在这个目录下面。
2.1、修改配置文件
关掉gitlab 服务
gitlab-ctl stop
修改文件
配置文件的默认位置在 /etc/gitlab/gitlab.rb。如果不在可以用 fing 命令查找 gitlab.rb。打开文件,全局搜索git_data_dirs。如图。修改 path的路径到/home/centos/workspace/gitlab/git-data
加载配置
gitlab-ctl reconfigure
加载配置如果报错,可能是权限问题,执行如下代码
chmod -R 777 /home/centos/workspace/gitlab/git-data/
chown -R git:git /home/centos/workspace/gitlab/git-data/
复制现有仓库数据到新的位置
rsync -av /var/opt/gitlab/git-data/ /home/centos/workspace/gitlab/git-data/
重启服务
gitlab-ctl start
把原来的仓库删掉腾出空间,访问gitlab就可以了。再看下磁盘空间
已有34G的空间可用,基本可以满足要求了