微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解决虚拟机磁盘满了,无法上传文件,给虚拟机扩容问题

1:问题描述

在本地virtualBox创建的虚拟机中,已有了MysqL服务,从外部打包了一个数据库,想要导入到这个虚机的数据库中,将这个sql文件上传到虚机时,执行命令
df -h
发现此时虚拟机的磁盘已经用尽(只怪自己当初创建虚拟机时没有分配更多的磁盘),如下图所示

在这里插入图片描述


此外,由于磁盘空间用尽,MysqL服务也宕机了,且无法启动,报错如下

ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/var/lib/MysqL/MysqL.sock' (111)

此时想要启动MysqL,必须要释放磁盘空间,方法有2种:
(1)删除无用的大文件
(2)扩容

2:问题解决

(1)删除无用的大文件

这个方法要找到大文件的位置,可以通过在不同的目录下执行如下命令,可以查看当前目录下各个文件所占空间大小

du -sh *

结果如下,可以酌情删除

[root@localhost opt]# du -sh *
684M    lbaas
550M    x86_20220527.tar.gz
211M    x86_20220822.tar.gz

在我删除掉一些大文件后,磁盘空间降了下来,

在这里插入图片描述


但是这种方式需要自己去找大文件,而且必须要提供足够大的空间,同时还要注意经常清理,最难受的是,一旦想要上传到该虚拟机上的文件过大,就会再次崩溃。因此,我推荐方法(2),一劳永逸。

(2)扩容

步骤1:分配额外的磁盘空间

首先要先关闭虚拟机(virtualBox似乎不支持热扩容),不然如下的配置是灰色,不可操作。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


事情到此,还没有结束,因为系统还没有识别到新的磁盘,接着向下操作

步骤2:识别并挂载磁盘

首先打开虚拟机

在这里插入图片描述


登录后,我们执行一下命令df -h后发现,我们的磁盘空间还是36G,新的4G没有算在内,这是因为系统还没有识别到这个磁盘。

在这里插入图片描述

1:查看当前虚拟机磁盘

lsblk

输入命令后,能够查看到我们新建的这个磁盘,名字叫sdc,如果你是第一次扩容,名字认是sdb我们能够看到,之前的sda和第一次我扩容的sdb都在root下,sdc还没有关联上。

在这里插入图片描述

2:接着输入命令查看磁盘编号,即返回结果sdc位置

ls /dev/sd*

结果如下

在这里插入图片描述

3:创建pv

注意,这里要写你刚创建的盘名,如果你第一次创建,应该是sdb

pvcreate /dev/sdc

如下结果表明创建成功

[root@localhost ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.

4:将pv加入到虚拟硬盘组中,扩容

查询现在的vg组信息,输入vgs

vgs

结果如下,说明此时4G的新空间还没有挂载上来,这里注意如下结果所示,当前的组名为c1,这个名字具体是什么,取决于你自己的虚拟机。

[root@localhost ~]# vgs
  VG #PV #LV #SN Attr   VSize  VFree  
  cl   2   2   0 wz--n- 36.99g 228.00m

扩展这个虚拟硬盘组(注意这里是c1的组,且sdc和sdb的区别这里不再赘述)

vgextend cl /dev/sdc

结果如下,说明成功扩展vg的卷

[root@localhost opt]# vgextend cl /dev/sdb
  Volume group "cl" successfully extended

扩展了vg后我们再执行命令vgs,发现已经扩展了,变为40G了

在这里插入图片描述


不过到这里还差最后一步,才会在df -h中显示新的盘符,实现扩容。

5:扩展lv

先查看lv的信息,输入如下命令

lvs

结果如下,发现还是只有原来的大小

在这里插入图片描述


输入命令如下,注意,下面命令的cl-root的来源是vg的名称和root用户的拼接也可以看做df-h后显示文件系统的名称

lvextend -L +4G /dev/mapper/cl-root


执行结果如下

[root@localhost ~]# lvextend -L +4G /dev/mapper/cl-root
  Size of logical volume cl/root changed from 35.97 GiB (9208 extents) to 39.97 GiB (10232 extents).
  Logical volume cl/root successfully resized.

6:让系统重新识别盘符

输入如下命令,同样注意cl-root的名称

xfs_growfs /dev/mapper/cl-root

在这里插入图片描述

7:查看磁盘空间df -h

df -h

如下结果,说明扩容成功。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