一直糾結在做虛擬化使用什麼鏡像格式,剛剛開始用了raw的file,後來發現LVM的很多特 性對於虛擬化還是有比較理想的能力,而且性能也很不錯就用了 LVM。後來被VMware騙了跑去搞Esxi接觸了VMDK,最近研究openstack發現了qcow2格式,貌似現在很流行呀。
目前主要有那些格式來作為虛擬機的鏡像:
raw
(default) the raw format is a plain binary image of the disc image, and is very portable. On filesystems that support sparse files, images in this format only use the space actually used by the data recorded in them.
老牌的格式,隨便dd一個file就模擬了一個raw格式的鏡像。目前來 看,KVM和XEN默認的格式好像還是這個格式。因為其原始,有很多原生的特性,例如直接掛載也是一件簡單的事情。支持轉換成其它格式的虛擬機鏡像,空間 使用來看,這個很像磁盤,使用多少就是多少(du -h看到的大小就是使用大小),但如果你要把整塊磁盤都拿走的話得全盤拿了(copy鏡像的時候),會比較消耗網絡帶寬和I/O。如果那天硬盤不夠用了, 再買一塊盤,可以在原來的盤上追加空間:
dd if=/dev/zero of=zeros.raw bs=1024k count=4096(先創建4G的空間)
cat foresight.img zeros.raw > new-foresight.img(追加到原有的鏡像之後)
不支持snapshot,當年用LVM做虛擬機的鏡像,那性能槓槓的。
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
現在比較主流的一種虛擬化鏡像格式,經過一代的優化,目前qcow2的性能上接近raw格式的性能。
https://fedoraproject.org/wiki/Features/KVM_qcow2_Performance
對於qcow2的格式,幾點還是比較突出的,qcow2的snapshot,可以在鏡像上做N多個快照:
1、KVM中磁盤鏡像有哪些格式?
kvm從qemu繼承了豐富的磁盤格式, 包括裸映象(raw images), 原始qemu格式(qcow), VMware格式和更多
2、KVM中raw格式和qcow2格式的比較?
kvm虛擬機默認使用raw格式的鏡像格式,性能最好,速度最快,它的缺點就是不支持一些新的功能,如支持鏡像,zlib磁盤壓縮,AES加密等。 要使用鏡像功能,磁盤格式必須為qcow2
raw格式的話,速度稍微快點,在高版本的qemu-kvm中,幾乎不比qcow2的格式快,而qcow2格式節省空間,可動態增長,在公有雲中廣泛使用,建議使用qcow2