linux 镜像扩容,扩容kvm虚拟机镜像磁盘空间

一、需求

我有一个kvm虚拟机镜像ubuntu.qco,格式位qcow2,大小为5G,使用一段时间后,镜像磁盘空间已基本占满,需要扩容。查看一下ubuntu.qco的基本信息,如下:virt-filesystems --long --parts --blkdevs -h -a ubuntu.qco

Name       Type       MBR  Size   Parent

/dev/sda1  partition  83   4.0G   /dev/sda

/dev/sda2  partition  05   1.0K   /dev/sda

/dev/sda5  partition  82   1022M  /dev/sda

/dev/sda   device     -    5.0G

二、环境

OS:centos 6.3

内核:2.6.32-279.el6.x86_64

三、方法一qemu-img resize

根据博文http://openwares.net/linux/qcow2_img_resize_expand.html所述,可以使用qemu-img命令来扩容qemu镜像。使用命令qemu-img resize ubuntu.qco +1G进行扩容,查看镜像基本信息,如下:virt-filesystems --long --parts --blkdevs -h -a ubuntu.qco

Name       Type       MBR  Size   Parent

/dev/sda1  partition  83   4.0G   /dev/sda

/dev/sda2  partition  05   1.0K   /dev/sda

/dev/sda5  partition  82   1022M  /dev/sda

/dev/sda   device     -    6.0G

结果显示,虚拟机镜像虽然增大了,但是其文件系统并没有扩展到新增的磁盘空间,即sda1、sda2、sda5并没有变化,还需要进一步扩展虚拟机的文件系统。由此看来,qemu-img resize并不能很好的满足我的需求。

四、方法二virt-resize

1、依赖包

命令virt-resize的依赖包包括libguestfs-tools和guestfish,使用前需要提前安装。

2、基本原理

virt-resize的基本原理是先创建一个足够大的镜像,然后把原镜像的文件系统拷贝到新的镜像中。由于virt-resize的本质是拷贝镜像,所以通常耗时较长。

3、具体操作

新建一个足够大的镜像qemu-img create -f qcow2 ubuntu_new.qco 10G

使用virt-size扩容virt-resize --expand /dev/sda1 ubuntu.qcow ubuntu_new.qco

执行成功后,我们删除ubuntu.qco,将ubuntu_new.qco改名位ubuntu.qco,即可。

最后查看新的镜像信息,如下。整体磁盘空间扩容为10G,sda1扩容为9G。virt-filesystems --long --parts --blkdevs -h -a ubuntu.qco

Name       Type       MBR  Size   Parent

/dev/sda1  partition  83   9.0G   /dev/sda

/dev/sda2  partition  05   1.0K   /dev/sda

/dev/sda5  partition  82   1022M  /dev/sda

/dev/sda   device     -    10G    -

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值