:::

學校實驗室的伺服器虛擬化方案評比(三):綜合比較

5BE1364F-74A0-9288-304C-124E9DD7732Awallpaper

經過前面個別測試安裝六個伺服器虛擬化方案之後,接下來我先綜合比較各個方案的功能,再來決定要選擇哪個方案。



綜合比較

由於評比的時間並不長、使用的功能也沒有很完整地評估,在此我只看成本、虛擬化技術、安裝、管理介面安裝、管理介面操作、虛擬機器網路、虛擬裝置支援等七個面向。

成本

由於我是先以免費或開放原始碼方案來挑選,所以這七個方案基本上都可以免費取得。

其中,下載、安裝之後可以自由使用的是OpenNode、Proxmox VE。它們都是開放原始碼軟體,各基於不同的Linxu發佈版整合而成。

Oracle VM也是可以免費取得、安裝,應該也是不需要輸入認證序號就能使用。

VirtualBox也有OSE(開放原始碼版本),但通常大家用的都是具有VRDP跟USB 2.0支援的普通版本,在商業使用上需要收費,個人及教育用途則沒有任何限制。

VMware ESXi跟Citrix XenServer都要申請免費的序號。其中XenServer每年都要申請一次;ESXi只要輸入一次序號就可以永久使用,但輸入序號後就從60天評估版降低到免費版,功能有所縮減。

虛擬化技術

這幾個伺服器虛擬化方案往往整合了多種虛擬化技術,以因應不同的虛擬化需求。然而,在沒有VT-x / AMD-V硬體虛擬化技術的輔助下,各方案可以支援客端電腦就有很大的差別。

即使沒有VT-x / AMD-V也能進行全虛擬化的VirtualBox以及半虛擬化技術的VMware ESXi(感謝網友指正,關於全虛擬與半虛擬技術詳細可以參考TKG的說明)都可以安裝Windows作業系統,可以支援大多數的作業系統。其中,ESXi是空機安裝特製的伺服器,比起VirtualBox容易受到主端電腦作業系統影響,ESXi的效率較高。

沒有VT-x / AMD-V輔助,只能使用半虛擬化的方案為Citrix XenServer、Oracle VM。在半虛擬化的限制之下,客端電腦也僅能安裝特定版本的Linux而已,而且通常搭配要安裝修改核心的工具才能發揮客端電腦的真正效能。儘管如此,效能還是比全虛擬化還要高些。

OpenVZ技術的容器虛擬化不需要VT-x / AMD-V的輔助,OpenNode、Proxmox這兩個方案也只能製作特定版本的Linux客端電腦。效能運作較高,從虛擬裝置/樣板建立虛擬機器的手續也相當簡單。

反過來說,如果實體機器有VT-x / AMD-V技術支援的話,那麼採用Xen與KVM技術的方案就可以使用全虛擬化,全部就都能安裝Windows作業系統,因此虛擬化技術的差異就不是很大了。

安裝

空機安裝是建立虛擬電腦伺服器的最佳方案,你可以讓主端電腦能夠在預先配置好的最佳狀態中執行虛擬機器。提供空機安裝的方案有VMware ESXi、Citrix XenServer、OpenNode、Proxmox VE、Oracle VM。

大部分的方案也同時提供安裝檔供人安裝於特定作業系統中,VirtualBox是了個人用的桌面虛擬化應用程式,因此僅有提供安裝檔,可以安裝於Windows與多數Linux中。但是由於安裝VirtualBox之前,必須要先準備好作業系統才能安裝Virtual,配置上比較麻煩。

管理介面安裝

一般來說,管理虛擬機器的工作都不會在本機的電腦螢幕上進行,而是由遠端的電腦(通常是Windows作業系統)來管理。各方案的管理介面都有所不同,光是在安裝、配置管理介面的方式,就有很大的差異。

安裝完虛擬機器軟體之後,就能從瀏覽器直接啟用是最簡單的作法,這是Proxmox VE的特色。

安裝完虛擬機器之後,需要再安裝額外的客戶端管理程式。Citrix XenServer、VMware ESXi跟VirtualBox都是如此。其中VirtualBox的遠端管理程式是裝在伺服器上的網站系統phpVritualBox,比起前兩者的Windows安裝精靈來說安裝起來更複雜。

為了能達到進階的管理,許多方案採用建立獨立管理伺服器的方式。你可以將管理伺服器建置成虛擬機器,不過要注意到管理伺服器的硬體要求通常不低。OpenNode跟OracleVM都要建立管理伺服器,才能讓管理者遠端控制虛擬機器。其中我在OracleVM的管理伺服器時失敗了,也無從評估OracleVM的使用細節。

