VMware 虚拟机解决根空间不足(扩容磁盘)
VMware 虚拟机解决根空间不足(扩容磁盘)问题描述使用cobbler 的时候,导入了个iso 文件,然后磁盘就满了,当时我没注意,当我再次 import iso 的时候,就导入失败了,诶,创建虚拟机的时候才创了 10 G难受啊,在网上找了很多资源,由于牵扯到很多东西,且大家方法也不同,我想从简单的地方开始,理解 Linux 的文件系统,当然了,最后还是要解决空间不足的问题文章目录...
·
VMware 虚拟机解决根空间不足(扩容磁盘)
问题描述
- 使用cobbler 的时候,导入了个iso 文件,然后磁盘就满了,当时我没注意,当我再次 import iso 的时候,就导入失败了,诶,创建虚拟机的时候才创了 10 G
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F4dfXnZ4-1584089088701)(https://s2.ax1x.com/2019/03/21/A1gkE6.jpg)] - 难受啊,在网上找了很多资源,由于牵扯到很多东西,且大家方法也不同,我想从简单的地方开始,理解 Linux 的文件系统,当然了,最后还是要解决空间不足的问题
- 我找了很多文章,大部分都是介绍如何将创建一块新磁盘,然后挂载到其中一个目录上
- 但这跟我的期望不一样,我想要看到的最终效果是
df -h
时候,Mounted on /
根目录的 Size 变大 - 我思考了两种方法,直接修改 第一块磁盘 也就是 /dev/sda1 的大小,
- 第二种方法是,创建一块大的磁盘然后将根目录切换到这块大的磁盘上
- 文章目录
重要知识点
Linux 文件系统
- Linux 文件系统是通过 挂载的方式,简单来说,从我们肉眼能看到的文件系统,一直到真实的磁盘(硬件),中间还有几个层,当然,虚拟机的文件系统就更复杂了
- 这里的文件系统是指从物理的磁盘,操作系统,文件系统,虚拟机文件系统一直到 Linux 文件系统
羊圈与扩容
- 讲个故事,小胖家住在草原上,家里养了很多羊,晚上回家把羊赶进羊圈里,后来赚钱了,资本主义的生产扩张在小胖爸爸的心里发芽了,所以小胖爸爸决定买更多的羊,但是羊圈就那么大,在买羊之前,需要先扩大羊圈,这就相当于我们的磁盘空间不足了。
- 小胖爸爸想啊,弄羊圈需要先画好地,于是去村委会申请了一块 20 GB 的地,小胖爸高兴坏了,本来只想要10 GB 的,直接用 20 GB 的地来养羊有点浪费了,他决定将地划成两块,10GB 养羊,10GB 养牛(假如20 GB 都用来养羊,还是要分的,只不过地被分成一块了),这一步就是分区(partition)了,小胖爸爸在地上画好大概的位置后,地上是不能直接用来养羊的,需要有东西围着羊,防止羊跑了,这里的围羊的东西可以是 篱笆(Ext3), 石围墙(Ext4), 铁围墙(XFS), 建围墙的步骤就是格式化,一般格式化会将东西全部删除,以前理解的格式化就是删除的意思,但格式化(Format)实质上是安装一个管理磁盘的系统,就像公司更换体制那样,必定会带来大换血。
- 接下来羊圈已经做好了,需要把羊给赶进去,这一步就是挂载(Mount),其实很多名词在正常理解来看都是怪怪的,我觉得一方面这些拗口的名词形成一定的行业壁垒,另一方面由于计算机是从国外过来的,很多时候不能找到特别合适的名词,而且多数名词有一定的历史缘故,正确理解这些名词代表的含义很重要
总结以下(扩容的步骤)
- 1.申请地盘(购买磁盘)
- 2.划分地盘(分区 partition)
- 3.建围墙(格式化 format)
- 4.把羊放进去(挂载 mount)
具体操作
声明:目前通过直接挂载(非LVM)的根目录是不可以直接扩容的, 只能通过挂载在不同的路径的方式,将数据转移存储
通过 GParted 操作报错
- 参照
https://www.cnblogs.com/jytx/p/6323550.html
文章进行操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vAd923dd-1584089088705)(https://s2.ax1x.com/2019/03/22/A3T2Ps.jpg)] - 上图可以看到,我为虚拟机的磁盘添加了容量,查看扩容步骤
- 一步一步操作后,我将容量扩充到 30 GB
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1VyQaBqE-1584089088706)(https://s2.ax1x.com/2019/03/22/A3Tqi9.jpg)] - 然后失败了 。。。
- 这里我猜测,/dev/sda1 挂载的是主目录,里面是有文件的,这样直接扩充势必会导致文件损坏,所以这里会扩容失败
LVM 方式
如果根分区不是lvm,使用直接挂载,不可使用这种方式进行扩容
- 分区
fdisk /dev/sda
- 创建 n
- p 主分区 1 ,2 ,3 扩展分区 4
- 设置起始分区地址
- 设置大小 +20G
- 创建分区后,使用 partprobe 刷新
- 创建物理卷
pvcreate /dev/sda1
- 查看已有卷组
vgdisplay
得到卷组名为 centos - 添加 sda1 到 centos 卷组中
vgextend centos /dev/sda1
- 查看需要被扩容的文件路径
lvdisplay
路径为 /opt/xxx - 把centos 卷组中的所有剩余容量添加到 /opt/xxx 上
lvextend -l +100%FREE /opt/xxx
- 刷新写入
xfs_growfs /dev/centos/root
- 使用
df -Th
查看是否成功
参考文章
更多推荐
已为社区贡献5条内容
所有评论(0)