2009年9月25日 星期五

向虛擬化出發(三) — 設定XEN與虛擬機設定

在 CentOS 5.3安裝 XEN 是很簡單的,其實也沒什麼好說,祇要在選擇套件時,選取 Virtualization,即可。由於我的真實環境下的 XEN servers是要有多張網卡來使VM連上不同 Network,而且我要使XEN Servers的 VMs 可進行Live Migration,所以當CentOS安裝完畢後,需要把 /etc/xen/xend-config.sxp編輯。其中幾行必須留意:



(xend-relocation-server yes)

(xend-relocation-port 8002)

(xend-relocation-address ‘’)

#(xend-relocation-hosts-allow ‘^localhost$ ^locahost\\.localdomain$’)

(xend-relocation-hosts-allow ‘’)

#(network-script. network-bridge)

(network-script. my-network-script)



由於預設的 XEN設定檔,並不支援多網卡的,所以我需要自行編寫 script來使它支援多網卡。請建立新檔:/etc/xen/script/my-network-script

#!/bin/bash

dir=$(dirname “$0”)

“$dir/network-bridge” “$@” vifnum=0 netdev=eth0 bridge=mybr0

“$dir/network-bridge” “$@” vifnum=1 netdev=eth1 bridge=mybr1

“$dir/network-bridge” “$@” vifnum=2 netdev=eth2 bridge=mybr2



上述文件,正是告訴系統張一塊真實網卡(ethx),延伸到橋接界面 (mybrx) 。



當編輯好上述兩個設定檔後,請重新啟動你的機器。


Bounding a network interface

在一些特殊情況,一塊 1Gbps網卡可能未能應付多個 VM所需要用到的網絡傳輸。這時,要考慮將網卡進行Bounding或者 Terming。其意思即是將多塊網卡合成為一張虛擬網卡。



列出所有橋接界面:

#brctl show



刪除橋接界面:

#brctl delif br0 peth0

#brctl delbr br0



建立橋接界面:

#brctl addbr br0

#brctl addif br0 peth0 peth1 peth2

#ifconfig br0 up



但必須留意的是,由於將多張網卡bounding這個動作,是 software 級別所達成,故此有理由想信這個動作會加大 CPU的 Loading。



虛擬機器的檔案

如何建立虛擬機器的話題,不會在此講解了,自行找找吧…我反而要再三提醒大家的是,必須將虛擬機器的設定檔和虛擬機器的硬盤影像檔,均儲存在上一篇 向虛擬化出發(二) — 實現 HA-NFS 所述的 NFS路徑中。除此之外,在虛擬機器的設定檔中的 UUID一定不可發生衝突,否則 XEN會 hang up而且該虛擬機器怎樣也移除不了,即使 destroy它也 destroy不了。故此一定不可發生衝突。建議使用 virt-clone來將第一個元早的虛擬機複製,一來它比copy快,二來它會自動產生 UUID可避免衝突問題。



使用 virt-clone複製虛擬機器

#virt-clone -–original SourceVM.hvm -–name NewVM.hvm -–file /DRBD/NewVM.disk.img

沒有留言:

張貼留言