VirtualBox虚拟机磁盘扩容操作

背景

virtualbox是开源免费的虚拟化软件,这也是我放弃vmware转而使用他的原因。在练习docker操作的时候,磁盘大小不够了,费了不少力气才成功扩容,记录一下过程。

找了几个博客,发现都不太好操作,有的需要安装个什么扩容工具才能实现扩容,索性就自己操作了。(后来也发现了类似的lvm扩容的方式,与本文原理一样)

扩容前大小:

可以看到根目录已经快满了。

1.确认虚拟磁盘介质

选中左侧你的虚拟机,点设置,点存储,看到后面的磁盘为centos7-disk001.vdi

2.工具 - 虚拟硬盘 找到对应的虚拟硬盘。

我这里因为虚拟机是复制的,磁盘名显示一样,但鼠标放上去是能看到具体虚拟机名称的,以此区分。

3.扩容

还是刚才的页面,下方就是扩容的地方。直接输入扩容后的大小,如40G。

4.进入系统,查看硬盘

这里使用fdisk,使用parted也可以

合理可以看到,/dev/sda大小已经是42.9G了,这里注意看扇区数,当前/dev/sda2已经到41943039编号的扇区了,而扇区一共是83886080,这多出来的就是咱们扩容的磁盘。

5.建立新分区

跟windows类似,想使用新硬盘,需要建立分区,分配盘符进行使用(当然linux下分配盘符也就是mount操作了,咱们这里是把他加入lvm)。

这一步就是输入两个命令 ,n表示new一个分区。p表示添加的是primary分区(稍微解释下,primary分区限定为四个,具体与扩展分区有什么区别我也不太清楚,一般可以认为无区别,这里加一个extended扩展分区也是可以的,扩展分区不限个数)。

6.查看磁盘分区情况

输入p打印分区列表,输入w表示写入fstab。这里看到多了个/dev/sda3。

7.对新分区格式化

使用mkfs.ext4命令对新分区格式化。遇到提示直接回车即可。

8.新分区创建pv并加入vg

将新分区创建pv,并将新创建的pv加入vg

这里是两步操作,使用pvcreate命令将分区标记为pv。

然后vgextend将pv加入vg。vg的名字通过vgs可以看到,也可以df -h推断出来。

9.确定操作哪个lvm

这里是我扩容后的,root已经是36.9G了。结合df -h的输出进行判断:

/dev/mapper/centos-root   17G   17G   690M  97% /

这里当然要给root扩容,对应的路径是/dev/mapper/centos-root

也就是/dev/mapper/vg名-lv名

10.扩容

使用lvextend命令进行扩容,这里扩容19.9G。

(后面看了其他博客,发现可以 lvextend -L +100%FREE /dev/mapper/centos-root的方式,这样更好,能避免空间浪费,我这里就直接写死了)

11.更新挂载点磁盘大小

最后执行xfs_growfs,执行后,df -h看到的/根路径磁盘大小才会变。

这样就扩容成功了。

题外话: 对lvm的简单说明:

主要就是三个命令,pvs查看pv,vgs查看vg,lvs查看lv。

通过fdisk或parted能够将物理磁盘划分分区。通过pvcreate能够将分区转换为pv,

通过vgextend能够将pv加入vg(vg是通过vgcreate创建的)。

通过lvcreate可以创建lv,通过lvextend扩展lv。

lvm能够无限扩容的原理就是,vg可以无限添加pv,而pv可以位于不同磁盘上,这样可以简单的通过添加新磁盘来扩容,又不影响原有的目录结构(不需要unmount、mount重新挂载操作)。

参考资料:

VirtualBox虚拟硬盘扩充_virtualbox增加硬盘容量-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值