2012年9月22日 星期六

QEMU 差異硬碟之應用

qcow2 是 QEMU 開源碼專案 所提供的 "隨需擴增" 的虛擬硬碟格式, 它在應用上新增 "差異硬碟(Copy On Write)" 功能, 使你可產生一個 Base image, 給許多虛擬電腦同時共用, 各個虛擬電腦差異的部分, 存在各自的 ''差異硬碟檔'' 中, 這對於虛擬電腦的硬碟檔總量大小來說, 可節省不少空間. 在實作環境 ''差異硬碟'' 比較適合用在 "多台小量差異的 GuestOS" 上,如果同時有多部差異較大的系統運作, 要去比對差異, 這勢必會造成系統效能降低, 應用在正式的虛擬伺服器上,建議還是使用專用虛擬硬碟.

Vyatta System software 是一份完整的、立即可用的、基於 Debian 的發行套件,它被設計為能將一套標準的 x86 電腦轉換為企業級的路由器/防火牆。

以下就以 Vyatta 為例為你說明, 如何使用 "QEMU 差異硬碟檔"

1. 下載 Vyatta Live CD 光碟安裝檔

   下載網址 : http://www.vyatta.org/downloads

2. 產生 Vyatta 所需的虛擬硬碟檔 (QCOW2 Base Image)

$ kvm-img create -f qcow2 vmdisk/vyatta64.qcow2 1G
Formatting 'vmdisk/vyatta64.qcow2', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536

3. 開始安裝 Vyatta 系統 (-boot d : 使用安裝光碟開機)

$ kvm -m 512 -hda vmdisk/vyatta64.qcow2 -cdrom ISO/vyatta-livecd-virt_VC6.4-2012.05.31_amd64.iso -boot d

[註] 登入帳號為 vyatta, 密碼為 vyatta

4. 產生另二部虛擬電腦所需的差異硬碟檔

$ kvm-img create -b vmdisk/vyatta64.qcow2 -f qcow2 vt01.qcow2
Formatting 'vt01.qcow2', fmt=qcow2 size=1073741824 backing_file='vmdisk/vyatta64.qcow2' encryption=off cluster_size=65536

$ kvm-img create -b vmdisk/vyatta64.qcow2 -f qcow2 vt02.qcow2
Formatting 'vt02.qcow2', fmt=qcow2 size=1073741824 backing_file='vmdisk/vyatta64.qcow2' encryption=off cluster_size=65536

5. 檢視 "差異硬碟檔" 資訊

$ kvm-img info vt01.qcow2
image: vt01.qcow2
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 136K
cluster_size: 65536
backing file: vmdisk/vyatta64.qcow2 (actual path: vmdisk/vyatta64.qcow2)

[註] vt01.qcow2 實際大小為 136k

6. 啟動二部 Vyatta 虛擬電腦

$ kvm -m 512 -hda vt01.qcow2 -boot c

$ kvm -m 512 -hda vt02.qcow2 -boot c

7. 設定 Vyatta 虛擬電腦的 TCP/IP 網路

$ config
 [edit]
# set interfaces ethernet eth0 address 192.168.122.5/24
# set system name-server 168.95.1.1
# set system gateway-address 192.168.122.1
# commit
[edit]
# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
# exit

$ sudo shutdown -h now


沒有留言:

張貼留言