前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >QEMU增量镜像制作

QEMU增量镜像制作

作者头像
战神伽罗
发布2019-07-24 15:25:58
3.3K0
发布2019-07-24 15:25:58
举报

在服务器上,经常需要启动数十个或者几十个虚拟机,按照我们现有的方式是安装一个虚拟机,然后复制相应的份数。例如,一个虚机的镜像大小是4G,十个虚机的大小就需要占用40G空间。 事实上在目前为止里面还没有执行任何程序,这些空间都是分配,实际并不一定都要使用。那么是否能够实现用多少分配多少呢?分析下可以发现,每个虚拟机里面的内核都是一样的,大部分时候我们都不需要去修改里面的内核,是否能够共用内核? Copy-On-Write模式为我们提供了很好的解决方式,通过创建一个基础镜像(base image),里面把各个虚拟机都需要的环境都搭建好,然后基于这个镜像建立起一个个“增量镜像”(增量镜像的初始大小低于1M),每个“增量镜像”对应一个虚拟机,虚拟机对镜像中所有的改变都记录在“增量镜像”里面,基础镜像始终保持不变。这样我们建立十个虚拟机,需要的空间为:4G+10*1M=4G,一下节省了近36G的空间。

对于我们Flexbng的环境,cp/dp的虚机可以共用一个基础镜像,然后各自有自己的增量镜像。 好处有: 1)在部署环境时,需要拷贝的文件大小和磁盘占用空间就会降低很多,尤其是多cp/dp的环境。 2)基础镜像不会被修改,新拉虚机时可以快速创建个“增量镜像”使用

基本步骤: 1. 创建一个基础镜像flexbng-normal.qcow2, 该镜像包含OS和必需的软件包

qemu-img info flexbng-normal.qcow2

image: flexbng-normal.qcow2 file format: qcow2 virtual size: 40G (42949672960 bytes) disk size: 2.4G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false

  1. 清除基础镜像里面的临时文件(例如软件tar包、编译的文件、日志等等),然后退出虚机,并压缩基础镜像,压缩后的镜像为flexbng-base.qcow2。 qemu-img convert -c -O qcow2 flexbng-normal.qcow2 flexbng-base.qcow2

qemu-img info flexbng-base.qcow2

image: flexbng-base.qcow2 file format: qcow2 virtual size: 40G (42949672960 bytes) disk size: 1.1G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false 3. 创建增量镜像flexbng-delta.qcow2 qemu-img create -f qcow2 -b flexbng-base.qcow2 flexbng-delta.qcow2

qemu-img info flexbng-delta.qcow2

image: flexbng-delta.qcow2 file format: qcow2 virtual size: 40G (42949672960 bytes) disk size: 193K cluster_size: 65536 backing file: flexbng-base.qcow2 Format specific information: compat: 1.1 lazy refcounts: false

后面如果想将增量镜像中的修改合入到基础镜像中,需要执行commit命令: qemu-img commit flexbng-delta.qcow2

实例展示: 在USB或者PXE部署时使用的增量镜像。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • qemu-img info flexbng-normal.qcow2
  • qemu-img info flexbng-base.qcow2
  • qemu-img info flexbng-delta.qcow2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档