一直在努力
分类: 虚拟化
2013-03-25 23:00:24
kvm中有一个基础映像的概念(base iamge),我们可以以基础映像为基础,构建不同的虚拟机映像。通过基础映像的使用,我们可以避免将时间都花在操作系统的安装上。
基础映像
基础映像的概念非常简单,类似于增量备份,或者copy on write。首先我们创建一个镜像文件A,在A上安装一个全新的操作系统。之后通过镜像A创建一个镜像B,从这一刻开始,A上只会发生读操作,数据写入到B镜像中。
基础镜像的创建
基础镜像的创建没有任何特殊之处:
qemu-img create -f qcow2 windows-master.qcow2 10G
windows-master.qcow2将成为我们的基础镜像,然后安装操作系统
我们以基础镜像为蓝本,创建新的镜像:
qemu-img create -b windows-master.qcow2 -f qcow2 windows-clone.qcow2
我们创建了一个新的镜像,windows-clone.qcow2
查看该镜像的信息,我们可以发现,该镜像包含着对基础镜像的一个“引用”。因此在缺失基础镜像的情况下,windows-clone.qcow2镜像将不能正常使用。
# qemu-img info windows-clone.qcow2 image: windows-clone.qcow2 file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 56K cluster_size: 4096 backing file: windows-master.qcow2 (actual path: windows-master.qcow2)
openstack的实现中,即采用了这一技术。_base目录中存放了各种基础镜像,而每个虚拟机实例的目录中则保存了其各自的部分。通过这种方式,可以是得虚拟机实例共享磁盘映像。减少实例启动过程中,磁盘的拷贝。