KVM虛擬機差量生產鏡像測試windows
1. 結論centos
後備鏡像差量生成虛擬機的方式能夠快速的產生大量的虛擬機,節省磁盤空間,在生產環境中有很是重要的意義。通過測試,對後備鏡像的讀壓力很是小,系統壓力主要在差量鏡像的寫壓力,使用的時候,爲了取得良好效果,應將後備鏡像和差量鏡像分散到不一樣的物理硬盤上,並保證鏡像的安全性。安全
2. 後備鏡像差量生成虛擬機(backing_file)功能說明ide
後備鏡像差量生成虛擬機是指多臺虛擬機共用一個後備鏡像,每一個虛擬機根據須要,若是是讀操做,讀取鏡像,若是是寫操做,才寫入本身的鏡像文件,相似快照的copy on write機制。後備鏡像能夠是raw和qcow2格式,差量鏡像只能是qcow2格式。測試
3. 使用差量方式的好處:操作系統
1) 快速生成虛擬機鏡像,經過一條命令,瞬間生成虛擬機鏡像。orm
2) 節省磁盤空間,多臺虛擬機公用一個後備鏡像,節省大量空間。server
4. 使用差量方式的風險blog
1) 多臺虛擬機啓動的時候,io壓力很是大,尤爲是第一次啓動的時候。內存
2) 對後備鏡像安全性要求很是高。
5. 測試環境
硬件
聯想R510G7
cpu Intel(R) Xeon(R) CPU E5506 @ 2.13GHz
內存 8G
硬盤 sas 146Gx2 raid0 x2
軟件 centos 6.3 kernel 2.6.32-279.19.1.el6.x86_64
6. 測試方法
生成差量鏡像的命令,-b參數是指後備鏡像,若是生成的鏡像和後備鏡像不在同一個目錄,注意要使用絕對路徑,不然虛擬機不能啓動。
qemu-img create -f qcow2 /datapool/w2k3-test-04 -b /data/win2003ent32chs
測試的時候,編寫了一個腳本,不停的產生差量鏡像,啓動虛擬機,5分鐘後關閉虛擬機、刪除虛擬機、在產生鏡像,經過cacti監控平臺觀察磁盤的io壓力。
7. 測試結果
1) 不一樣操做系統第一次啓動後,佔用的空間大小
系統 |
空間 |
Windows server 2003 |
44M |
Windows server 2008 |
85M |
Centos5.6 |
18M |
Centos6.2 |
11M |
2) 壓力測試
將後備鏡像和差量鏡像放置到同一硬盤或者raid組,發現磁盤的讀寫io很是高,幾臺windows server 2003虛擬機同時啓動,啓動到第三臺虛擬機就會藍屏。這種測試方法也不能測試具體的後備鏡像和差量鏡像的讀寫壓力,因此將後備鏡像和差量鏡像分開到不一樣的raid組上進行測試。
Windows server 2003系統一臺虛擬機重複循環刪除、生成、啓動的時候,系統的io壓力。
datavg-datapool是放置差量鏡像的lv,能夠看到寫的壓力很是大,data-p_w_picpaths是放置後備鏡像的lv,能夠看到主要壓力是讀壓力,很是小,不到一個iops。
Windows server 2003系統十臺臺虛擬機重複循環刪除、生成、啓動的時候,系統的io壓力。
datavg-datapool是放置差量鏡像的lv,能夠看到寫的壓力很是大,平均600多iops,最高到5000多iops.
data-p_w_picpaths是放置後備鏡像的lv,能夠看到主要壓力是讀壓力,很是小,不到3 iops。
3) 破壞性測試
模擬後備鏡像遭到破壞的情景,正在運行的虛擬機不會當即死機,沒有啓動的虛擬機啓動過程當中會藍屏。
8. 將差量鏡像轉化成普通鏡像,
使用qemu-img convert
轉換差量w2k3-test-01爲普通鏡像w2k3-test-01-10,格式爲qcow2
qemu-img convert -f qcow2 -O qcow2 w2k3-test-01 w2k3-test-01-10
qemu-img info w2k3-test-01
p_w_picpath: w2k3-test-01
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 122M
cluster_size: 65536
backing file: /data/win2003ent32chs
qemu-img info w2k3-test-01-10
p_w_picpath: w2k3-test-01-10
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 3.3G
cluster_size: 65536
9. 更換鏡像的後備鏡像
-u 參數非安全方式,只是更換鏡像
不帶參數-u,會比較舊的後備鏡像和新的後備鏡像的差別,以新的鏡像爲準
qemu-img rebase -u -b w2k3-test-01-10 w2k3-test-01
qemu-img info w2k3-test-01
p_w_picpath: w2k3-test-01
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 122M
cluster_size: 65536
backing file: w2k3-test-01-10