电竞比分网-中国电竞赛事及体育赛事平台

分享

qcow2、raw、vmdk等鏡像格式的比較和基本轉(zhuǎn)換

 Dead n Gone 2013-06-17

云計算用一個朋友的話來說:”做云計算最苦逼的就是得時時刻刻為一些可能一輩子都碰不到的事做

好準(zhǔn)備。更苦逼的就是剛以為一個問題不會遇到,立刻就發(fā)生了。。。“。這個還真的沒有辦法,

誰讓哥我是搞云計算的呢,簡單一個虛擬化就搞的你蛋疼,你還能想其它的嗎?一直糾結(jié)在做虛

擬化使用什么鏡像格式,剛剛開始用了raw的file,后來發(fā)現(xiàn)LVM的很多特性對于虛擬化還是有比較

理想的能力,而且性能也很不錯就用了LVM。后來被VMware騙了跑去搞Esxi接觸了VMDK,最近

研究openstack發(fā)現(xiàn)了qcow2格式,貌似現(xiàn)在很流行呀。也說不上分析這些鏡像格式的能力,就簡單

說說自己的一些使用心得。


目前主要有那些格式來作為虛擬機(jī)的鏡像:

raw


(default) the raw format is a plain binary image of the disc image, and is very portable. On filesystems that suppor

t sparse files, images in this format only use the space actually used by the data recorded in them.

老牌的格式了,用一個字來說就是裸,也就是赤裸裸,你隨便dd一個file就模擬了一個raw格式的鏡

像。由于裸的徹底,性能上來說的話還是不錯的。目前來看,KVM和XEN默認(rèn)的格式好像還是這

個格式。因?yàn)槠湓?,有很多原生的特性,例如直接掛載也是一件簡單的事情。


裸的好處還有就是簡單,支持轉(zhuǎn)換成其它格式的虛擬機(jī)鏡像對裸露的它來說還是很簡單的(如果

其它格式需要轉(zhuǎn)換,有時候還是需要它做為中間格式),空間使用來看,這個很像磁盤,使用多

少就是多少(du -h看到的大小就是使用大小),但如果你要把整塊磁盤都拿走的話得全盤拿了

(copy鏡像的時候),會比較消耗網(wǎng)絡(luò)帶寬和I/O。接下來還有個有趣的問題,如果那天你的硬盤

用著用著不夠用了,你咋辦,在買一塊盤。但raw格式的就比較犀利了,可以在原來的盤上追加空間:
dd if=/dev/zero of=zeros.raw bs=1024k count=4096(先創(chuàng)建4G的空間)


cat foresight.img zeros.raw > new-foresight.img(追加到原有的鏡像之后)


當(dāng)然,好東西是吹出來的,誰用誰知道,還是有挺多問題的。由于原


生的裸格式,不支持snapshot也是很正常的。傳說有朋友用版本管理軟件對raw格式的文件做版本管


理從而達(dá)到snapshot的能力,估計可行,但沒試過,這里也不妄加評論。但如果你使用LVM的裸設(shè)


備,那就另當(dāng)別論。說到LVM還是十分的犀利的,當(dāng)年用LVM做虛擬機(jī)的鏡像,那性能杠杠的

。

而且現(xiàn)在好多兄弟用虛擬化都采用LVM來做的。在LVM上做了很多的優(yōu)化,國外聽說也有朋友在


LVM增量備份方面做了很多的工作。目前來LVM的snapshot、性能、可擴(kuò)展性方面都還是有相當(dāng)?shù)?/FONT>

效果的。目前來看的話,備份的話也問題不大。就是在虛擬機(jī)遷移方面還是有很大的限制。但目


前虛擬化的現(xiàn)狀來看,真正需要熱遷移的情況目前需求還不是是否的強(qiáng)烈。雖然使用LVM做虛擬

機(jī)鏡像的相關(guān)公開資料比較少,但目前來看犧牲一點(diǎn)靈活性,換取性能和便于管理還是不錯的選擇。

對于LVM相關(guān)的特性及使用可以參考如下鏈接:

http://www.ibm.com/developerworks/linux/library/l-lvm2/index.html

cow
copy-on-write format, supported for historical reasons only and not available to QEMU on Windows


