垃圾站 VPS技术 Vagrant中虚拟机centos的/dev/sda1突然爆满问题解决纪录

Vagrant中虚拟机centos的/dev/sda1突然爆满问题解决纪录

首先项目中使用vagrant 和docker ,docker中有mysql的容器。今天在连接数据库时,突然数据库服务挂掉。

原因分析:

首先想到是不是主机或者vagrant防火墙的问题,经过测试后发现,本机和vagrant 的ip都可以互相ping 通,说明不是二者防火墙的问题。
然后试着重启vagrant , 首先vagrant up启动虚拟机,此时报了一个内存不足的错,但我没有理会,大意了,没有闪,然后使用vagrant ssh连接docker。当我试着查看我docker 已启动的服务时,此时报了一个错,错误如下:

Vagrant中虚拟机centos的/dev/sda1突然爆满问题解决纪录插图

意思就是守护线程出问题了,但此时我又想到守护线程是服务于主线程的,那肯定是主线程出问题了。也就是服务压根没启动起来。

于是我试着重启docker ,发现重启失败,此处忘了截图。

我又尝试用systemctl status docker 查看docker状态也发现错误:

此处也无图,大概翻译过来就是,docker 启动失败,docker尝试重启,docker重启过于频繁。这里大概的意思就是尝试启动但启动失败。

然后我又使用df -h命令来查看使用状态Vagrant中虚拟机centos的/dev/sda1突然爆满问题解决纪录插图1

这个/dev/sdal原来是100%占用的。

于是我找到了这个位置

Vagrant中虚拟机centos的/dev/sda1突然爆满问题解决纪录插图2

发现不能用cd的方式进入这个sdal。说明它不是个文件夹,看这个颜色就知道它不简单,后来查阅资料发现这个是个分区,无法进入。

那么问题就棘手了,我怎么知道哪个文件夹里面满了呢,这个满了的又进不去。

我突然想到vagrant与主机有一个挂载关系,简单说就是主机的一个位置与vagrant 的某个位置的一个对应关系。

这个对应关系的配置目录在
C:\Users\User\.vagrant.d\boxes\centos-VAGRANTSLASH-7\2004.01\virtualbox\Vagrantfile
打开这个文件配置如下:
Vagrant.configure("2") do |config|   config.vm.base_mac = "5254004d77d3"   config.vm.synced_folder ".", "/vagrant", type: "rsync" end
config.vm.synced_folder ".", "/vagrant", type: "rsync"意思是将.目录挂载到vagrant中的/vagrant目录下。.的意思指的是整个C盘!!!怪不得,突然爆满,那么开始解决。

解决方案:

首先主机新建一个空文件夹替换掉配置文件中的.
我的如下:
Vagrant.configure("2") do |config|   config.vm.base_mac = "5254004d77d3"   config.vm.synced_folder "./MyVagrantSyncFolder", "/vagrant", type: "rsync" end
然后找到虚拟机中vagrant文件夹,发现确实里面都是C盘中的东西。那么开始rm -rf 大法,删除再新建一个vagrant文件夹。然后重启服务。大功告成!

上一篇
下一篇

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

返回顶部