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

胜利!!!

相关推荐
a不是橘子20 分钟前
03在Ubuntu中验证PV操作
笔记·ubuntu·操作系统·虚拟机·os·pv操作
一允4 小时前
Git学习记录
git·学习
程序员果子5 小时前
GraphRAG:让大模型在知识图谱中精准导航
人工智能·git·语言模型·aigc·知识图谱
Code-world-15 小时前
NVIDIA Isaac Sim 安装教程
linux·人工智能·ubuntu·强化学习·isaac sim
zhaoyun9277 小时前
ubuntu linux 安装net8 net9 net 10方法
linux·ubuntu
zwtahql7 小时前
ubuntu远程ssh连接
linux·ubuntu·ssh
later_rql8 小时前
【Git提交remote rejected】
git
s_daqing9 小时前
ubuntu(arm)使用nginx安装静态服务器
服务器·nginx·ubuntu
皓月盈江10 小时前
个人计算机Linux Debian桌面操作系统上网安全防护措施
linux·ubuntu·网络安全·debian·桌面操作系统·上网安全防护措施
Tatalaluola10 小时前
Git版本控制常用命令
git