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

胜利!!!

相关推荐
T - mars20 分钟前
Git在Pycharm中的使用
git
sunarmy44 分钟前
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
git
Rudon滨海渔村2 小时前
解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案
linux·运维·ubuntu
典学长编程2 小时前
高效学习之一篇搞定分布式管理系统Git !
大数据·git·搜索引擎
是2的10次方啊3 小时前
.gitignore失效自救指南:原理揭秘与工程师实战排查全流程
git
海外空间恒创科技3 小时前
香港站群服务器与普通香港服务器对比
服务器·git·github
2401_861615283 小时前
跨平台的ARM 和 x86 Docker 镜像:汇编语言实验环境搭建
linux·汇编·ubuntu·docker·容器
Ronin3054 小时前
【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile
linux·运维·服务器·ubuntu·编辑器·vim
Wetoria5 小时前
管理 git 分支时,用 merge 还是 rebase?
前端·git
牧以南歌〆14 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu