1. 程式人生 > >kvm快速創建虛擬機

kvm快速創建虛擬機

公司 img 文件大小 lvm 寫到 虛擬機啟動 們的 一個 commit

當創建的虛擬機越來越多,並且你發現好多虛擬機都是同一個操作系統,它們的區別就是安裝的軟件不大一樣,那麽你肯定會希望把他們公共的部分提取出來,只保存那些與公共部分不同的東西,這樣鏡像大小下去了,空間變多了,管理也方便了。派生鏡像就是用來幹這事的!

在這裏用派生鏡像來創建虛擬機.

首先我們創建一個虛擬機,此虛擬機鏡像(web01.img)將會作為基鏡像,供其派生.

查看此鏡像文件格式及鏡像大小

[root@kvm images]# qemu-img info web01.img

image: web01.img

file format: raw

virtual size: 8.0G (8589934592 bytes)

disk size: 8.0G

提示:Virtual是指鏡像文件大小,而disk 是實際占用磁盤的大小

創建一個鏡像文件,並且指定其後端文件為web01.img,這就是我們所說的派生.

[root@kvm images]# qemu-img create -f qcow2web01_01.qcow2 -o backing_file=web01.img 10G

Formatting ‘web01_01.qcow2‘, fmt=qcow2size=10737418240 backing_file=‘web01.img‘ encryption=off cluster_size=65536

意指我們派生的鏡像可以額外使用(10-8)G的空間來存放數據啊.奇怪的是我們進入系統發現和母板分區大小一致啊,那多出來的呢?別急,這需要我們使用fdisk/mount工具將擴展的2G掛載到指定的目錄下。

[root@kvm images]# qemu-img infoweb01_01.qcow2

image: web01_01.qcow2

file format: qcow2

virtual size: 10G (10737418240 bytes)

disk size: 136K

cluster_size: 65536

backing file: web01.img

這個鏡像才136K,但實際可用大小是10G

現在我們將它啟動起來

[root@kvm images]# qemu-kvm -m 2048 -smp 2-hda web01_01.qcow2 -vnc :2

我們通過vncview軟件連接到vnc的5902端口上.

但我一般不這樣使用。我采用的是

Virt-manager添加虛擬機啟動起來,操作步驟就如創建虛擬機一樣.前提是你的CPU和內存值要與你的基類一致。我的基鏡像cpu:2和mem:2048.

註意,我們在此虛擬機上的所有操作都不會寫到後端鏡像web01.img文件中,除非我們執行qemu-img commit web01_01.qcow2,才會將數據寫到後端鏡像文件中.

是不是我們想創建多少個虛擬機就能創建多少個呢?

答案是在存儲滿足的條件下是可以的.

我們再來創建一個

[root@kvm images]# qemu-img create -f qcow2web01_02.qcow2 -o backing_file=web01.img 15G

Formatting ‘web01_02.qcow2‘, fmt=qcow2size=16106127360 backing_file=‘web01.img‘ encryption=off cluster_size=65536

把它啟動起來.

[root@kvm images]# qemu-kvm -m 2048 -smp 2-hda web01_02.qcow2 -vnc :3

這像不像我在web01.img這個基類上派生了兩個虛擬機,當然,我們還可以派生更多。而且虛擬機和虛擬機之間毛的關系都沒有,所以隨便玩.如果公司需要一個類似這樣的實驗環境,我想這個技巧很不錯吧。它既不需要lvm,也不需要虛擬機clone所花費的時間。

kvm快速創建虛擬機