曾經(jīng)qemu的寫時拷貝的鏡像格式,目前由于歷史遺留原因不支持窗口模式。從某種意義上來說是


個棄嬰,還沒得它成熟就死在腹中,后來被qcow格式所取代。

qcow
the old QEMU copy-on-write format, supported for historical reasons and superseded by qcow2


一代的qemu的cow格式,剛剛出現(xiàn)的時候有比較好的特性,但其性能和raw格式對比還是有很大的

差距,目前已經(jīng)被新版本的qcow2取代。其性能可以查看如下鏈接:


http://www./page/Qcow2

qcow2
QEMU copy-on-write format with a range of special features, including the ability to take multiple snapshots,

 smaller images on filesystems that don’t support sparse files, optional AES encryption, and optional zlib compression


現(xiàn)在比較主流的一種虛擬化鏡像格式,經(jīng)過一代的優(yōu)化,目前qcow2的性能上接近raw裸格式的性

能,這個也算是redhat的官方渠道了,哈哈,希望有朋友能拍他們磚:


https:///wiki/Features/KVM_qcow2_Performance


對于qcow2的格式,幾點(diǎn)還是比較突出的,qcow2的snapshot,可以在鏡像上做N多個快照:

  • 更小的存儲空間,即使是不支持holes的文件系統(tǒng)也可以(這下du -h和ls -lh看到的就一樣了)
  • Copy-on-write support, where the image only represents changes made to an underlying disk

  •  image(這個特性SUN ZFS表現(xiàn)的淋漓盡致)

  • 支持多個snapshot,對歷史snapshot進(jìn)行管理
  • 支持zlib的磁盤壓縮

  • 支持AES的加密

vmdk 
VMware 3 & 4, or 6 image format, for exchanging images with that product
VMware的格式,這個格式說的蛋疼一點(diǎn)就有點(diǎn)牛X,原本VMware就是做虛擬化起家,自己做了一

個集群的VMDK的pool,做了自己的虛擬機(jī)鏡像格式。又拉著一些公司搞了一個OVF的統(tǒng)一封包

。從性能和功能上來說,vmdk應(yīng)該算最出色的,由于vmdk結(jié)合了VMware的很多能力,目前來看,

KVM和XEN使用這種格式的情況不是太多。但就VMware的Esxi來看,它的穩(wěn)定性和各方面的能力

還是可圈可點(diǎn)。


vdi
VirtualBox 1.1 compatible image format, for exchanging images with VirtualBox.


SUN收購了VirtualBox,Oracle又收購了SUN,這么說呢,vdi也算虛擬化這方面的一朵奇葩,可惜的

是入主的兩家公司。SUN太專注于技術(shù)(可以說是IT技術(shù)最前端也不為過),Oracle又是開源殺手

mysql的沒落)。單純從能力上來說vdi在VirtualBox上的表現(xiàn)還是不錯的。也是不錯的workstation

級別的產(chǎn)品。

說了這么多虛擬機(jī)鏡像格式,這么多虛擬化,做云計算的傷不起呀,得為長期發(fā)展考慮,也有朋

友對鏡像的轉(zhuǎn)換做了很多事情,簡單看看幾種鏡像的轉(zhuǎn)化:

raw->qcow2     此步驟使用qemu-img工具實(shí)現(xiàn),如果機(jī)器上沒有,可以通過rpm或yum進(jìn)行安裝,包名為qemu-img。

     qemu-img是專門虛擬磁盤映像文件的qemu命令行工具。

     具體命令如下:

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

     參數(shù)說明:convert   將磁盤文件轉(zhuǎn)換為指定格式的文件

                     -f   指定需要轉(zhuǎn)換文件的文件格式

                    -O  指定要轉(zhuǎn)換的目標(biāo)格式

     轉(zhuǎn)換完成后,將新生產(chǎn)一個目標(biāo)映像文件,原文件仍保存。

VMDK–>qcow2:


kevin@kevin:~# qemu-img convert -f vmdk -O qcow2 SLES11SP1-single.vmdk SLES11SP1-single.img

http://www.ibm.com/developerworks/cn/linux/l-cn-mgrtvm3/index.html


qcow2–>raw:


kevin@kevin:~$ qemu-img convert -O qcow2 image-raw.raw image-raw-converted.qcow

本文轉(zhuǎn)自:http://blog./?p=248

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多