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的空间数据。

胜利!!!

相关推荐
为思念酝酿的痛12 小时前
Git基本操作
git·github
江湖有缘13 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
wno7042 天前
常用的Git命令清单
大数据·git·elasticsearch
真上帝的左手2 天前
3. 代码管理-Git-进阶
git·源代码管理
YIN_尹2 天前
【git原理与使用】git基本操作及底层原理(二)
大数据·git·elasticsearch
瓦瓦gogo2 天前
从一个 TypeScript 函数开始理解 MCP 协议
linux·ubuntu·typescript
鱼听禅2 天前
Ubuntu安装YOLOv8进行菌落识别训练
linux·python·yolo·ubuntu
程序员爱德华2 天前
Git 命令
git
Cry丶3 天前
Git Rebase 操作备忘
git·rebase
Zucker n3 天前
文献发现、课题组织与证据可追溯的论文阅读。
论文阅读·windows·ubuntu