raw,cow,qcow,qcow2映象的比較

2022-08-18 05:54:13 字數 994 閱讀 7963

最近在研究虛擬機器的映象格式,就寫個筆記記錄一下這些東東。

在linux下,虛擬機器的選擇方式有很多,比如vmware for linux,virtual box,還有qemu,在以前,使用qemu的人不多,主要是使用起來有些麻煩,但現在隨著openstack的興起,qemu也得到了很大的發展,現在在fedora下使用qemu+kvm效能還是很好的,如果再加上spice,就更不錯了。但今天還是主要講講qemu下使用的幾種映象格式吧!

raw格式是最簡單,什麼都沒有,所以叫raw格式。連標頭檔案都沒有,就是乙個直接給虛擬機器進行讀寫的檔案。raw不支援動態增長空間,必須一開始就指定空間大小。所以相當的耗費磁碟空間。但是對於支援稀疏檔案的檔案系統(如ext4)而言,這方面並不突出。ext4下預設建立的檔案就是稀疏檔案,所以不要做什麼額外的工作。用

du -sh 檔名

可以檢視檔案的實際大小。也就是說,不管磁碟空間有多大,執行下面的指令沒有任何問題:

qemu-img create -f raw test.img 10000g

raw映象格式是虛擬機器種i/o效能最好的一種格式,大家在使用時都會和raw進行參照,效能越接近raw的越好。但是raw沒有任何其他功能。對於稀疏檔案的出現,像qcow這一類的執行時分配空間的映象就沒有任何優勢了。

cow格式和raw一樣簡單,也是建立時分配所有空間,但cow有乙個bitmap表記錄當前哪些扇區被使用,所以cow可以使用增量映象,也就是說可以對其做外部快照。但cow也沒有其他功能,其特點就是簡單。

qcow在cow的基礎上增加了動態增加檔案大小的功能,並且支援加密,壓縮。qcow通過2級索引表來管理整個映象的空間分配,其中第二級的索引用了記憶體cache技術,需要查詢動作,這方面導致效能的損失。qcow現在基本不用,一方面其優化和功能沒有qcow2好,另一方面,讀寫效能又沒有cow和raw好。

qcow2是集各種技術為一體的超級映象格式,支援內部快照,加密,壓縮等一系列功能,訪問效能也在不斷提高。但qcow2的問題就是過於臃腫,把什麼功能都集於一身。

轉 A2W W2A T2A T2W 等巨集

如果你覺得使用 widechartomultibyte,multibytetowidechar 等函式比較麻煩 眾多的引數,緩衝區的分配與銷毀等。那麼可以使用 a2w w2a t2a t2w 等巨集來代替,它們對上面兩個函式進行了封裝。在使用這些巨集之前,應該包含標頭檔案 atlconv.h 並在呼...

2 基礎控制項2

transform 的預設值為 1,0,0,1,0,0 nslog nsstringfrom 可以列印其他型別的 比如類 affine transform a ffine transform 的初始化為 make make 只能改變一次 不可重複改變 如果想要重複改變 則使用去掉 make 的方法t...

什麼是P2P,O2O,B2B,B2C,C2C模式

最近網際網路行業各種to的模式搞得人暈頭轉向,我也是在這整理一下,防止在聽別人裝b的時候對答不流 p2p peer to peer 對等網路 可以簡單的定義成通過直接交換來共享計算機資源和服務,而對等計算模型應用層形成的網路通常稱為對等網路。在p2p網路環境中,成千上萬臺彼此連線的計算機都處於對等的...