管理介面操作

好的管理介面能夠控制主端電腦的開關機與網路、控制虛擬機器的建立與設定、以及各種效能的監控。更重要的是,操作起來也要流暢。VMware ESXi、Citrix XenServer與Proxmox VE都有達到基本的要求。其中Proxmox VE的操作方式與前兩者有很大的差異,但是至少操作上都沒什麼問題,整合度也相當高。

相反地,VirtualBox的phpVirtualBox與OpenNode的OMS操作起來十分不流暢,OracleVM管理伺服器建置失敗,因此都不合格。

虛擬機器網路

本來我以為各種虛擬化方案都會提供NAT模式,但事實上似乎只有個人用的桌面虛擬化應用才會有這樣的功能。

在這次評比的方案中,只有VirtualBox有提供NAT與各種常見的網路模式,其他五個方案都只有虛擬內部網路與橋接模式。

虛擬裝置 / 樣板支援

有時候我們建立虛擬機器的目的只是為了架一些常見的網站,像是WordPress、Joomla、DSpace(這在我們實驗室還蠻常見的),而不是真的想要搞一台Linux主機或Windows主機讓你慢慢設定、調整。

虛擬裝置 / 樣板的應用,可以讓你快速建立起需要的虛擬機器。其中虛擬裝置支援數量最多的應該就是普遍受到市場歡迎的VMware系列,雖然我不清楚是不是ESXi也可以使用,但應該是可以吧?而VirtualBox兼容VMware的虛擬機器,所以一樣可以使用VMware的虛擬裝置。

如果是要求簡單、高效率的虛擬裝置,Proxomox也提供了一系列各種網站的虛擬裝置可供下載取用,而且安裝也是十分方便。

OpenNode也有OpenVZ提供的Linux樣板,可以建立各種Linux發佈版,但是空空的作業系統還是不如已經有內建特定應用的虛擬裝置來得方便。

Citrix XenServer跟Oracle VM也有樣板,但是我並沒有成功使用過,因此評語保留。


最終決定

經過以上考量之後,最後我選擇的是Proxmox VE。選擇的理由是基於以下幾點:

  • 適合舊硬體:老舊伺服器只有記憶體2G、硬碟空間256GB,不適合安裝需要吃太多資源的Windows,還是建立Linux虛擬機器拿來架架網站即可。
  • 簡單高效率:Proxmox VE整合度相當高、操作步驟簡單、OpenVZ可以動態調整虛擬機器的資源。
  • 快速建置:當有人需要快速建立常見的網站時,Proxmox VE是最簡單的選擇。

其他議題

預設網路環境有NAT路由器比較好

經過這次比較之後,我發現大多數的伺服器虛擬化方案都需要直接配給IP。然而考量到高可用、負載平衡等機制的需求上,我想他們應該都是配置在一個內部網路中,以DHCP配置內部IP、透過NAT路由器來連線。

原本我這邊的網路環境是要配給獨立的公開IP,但經過這次架設的經驗之後,我也想用pfSense架一個NAT路由器了。

管理介面的安全性

管理虛擬機器時大多都是在遠端電腦進行,但這個遠端電腦可不能毫無限制地讓任何電腦都可以連線,我們可不希望有莫名其妙的人嘗試連線到虛擬機器搞破壞。

雖然管理介面都有帳號與密碼的認證機制,但這只是防君子不防小人,真的有心的駭客可以用暴力法猜測密碼,帳號密碼被猜到的可能性依然存在。

最好的方法還是限定內部網路或特定IP能夠連線到虛擬機器伺服器進行管理,防止不認識的電腦嘗試登入,這樣就能大幅提高安全性。

大部分防火牆都能做到這種限制,例如iptables。有些基於Linux的方案,例如OpenNode,就能夠安裝iptables來提高安全性。其他的方案能不能做到,則還需要謹慎的評估。


結語

終於寫完啦!粗淺的評估提供給他人的價值不多,但是對自己來說,這是學習虛擬化技術的一個成果交代。

然後,就繼續鑽研吧。

題外話,我好想要一台有VT-x / AMD-V的伺服器啊……

總共17 則留言 ( 我要發問 , 隱藏留言 顯示留言 )

  1. 回覆刪除
  2. 回覆刪除
  3. 回覆刪除
  4. 回覆刪除
  5. 回覆刪除
  6. 回覆刪除
  7. 回覆刪除
  8. 回覆刪除
  9. 回覆刪除
  10. 回覆刪除
  11. 回覆刪除
  12. 回覆刪除
  13. 回覆刪除
  14. 回覆刪除
  15. 回覆刪除