2009年9月25日 星期五

向虛擬化出發(一) 之 選擇

虛擬化 (Virtualization) 正是現今紅得火熱題目,我當然亦十分感興趣,並計畫將虛擬化套用在現時公司的網絡環境…經過大半年的測試、系統整合、成本格價,小弟也累積了些少心得,在此跟大家交流一下…

什麼是虛擬化?用 google 找找吧…多到你一輩子也看不完…所以不多說了。由於小弟的工作環境是以 MS$ Windows為主,所以其他虛擬平台可能不適合使用,因此目前測試了 VMware ESX3iCitrix XenServer 5ProxmoxVE、不同Linux 平台下的 KVM 不同Linux 平台下的 XEN。以上可算是現今主流的虛擬平台。

VMware Citrix hyperviser free (需要定期索取License key),但其他功能卻是要收費的像Citrix Desktop XenApp…所以其實在 VMware Citrix 祇有 "Engine"可用和 KVM XEN 一樣。 而且也不知何時會取消 "Free"

ProxmoxVE VE Virtualization Environment即虛擬環境,內裡是 Debian Linux + KVM + Web GUI Management,在此我把它跟 KVM劃上等號。

撇除萬惡的金錢問題,清純地以效能作比較,小弟得出以下結果:

( 不同Linux 平台下的 XEN == Citrix XenServer ) > 不同Linux 平台下的 KVM > VMware ESX3i

若以產品完善比較,則是:

VMware ESX3i > Citrix XenServer > 不同Linux 平台下的 XEN > 不同Linux 平台下的 KVM

若以 效能 + 產品完善,Citrix 應該是不錯的選擇。但由於小弟成本所限,差不多大部分會用於購買硬件和 Windows XP RDL (Remote Desktop License) 。確實所剩無幾,所以用不起 Citrix solution。因此最後小弟選擇了 OpenSource XEN

由於 XEN必須運行於 Linux,所以要選擇哪一個 DistributionLinux。小弟測試了:CentOS 5.3Ubuntu 8.04 / 9.04OpenSUSE 11。以上均是擁有豐富的技術文獻和龐大的使用者群的 Distribution,對於不熟 Linux的我而言,大量的技術文章是先決條件。在選擇哪一個 Linux Distribution之前,先說說我要架成的 Linux Servers會簡單地如下圖:

架構圖說明:

我將整個 Server Side 架構簡單地分成三部分:

A Clients Network (我將會在稍後日誌詳細講述這部分)。

B XEN Server層,所用 XEN Server 會放於這一層,最少要兩張 LAN Card,分別連接 A C Switch。並使用 C 層所提供的 NFS 來儲存虛擬機器的影像檔案,以下簡稱:VM Image File

C HA - NFS 層,這層祇需要兩台 Linux Server來提供 Network File Service,利用 HeartBeat service 來提供 HA ( High-Availability) 功能。並且使用 DRBD (Distributed Replicated Block Device) 來將 NFS的硬盤同步。所以這部分預計最少要兩張 LAN Card,一張連接 B Switch,另一張則用 Cross Cable直接連接。

好了,現在回來我在架建以上系統時,在不同的 Linux Distribution曾經遇到的問題:

CentOS 5.3

問題一:無法安裝 Oracle Cluster File System 2.0 (已解決)

問題二:相對地太少文件講述 DRBD安裝方法。(已解決)

問題三:當HeartBeat 發生 FailOver時,不懂自動撤換 IP(已解決)

問題四:當HeartBeat 發生 FailOver時,不懂自動開啟虛擬機。(已解決)

問題五:在 XEN使用 QCOW2格式的影像檔。

Ubuntu 8.04 / 9.0

問題一:在 XEN中無法使用檔案式的虛擬機器。(已解決)

問題二:當br2 設於 eth0,而 eth0 dhcp時,當系統boot起時,無法自動啟用 br2 (已解決)

問題三:無法啟動 DRBD 服務。(已解決)

問題四:在 XEN使用 QCOW2格式的影像檔。

OpenSUSE 11

問題一:安裝了 HeartBeat 2.0後,當在 ha.cf 使用了 “crm yes” ,便自動重新啟動。

問題二:當兩台 XEN VM在做 Live Migration完成後,該 VM會便成 passed / hanged狀態。

最後我選擇了 CentOS 5.3,因為 Ubuntu比較 Advance,對於不熟 Linux的我而言,CentOS比較合適。

沒有留言:

張貼留言