最近在研究虛擬機的鏡像格式,就寫個筆記記錄一下這些東東。
在linux下,虛擬機的選擇方式有很多,比如vmware for linux,virtual box,還有qemu,在以前,使用qemu的人不多,主要是使用起來有些麻煩,但現在隨著Openstack的興起,qemu也得到了很大的發展,現在在Fedora下使用qemu+kvm性能還是很好的,如果再加上spice,就更不錯了。但今天還是主要講講qemu下使用的幾種鏡像格式吧!
1. rawraw格式是最簡單,什么都沒有,所以叫raw格式。連頭文件都沒有,就是一個直接給虛擬機進行讀寫的文件。raw不支持動態增長空間,必須一開始就指定空間大小。所以相當的耗費磁盤空間。但是對于支持稀疏文件的文件系統(如ext4)而言,這方面并不突出。ext4下默認創建的文件就是稀疏文件,所以不要做什么額外的工作。用
du -sh 文件名
可以查看文件的實際大小。也就是說,不管磁盤空間有多大,運行下面的指令沒有任何問題:
qemu-img create -f raw test.img 10000G
raw鏡像格式是虛擬機種I/O性能最好的一種格式,大家在使用時都會和raw進行參照,性能越接近raw的越好。但是raw沒有任何其他功能。對于稀疏文件的出現,像qcow這一類的運行時分配空間的鏡像就沒有任何優勢了。
2. cowcow格式和raw一樣簡單,也是創建時分配所有空間,但cow有一個bitmap表記錄當前哪些扇區被使用,所以cow可以使用增量鏡像,也就是說可以對其做外部快照。但cow也沒有其他功能,其特點就是簡單。
3. qcowqcow在cow的基礎上增加了動態增加文件大小的功能,并且支持加密,壓縮。qcow通過2級索引表來管理整個鏡像的空間分配,其中第二級的索引用了內存cache技術,需要查找動作,這方面導致性能的損失。qcow現在基本不用,一方面其優化和功能沒有qcow2好,另一方面,讀寫性能又沒有cow和raw好。
4. qcow2qcow2是集各種技術為一體的超級鏡像格式,支持內部快照,加密,壓縮等一系列功能,訪問性能也在不斷提高。但qcow2的問題就是過于臃腫,把什么功能都集于一身。
新聞熱點
疑難解答