什麼是虛擬化?用 google 找找吧…多到你一輩子也看不完…所以不多說了。由於小弟的工作環境是以 MS$ Windows為主,所以其他虛擬平台可能不適合使用,因此目前測試了 VMware ESX3i、Citrix XenServer 5、ProxmoxVE、不同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,所以要選擇哪一個 Distribution的Linux。小弟測試了:CentOS 5.3、Ubuntu 8.04 / 9.04和OpenSUSE 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狀態。
沒有留言:
張貼留言