查看文章
 
QCOW增量虚拟机制作
2011-03-15 20:18

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

1、 资源准备

基础镜像文件(制作方式参考HVM Guest安装手册):

vmdisk.img

2、 制作虚拟机的增量镜像

制作一个容量为30G的虚拟硬盘:

# qemu-img-xen create –b vmdisk –f qcow2 vm1disk-qcow2.img 30000M                //此处也可以用qcow-create

# ll –h

-rw-r--r-- 1 root root  52K Mar 11 19:42 vm1disk-qcow2.img

3、 制作增量虚拟机配置文件

拷贝基础镜像配置文件

# cp windows.hvm vm1-windows.hvm

修改配置文件

disk = [ 'tap:qcow2:/home/wq/img/centos_pv/vmdisk-qcow.img,ioemu:hda,w' ]     

4、 启动增量虚拟机

# xm cr vm1-windows.hvm

可以拷贝一个50M以上的文件到虚拟机中,可以看到增量虚拟机镜像文件大小会动态改变。


类别:Xen||添加到搜藏 |分享到i贴吧|浏览(3174)|评论 (0)
 
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu