镜像自动扩容

这玩样也是在制作镜像的时候,遇到的——cloud-initramfs-growroot。这玩意最重要的功能就是解决镜像扩容的问题。、

要说扩容,最简单的方式其实就是新建一个qcow2文件,然后简单的挂上虚拟机就可以了。但这种方法显得特没技术含量,怎么也算不上一个技术网站应该有的“范儿”。

1 首先,在宿主机上关闭虚拟机,转换磁盘格式为raw:

#qemu-img convert -f qcow2 litrin.net.qcow2 -O raw litrin.net.raw

raw格式的毛病一大堆,什么厚磁盘模式啦;什么不支持snap了之类的,但它有一个最大的优势:因为raw是条带化的,扩容相当方便!

2 创建一个空白的raw,10G的额外空间应该查不多了。

#qemu-img create -f raw empty.raw 10G

3 将新的空间追加到旧的磁盘文件之上,Linux的管道操作果然方便啊!

#cat empty.raw >> litrin.net.raw

4 好吧,技术上讲现在已经可以挂装硬盘了,但照旧,我们还是要把raw转换成qcow2,把第一条命令反过来用而已

qemu-img convert -f raw litrin.net.raw -O qcow2 litrin.net.qcow2

由于文件名经过两次转换之后没有改动过,所以不需要在vrish里做任何调整,直接开启虚拟主机就可以了。

然后就是在虚拟主机内部的操作了。这里其实还有另一个难点:正常情况下,有很多分区编辑工具可以直接调整分区大小,Linux下 也有一个resize2fs工具可以使用,但使用resize2fs调整分区大小的前提是你必须先将该分区umount,这台主机只有一个”/”分区,根 本无法卸载!如果是正常的物理主机,你可以用liveCD挂装一个系统,然后启动resize2fs甚至PQ之类的第三方工具调整。但是在虚拟机上,挂个 光驱并用光驱启动就会变得非常不便,如果破?

正常的情况下,结果是‘:

root@ubuntu14:~# resize2fs -f /dev/vda1
resize2fs 1.42.9 (4-Feb-2014)
The filesystem is already 1310208 blocks long. Nothing to do!

5 自然有人就想到了这个问题:

#apt-get install cloud-initramfs-growroot
#reboot

重起完成之后,见证奇迹的时刻!

root@ubuntu14:~# resize2fs /dev/vda1
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/vda1 is now 13106827 blocks long.


转载于:https://my.oschina.net/zwj0571/blog/299022

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值