首先我们创建一个虚拟机,此虚拟机镜像(web01.img)将会作为基镜像,供其派生.
查看此镜像文件格式及镜像大小
[root@kvm images]# qemu-img info web01.img
image: web01.img
file format: raw
virtual size: 8.0G (8589934592 bytes)
disk size: 8.0G
提示:Virtual是指镜像文件大小,而disk 是实际占用磁盘的大小
[root@kvm images]# qemu-img create -f qcow2web01_01.qcow2 -o backing_file=web01.img 10G
Formatting 'web01_01.qcow2', fmt=qcow2size=10737418240 backing_file='web01.img' encryption=off cluster_size=65536
意指我们派生的镜像可以额外使用(10-8)G的空间来存放数据啊.奇怪的是我们进入系统发现和母板分区大小一致啊,那多出来的呢?别急,这需要我们使用fdisk/mount工具将扩展的2G挂载到指定的目录下噢。
[root@kvm images]# qemu-img infoweb01_01.qcow2
image: web01_01.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 136K
cluster_size: 65536
backing file: web01.img
这个镜像才136K,但实际可用大小是10G
现在我们将它启动起来
[root@kvm images]# qemu-kvm -m 2048 -smp 2-hda web01_01.qcow2 -vnc :2
我们通过vncview软件连接到vnc的5902端口上.
但我一般不这样使用。我采用的是
Virt-manager添加虚拟机启动起来,操作步骤就如创建虚拟机一样.前提是你的CPU和内存值要与你的基类一致噢。我的基镜像cpu:2和mem:2048.
注意,我们在此虚拟机上的所有操作都不会写到后端镜像web01.img文件中,除非我们执行qemu-img commit web01_01.qcow2,才会将数据写到后端镜像文件中.
是不是我们想创建多少个虚拟机就能创建多少个呢?
答案是在存储满足的条件下是可以的.
我们再来创建一个
[root@kvm images]# qemu-img create -f qcow2web01_02.qcow2 -o backing_file=web01.img 15G
Formatting 'web01_02.qcow2', fmt=qcow2size=16106127360 backing_file='web01.img' encryption=off cluster_size=65536
把它启动起来.
[root@kvm images]# qemu-kvm -m 2048 -smp 2-hda web01_02.qcow2 -vnc :3
哈哈,像不像我在web01.img这个基类上派生了两个虚拟机,当然,我们还可以派生更多。而且虚拟机和虚拟机之间毛的关系都没有,所以随便玩.如果公司需要一个类似这样的实验环境,我想这个技巧很不错吧。它既不需要lvm,也不需要虚拟机clone所花费的时间。
本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/1362877,如需转载请自行联系原作者