[[PageOutline]] {{{ #!html

DRBL-Virtualization (drbl-virt)

}}} ---- = 【想法】 = * DRBL 本身就是一套叢集佈署軟體 (Cluster deployment tools),drbl-virt 則是是一個 DRBL 的模組,可在原有的 DRBL 環境上建置'''虛擬化環境''' * 竟然 DRBL 可用來佈署'''實體機器''',何不利用其特性來佈署'''虛擬機器'''呢 * [http://code.google.com/p/drbl-virt/ drbl-virt 官網 (Google code)] [[Image(DRBL_drbl-virt_2.png,width=600)]] ---- = 【功能】 = == [系統層] == * Hypervisior(Xen, KVM, VirtualBox...) 安裝 * Patch DRBL to support virtualization == [虛擬資源層] == * VM 產生類型 * Diskless VM * 若 Client 使用 local HD,則可以產生 Image-based 的 VM == [管理層] == * 實體機器管理 * 虛擬機器管理 * [wiki:drbl-virt/shell_manage shell 管理圖片] * [wiki:drbl-virt/web_manage web 管理圖片] ---- = 【Roadmap】 = * 2009/08/31 初版發佈 (目前僅支援 Debian lenny 和 Xen) * 2009/09/31 減少安裝程序的詢問步驟 * 2009/10/31 整合 KVM * 2009/11/31 新增網頁介面 ---- = 【架構圖】 = == [安裝流程圖] == [[Image(drbl-virt install procedure.png,width=500)]] == [網頁流程圖] == [[Image(drbl_vm.jsp.png,width=500)]] ---- = 【問題碎碎念】 = * '''drbl_bridge_kvm_patch''':再開機時產生 bridge (br0) 之後會遇到找不到 NFS server,而產生 kernel panic。但產生的 bridge 若名稱為 bridge (eth0) 則可以正常運作。 * 猜測掛載 NFS 時只會使用正常名稱的網路設備 eth (而非 br0) * '''drbl_PXE_KVM-VM_deploy''':再 deploy KVM VM 時網路會有一小段時間中斷,dmesg 時會出現 bridge 設備的相關訊息(浸入混亂模式...等等)。 * 但有趣的是同樣是用 bridge 方式的 Xen VM,卻不會有其狀況,可能狀況是 KVM 額外用的 tap 機制會先 down 原來的網路設備再 bridge 過去,導致短暫時間的網路中斷,或許可以朝 KVM 的 tap 運作這方向研究一下。 {{{ #!sh [ 3094.923757] device tap1 entered promiscuous mode [ 3094.923757] eth0: port 3(tap1) entering learning state [ 3094.923759] eth0: topology change detected, propagating [ 3094.923812] eth0: port 3(tap1) entering forwarding state [ 3111.080606] tap1: no IPv6 routers present [ 3177.729006] eth0: port 3(tap1) entering disabled state [ 3177.741005] device tap1 left promiscuous mode [ 3177.741055] eth0: port 3(tap1) entering disabled state [ 3247.704954] nfs: server 192.168.0.254 not responding, still trying [ 3247.716962] nfs: server 192.168.0.254 not responding, still trying [ 3265.098977] nfs: server 192.168.0.254 OK [ 3265.098977] nfs: server 192.168.0.254 OK [ 3374.350940] device tap1 entered promiscuous mode [ 3374.350999] eth0: port 3(tap1) entering learning state [ 3374.354588] eth0: topology change detected, propagating [ 3374.354641] eth0: port 3(tap1) entering forwarding state [ 3390.236338] tap1: no IPv6 routers present [ 3459.817440] eth0: port 3(tap1) entering disabled state [ 3459.833495] device tap1 left promiscuous mode [ 3459.833544] eth0: port 3(tap1) entering disabled state [ 3516.902404] nfs: server 192.168.0.254 not responding, still trying [ 3531.835094] nfs: server 192.168.0.254 OK [ 3864.515775] device tap1 entered promiscuous mode [ 3864.515775] eth0: port 3(tap1) entering learning state [ 3864.516286] eth0: topology change detected, propagating [ 3864.516340] eth0: port 3(tap1) entering forwarding state [ 3880.818880] tap1: no IPv6 routers present [ 4188.100115] eth0: port 3(tap1) entering disabled state [ 4188.111312] device tap1 left promiscuous mode [ 4188.111361] eth0: port 3(tap1) entering disabled state [ 4259.250465] nfs: server 192.168.0.254 not responding, still trying [ 4259.262465] nfs: server 192.168.0.254 not responding, still trying [ 4278.774055] nfs: server 192.168.0.254 OK [ 4278.774055] nfs: server 192.168.0.254 OK }}} ---- = 【Reference】 = * [http://drbl.nchc.org.tw/ DRBL]