LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2177|回复: 10

问个虚拟机虚拟硬盘的问题(kvm qcow2 raw)

[复制链接]
发表于 2009-12-4 06:06:49 | 显示全部楼层 |阅读模式
搜了下,发现大部分用qemu或者kvm的,都默认使用qcow2来作为虚拟硬盘,但qemu官方默认是用raw。
下面是qemu wiki对两种格式的描述:
raw
Raw disk image format (default). This format has the advantage of being simple and easily exportable to all other emulators. If your file system supports holes (for example in ext2 or ext3 on Linux or NTFS on Windows), then only the written sectors will reserve space. Use qemu-img info to know the real size used by the image or ls -ls on Unix/Linux.

qcow2
QEMU image format, the most versatile format. Use it to have smaller images (useful if your filesystem does not supports holes, for example on Windows), optional AES encryption, zlib based compression and support of multiple VM snapshots.

raw的优势(能找到的相关资料太少,不知道是不是理解有误):
1、简单,并能够导出为其他虚拟机的虚拟硬盘格式
2、根据实际使用量来占用空间使用量,而非原先设定的最大值(比如设定最高20G,而实际只使用3G)。——需要宿主分区支持hole(比如ext2 ext3 ntfs等)
3、以后能够改变空间最大值(把最高值20G提高到200G,qcow2也可以,不过要转为raw)
4、能够直接被宿主机挂载,不用开虚拟机即可在宿主和虚拟机间进行数据传输(注意,此时虚拟机不要开)

而qcow2的优势:
1、更小的虚拟硬盘空间(尤其是宿主分区不支持hole的情况下)
2、optional AES encryption, zlib based compression and support of multiple VM snapshots.

另外,根据fedora12的wiki,说测试结果是raw比qcow2性能更好,即使是新版的qcow2。http://fedoraproject.org/wiki/Features/KVM_qcow2_Performance

如果单纯靠这些信息,那么raw好像更有优势,而且更方便。(raw支持快照否???)

那么,为什么大家都默认使用qcow2呢?为什么?

同样的,还有vmdk vdi等虚拟机硬盘格式的优劣表现在哪方面呢?
发表于 2009-12-4 13:33:31 | 显示全部楼层
raw 第二项,一般虚拟机的动态磁盘都是这样,用多少分多少。
在我看来,raw 的主要优势在于数据交换容易。
目前还有一个优势很明显,固定分配空间的虚拟磁盘性能很高不用说了。而目前虚拟机的固定分配磁盘,创建时都很费时。而创建 raw 文件的话,只要文件系统支持预分配磁盘空间,则可在瞬间完成。ext3 不支持空间预分配,ext4 才开始支持,而 NTFS 早已支持。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-4 14:44:21 | 显示全部楼层
Post by ch_fb;2052450
raw 第二项,一般虚拟机的动态磁盘都是这样,用多少分多少。
在我看来,raw 的主要优势在于数据交换容易。
目前还有一个优势很明显,固定分配空间的虚拟磁盘性能很高不用说了。而目前虚拟机的固定分配磁盘,创建时都很费时。而创建 raw 文件的话,只要文件系统支持预分配磁盘空间,则可在瞬间完成。ext3 不支持空间预分配,ext4 才开始支持,而 NTFS 早已支持。

第二点和qcow2是一样的,只不过qcow2更好点,尤其是在不支持hole的分区里。
交换方便性方面,也确实是raw是所有虚拟机系统里面最好的。虚拟机不用开机就能往虚拟机里传数据。
而且,raw的性能也很不错。

不过,好像还没找到raw支持snapshot的帖子,是否是这个raw不支持这个功能呢?——快照功能对虚拟机来说非常重要的。
回复 支持 反对

使用道具 举报

发表于 2009-12-4 15:02:09 | 显示全部楼层
记得 qemu 的文档里提到过,有差分磁盘,那不就是快照嘛。
回复 支持 反对

使用道具 举报

发表于 2009-12-4 18:58:48 | 显示全部楼层
看那个测试raw要领先很多啊 而且好像还能直接挂载上  qcow好处也许是qemu自己专用的 (保密性好。。)

我这里怎么qemu-kvm跑起xp来跟vbox里差不多 有时还慢点?
顺便问下源里的kqemu是干什么的?里面就一个.ko的内核模块,是不是qemu+         kqemu = qemu-kvm?(qemu包比qemu-kvm包大好多啊)
回复 支持 反对

使用道具 举报

发表于 2009-12-4 19:31:24 | 显示全部楼层
kqemu是qemu的内核部件,用于加速qemu,而且提速很多
回复 支持 反对

使用道具 举报

发表于 2009-12-4 19:45:49 | 显示全部楼层
我现在直接用kvm 感觉速度很快,就是显卡效果比较差,不能全屏看视频。

其他都很好 CPU占用好像也很少。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-4 19:49:53 | 显示全部楼层
Post by iamkr;2052558
看那个测试raw要领先很多啊 而且好像还能直接挂载上  qcow好处也许是qemu自己专用的 (保密性好。。)

我这里怎么qemu-kvm跑起xp来跟vbox里差不多 有时还慢点?
顺便问下源里的kqemu是干什么的?里面就一个.ko的内核模块,是不是qemu+         kqemu = qemu-kvm?(qemu包比qemu-kvm包大好多啊)
又看到一个资料,说raw 格式是一种”直读直写”的格式,不具备特殊的特性。也就是说,qcow2具备的这两个AES encryption, zlib based compression,raw就没有。

kqemu是qemu的内核加速模块,不是kvm。wiki里qemu部分有写,和kvm是分为两部分的,是两种不同的内核加速模块。

qemu跑98、me、xp是很慢的,但跑win95,win2000,是飞速的,尤其是win2000(nnd,win2000好像在普通电脑里相比那几个好像是最慢的)。98、me要快,可以用定制版的windows,好像叫lite的。
回复 支持 反对

使用道具 举报

发表于 2010-7-30 15:34:31 | 显示全部楼层
raw是裸磁盘系统吧,数据交换直接通过底层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-30 16:16:33 | 显示全部楼层
Post by flzt;2106032
raw是裸磁盘系统吧,数据交换直接通过底层


raw裸,呵呵,翻译的色香味俱全啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表