镜像自动扩容
镜像自动扩容
赵王军 发表于3年前
镜像自动扩容
  • 发表于 3年前
  • 阅读 63
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: 介绍镜像自动扩容工具

这玩样也是在制作镜像的时候,遇到的——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.


共有 人打赏支持
粉丝 6
博文 40
码字总数 18401
×
赵王军
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: