[[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]