且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

kvm(四)客户机vm的存储格式

更新时间:2022-09-24 18:03:26

raw  Raw disk image format (默认)

该格式精简,易被多种虚拟机接受。
如果你的系统支持 holes (如 linux 的 ext2 ext3 ext4? windows 的 NTFS),那么它将有效节约空间
(比如你创建的磁盘是2G,虚拟系统只使用了800M,那么它实际也只占用800M的空间)。使用命令“kvm-img info 镜像文件名”。


随便dd一个file就模拟了一个raw格式的镜像。由于原生支持,性能上来说的话还是不错的。目前来看,KVM和XEN默认的格式好像还是这个格式。有很多原生的特性,例如直接挂载也是一件简单的事情。


支持转换成其它格式的虚拟机镜像对裸露的它来说还是很简单的(如果其它格式需要转换,有时候还是需要它做为中间格式),空间使用来看,这个很像磁盘,使用多少就是多少(du -h看到的大小就是使用大小),raw格式的存储扩展很简单,可以在原来的盘上追加空间:
dd if=/dev/zero of=old.raw bs=1024k count=4096


缺点:不支持snapshot,不支持zlib的磁盘压,不支持AES的加密


qcow2 

前一代是qcow,现在比较主流的一种虚拟化镜像格式,经过一代的优化,目前qcow2的性能上接近raw格式的性能。

 优点:支持snapshot,可以在镜像上做N多个快照:

  更小的存储空间,即使是不支持holes的文件系统也可以(这下du -h和ls -lh看到的就一样了)


    支持多个snapshot,对历史snapshot进行管理

    支持zlib的磁盘压缩

    支持AES的加密 



raw->qcow2   (raw转化为qcow2)

  此步骤使用qemu-img工具实现

     qemu-img convert -f raw vm2.img -O qcow2 vm2.qcow2

     参数说明:convert   将磁盘文件转换为指定格式的文件

                     -f   指定需要转换文件的文件格式

                    -O  指定要转换的目标格式

     转换完成后,将新生产一个目标映像文件,原文件仍保存。


本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1674157