歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> KVM虛擬機差量生產鏡像測試

KVM虛擬機差量生產鏡像測試

日期:2017/2/27 16:01:50   编辑:Linux教程

1. 結論

後備鏡像差量生成虛擬機的方式可以快速的產生大量的虛擬機,節省磁盤空間,在生產環境中有非常重要的意義。經過測試,對後備鏡像的讀壓力非常小,系 統壓力主要在差量鏡像的寫壓力,使用的時候,為了取得良好效果,應將後備鏡像和差量鏡像分散到不同的物理硬盤上,並保證鏡像的安全性。

2. 後備鏡像差量生成虛擬機(backing_file)功能說明

後備鏡像差量生成虛擬機是指多台虛擬機共用一個後備鏡像,每個虛擬機根據需要,如果是讀操作,讀取鏡像,如果是寫操作,才寫入自己的鏡像文件,類似快照的copy on write機制。後備鏡像可以是raw和qcow2格式,差量鏡像只能是qcow2格式。

3. 使用差量方式的好處:

1) 快速生成虛擬機鏡像,通過一條命令,瞬間生成虛擬機鏡像。

2) 節省磁盤空間,多台虛擬機公用一個後備鏡像,節省大量空間。

4. 使用差量方式的風險

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壓力。

image

image

datavg-datapool是放置差量鏡像的lv,可以看到寫的壓力非常大,data-images是放置後備鏡像的lv,可以看到主要壓力是讀壓力,非常小,不到一個iops。

Windows server 2003系統十台台虛擬機重復循環刪除、生成、啟動的時候,系統的io壓力。

image

image

datavg-datapool是放置差量鏡像的lv,可以看到寫的壓力非常大,平均600多iops,最高到5000多iops.

data-images是放置後備鏡像的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

image: 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

image: 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
image: w2k3-test-01
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 122M
cluster_size: 65536
backing file: w2k3-test-01-10

Copyright © Linux教程網 All Rights Reserved