qemu之差分盘(差异磁盘)

来源:互联网 发布:js 调用id为变量的div 编辑:程序博客网 时间:2024/06/10 06:02

http://smilejay.com/2012/08/qemu-img-details/一、安装qemu-kvm

这没什么说的,zypper in kvm后根据提示完成即可;

二、新建虚拟磁盘

qemu-img create -f [fmt] filename size

比如:

qemu-img create -f qcow2 xp.img 8G

将在当前目录新建一个名为xp.img的文件,这个文件的格式为qcow2,大小为8G(通过file xp.img可查看相关信息,此处的8G是指描述上的,也可以简单理解为最大装下8G的内容,而实际上才新建的文件只不到200KB)

三、启动虚拟机

qemu-kvm -boot d ***.iso -hda xp.img -m 512

上句将启动一台内存512(-m 512),只挂载一个硬盘(-hda xp.img)的虚拟机,这台虚拟机将从光盘***.iso启动(-boot d)。因为新机,未安装系统,故从光盘启动,当然系统安装完成后,将“-boot d ***.iso”改为“-boot c xp.img”即可。

四、建差分盘

qemu-img create -f qcow2 -o backing_file=xp.img,size=10G cfp.img

上句将建立xp.img(母盘)的差分盘cfp.img,大小为10G。如果不用“,size=10G”则默认建立一个大小与母盘同样大(此处为8G)的差分盘。

五、使用差分盘

qemu-kvm -boot c cfp.img

如无意外,启动正常。好了,好好享受吧。

六、注意事项

一旦建立好差分盘,母盘便不要做任何改变了,包括文件路径。就把它放在那里,谁都别动。

-----------------------------------------------

在写下此篇时环境如下:

操作系统:  Linux 3.4.11-2.16-desktop x86_64
系统:  openSUSE 12.2 (x86_64)
KDE:  4.8.5 (4.8.5) "release 2"

QEMU emulator version 1.1.1 (kvm-1.1.1-1.8.1)

-----------------------------------------------

相关资料:

如果仅想运行一个简单虚拟机,看1、2即可。

1.[(KVM连载)4.3.2 qemu-img命令详解]http://smilejay.com/2012/08/qemu-img-details/
2.[使用 QEMU 进行跨平台开发]http://blog.chinaunix.net/uid-21868571-id-158974.html
3.[KVM手记]http://www.doc88.com/p-893241644418.html
4.[QEMU Emulator User Documentation]http://wiki.qemu.org/download/qemu-doc.html#qemu_005fimg_005finvocation

======================================

写在最后 ,好吧,这是此篇的来历。

我大抵是脑子又出问题了,windows用的好好的,OpenSUSE12.1用的好好的,又想换成12.2;但对12.2一直有一个担心:d-bus是否正常了。因为早些时候12.2上安装virtualbox一直无法正常使用(当要打开文件夹时总提示d-bus故障,自己动手又解决不了,只有放弃,但12.1没有此问题,只好用12.1了,因为总有些东西,是我这个新手需要在windows下才会的,所以虚拟机就是一个很好的东西了)。虽然当时12.2有这个问题,但如果直接修改vbox的相关配置文件的话,是可以正常使用虚拟机的。但这要求先在windows下在虚拟机的虚拟硬盘中安装系统并把虚拟硬盘的编号记录下来以便在suse下做相关修改。现在从12.2livcd上看已解决了这个问题,于是,又把12.1干掉换成12.2。好吧,我才不会告诉你我只是因为它更好看点才换的。但(你看这个字可真不讨人喜欢),虽然现在没有d-bus的问题了,在重启后却无法启动vbos,原来是没有运行服务,而服务是需要root权限的。虽然很好解决,但对小白而言,相当不爽。还是用qemu好,虽然模拟声音(我的机器只能ac97)相当不友好。

在使用qemu的过程中,偶然发现原来有种东东叫“差分盘/差异磁盘/子母盘/子盘”。哦,原来差分盘就是母盘的一个影子,虽然母盘的内容,差分盘一点不差,但所做的任何修改都只记录在差分盘中,这样,确实方便。如果要说这和复制一份然后只操作复件有什么区别的话,那便至少体现在如果母盘有2G大,那在不做任何修改的前提下,母盘和复件总共有4G,而如果是差分盘,则仅2G多一点点(如果差分盘的文件格式支持压缩并随使用增大的话,新建时它几乎不占空间,qcow2正好是一种可压缩的格式)。对我而言,这,就足够了。

没想到问题出现了:虽然按资料做好了差分盘,但当把差分盘当做启动盘时,居然遇到磁盘读取错误,难道是哪里没做对?再找哇找,但是几乎所有的资料都只说到差分盘建立那里就完了,对后续如何使用上只字不提(指使用方法,而非用途)。后来无意间把母盘删除后重新建母盘2、差分盘2,然后从差分盘2启动,居然成功了。现在想来可能和最开始的母盘弄好后,复制到新的目录再压缩,再转格式有关,虽然是在此之后才建的差分盘,但总是读盘错误,而原母盘是能正常启动的。于是,如您所见,我把这些写下来,以便又一个像我一样的人,在最后一步,居然用不来。真是,唉,说什么好呢,也太不幸了点。

原创粉丝点击