哪種圖像格式更好,raw 或 qcow2,可用作其他 VM 的基本圖像?
我正在使用基本映像並基於它創建許多虛擬機。現在我想知道哪個更好,qcow2 或 raw 用於基本圖像。此外,你能告訴我使用這個baseimage的東西是否有什麼好處,而不是複製整個磁碟。速度可能是一個因素,但就效率而言,使用基本映像然後使用該基本映像創建 VM 有什麼問題嗎?
編輯1:
我做了一些實驗,得到了
第一個是當 baseimage 和 overlay 都是 qcow2 時。第二,當 baseimage 是 raw 但覆蓋是 qcow2 並且在第三種情況下,我為每個 VM 提供單獨的 raw 磁碟映像。令人驚訝的是,與其他兩種情況相比,最後一種情況效率更高。
實驗裝置: 基本映像中的作業系統:Ubuntu Server 14.04 64 位。 主機作業系統:Ubuntu 12.04 64bit 記憶體:8GB 處理器:Intel® Core™ i5-4440 CPU @ 3.10GHz × 4 磁碟:500 GB
在 x 軸上:同時啟動的 VM 數量。從 1 開始,遞增到 15。
在 y 軸上:啟動“x”台機器的總時間。
從圖中可以看出,將完整磁碟映像提供給 VM 似乎比其他 2 種方法更有效。
編輯2:
這適用於我們為每個 VM 提供單獨的原始圖像的情況。完成記憶體刷新後,這是圖表。它幾乎類似於原始 baseimage + qcow 覆蓋。
謝謝。
對於您的特定案例(基本圖像 + qcow2 覆蓋),應該首選 RAW 格式:
- **它更快:**因為它沒有關聯的元數據,所以它盡可能快。另一方面,Qcow2 有兩層間接,必須先越過才能命中實際數據
- 由於覆蓋層必須是 Qcow2 文件,因此您不會失去一直有用的快照功能(RAW 圖像本身不支持快照)
基本映像 + qcow2 覆蓋與多個完整副本之間的選擇取決於您的優先級:
- 為了獲得絕對的性能,請使用 fallocated RAW 圖像。這樣做的缺點是不支持快照,在大多數環境中付出的代價太高
- 為了靈活性和空間效率,請使用 RAW 基本圖像 + Qcow2 疊加層。
無論如何,我發現 Qcow2 文件有些脆弱。
對於我的生產 KVM 管理程序,我基本上使用兩種不同的設置:
- 其中性能是 #1 我使用直接附加到虛擬機的 LVM 卷,並且我使用 LVM 快照功能進行一致的備份
- 我可以犧牲一些性能來提高靈活性,我使用單個大型 LVM Thin Provisioned Volume + XFS + RAW 圖像
另一種可能性是使用普通的 LVM 卷 + XFS + RAW 圖像。唯一的缺點是普通(非精簡)LVM 快照非常慢,對繁忙的普通 LVM 捲進行快照會降低性能(在快照的生命週期內)。無論如何,如果您打算只使用零星的快照,這可能是更簡單、更安全的選擇。
一些參考資料:
和 RHEL 6.1 上的 Qcow2 預分配和Red Hat Enterprise Linux 6.2 LVM 精簡卷