Kvm-Virtualization

哪種圖像格式更好,raw 或 qcow2,可用作其他 VM 的基本圖像?

  • January 30, 2016

我正在使用基本映像並基於它創建許多虛擬機。現在我想知道哪個更好,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 格式:

  1. **它更快:**因為它沒有關聯的元數據,所以它盡可能快。另一方面,Qcow2 有兩層間接,必須先越過才能命中實際數據
  2. 由於覆蓋層必須是 Qcow2 文件,因此您不會失去一直有用的快照功能(RAW 圖像本身不支持快照)

基本映像 + qcow2 覆蓋與多個完整副本之間的選擇取決於您的優先級:

  1. 為了獲得絕對的性能,請使用 fallocated RAW 圖像。這樣做的缺點是不支持快照,在大多數環境中付出的代價太高
  2. 為了靈活性和空間效率,請使用 RAW 基本圖像 + Qcow2 疊加層。

無論如何,我發現 Qcow2 文件有些脆弱。

對於我的生產 KVM 管理程序,我基本上使用兩種不同的設置:

  1. 其中性能是 #1 我使用直接附加到虛擬機的 LVM 卷,並且我使用 LVM 快照功能進行一致的備份
  2. 我可以犧牲一些性能來提高靈活性,我使用單個大型 LVM Thin Provisioned Volume + XFS + RAW 圖像

另一種可能性是使用普通的 LVM 卷 + XFS + RAW 圖像。唯一的缺點是普通(非精簡)LVM 快照非常慢,對繁忙的普通 LVM 捲進行快照會降低性能(在快照的生命週期內)。無論如何,如果您打算只使用零星的快照,這可能是更簡單、更安全的選擇。

一些參考資料:

RHEL 6 KVM 儲存性能上的 KVM I/O 緩慢

和 RHEL 6.1 上的 Qcow2 預分配和Red Hat Enterprise Linux 6.2 LVM 精簡卷

上的 Fedora 16 KVM 儲存性能和記憶體設置解釋

引用自:https://serverfault.com/questions/677639