GitLab存储空间满了

1. 背景

前两天同事反馈,代码推送不到服务器了,GitLab报500错误,我等了一天都变好。登录服务器查看GitLab虚拟机,发现磁盘满了。于是用如下命令释放出了一部分空间:

bash 复制代码
journalctl --vacuum-time=1s

释放了1秒前的日志,誊出几百兆空间,GitLab果然能用了。

只誊出了几百兆的空间,用不了几天又会满的,怎么也得留出五六个G的空间才行。

2. 找空间

当初创建虚拟机时,分配了40G空间,可是GitLab提示"/dev/sda"只有20G,于是用命令行查看:

bash 复制代码
sudo fdisk -l

"/dev/sda1"几百兆的样子,"/dev/sda2"有20G。意思只有俩分区,一个sda1,有几百兆;另一个分区sda2,有20G。然后再也没有了,貌似可以添加分区。

用如下命令打开分区工具:

bash 复制代码
sudo fdisk /dev/sda

然后就进入磁盘工具了。

输入"n"回车新增分区,再根据提示输入"3",再根据提示操作(直接回车即可),就创建了分区"sda3",空间大小刚好20G。然后似乎有个格式化分区的操作,一边查资料一边操作,我也弄不清楚需要不需要这个操作了。

3. 挂载分区

用"sudo fdisk -l"查看,依然看不到sda3的新分区,是因为没挂载。

命令行创建挂载点:

bash 复制代码
sudo mkdir -p /mnt/gitlab

挂载分区:

bash 复制代码
sudo mount /dev/sda3 /mnt/gitlab

再用"sudo fdisk -l"查看,果然多出来一个分区"/dev/sda3",大小是20G。这就把丢失的20G空间找回来了。

4. 给GitLab分配新空间

停止GitLab服务:

bash 复制代码
sudo gitlab-ctl stop

用vi工具打开"/etc/gitlab/gitlab.rb",找到我设置的数据目录和备份目录,用"mv"命令,将GitLab的数据目录和备份目录移到新分区"/mnt/gitlab"。

gitlab.rb文件中,备份目录是我自己设置的,在"/var/opt/gitlab/backups",移动备份目录:

bash 复制代码
sudo mv /var/opt/gitlab/backups /mnt/gitlab/backup

gitlab.rb文件中,数据目录我没设备,就是默认目录,在"/var/opt/gitlab/git-data",移动备份目录:

bash 复制代码
sudo mv /var/opt/gitlab/git-data /mnt/gitlab/data

再用"sudo fdisk -l"查看,原主分区"sda2"剩余空间多了9个G,新分区"sda3"剩余空间成11G了,说明GitLab的数据的确移到新分区了。

5. 重启GitLab

修改GitLab的配置,即修改"/etc/gitlab/gitlab.rb",将备份目录改为"/mnt/gitlab/backup",将数据目录改为"/mnt/gitlab/data"。

保存配置,重新加载配置:

bash 复制代码
sudo gitlab-ctl reconfiguration

启动GitLab:

bash 复制代码
sudo gitlab-ctl start

登录GitLab,发现sda2的剩余空间多,也有了sda3的空间数据。

胜利!!!

相关推荐
用什么都重名2 小时前
Git分支合并与远程服务器同步实战:保留关键配置文件
运维·服务器·git
C++ 老炮儿的技术栈2 小时前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
得要找到一束光3 小时前
git详细命令
git·github
biter down3 小时前
3:VMware Workstation 安装 Ubuntu 22.04 超详细教程
linux·运维·ubuntu
zhping10113 小时前
Ubuntu 登录密码忘记
运维·服务器·ubuntu
问简3 小时前
ubuntu wine
ubuntu
一勺菠萝丶3 小时前
宝塔 Docker 安装 Ubuntu 及启动失败解决流程
ubuntu·docker·eureka
2601_961875244 小时前
花生十三公考课程|网课|视频
数据库·windows·git·svn·eclipse·github
biter down7 小时前
2:Ubuntu 22.04 LTS 的完整下载教程
linux·运维·ubuntu
EleganceJiaBao8 小时前
【Git】Git reset 完整指南:真正理解 HEAD、暂存区与工作区
git·github·reset