加入RUN!PC粉絲團
最近新增的精選文章
 
最多人點閱的精選文章
 
 
精選文章 - 網管資安
分享到Plurk
分享到FaceBook
 
開放源碼雲端管理工具
文/柳百郁 2010/11/8 上午 11:04:19

OpenSource社群因應雲端運算與基礎架構的需求,提供相當豐富的分支套件與應用程式專案,無論是雲端平台、Xen與KVM虛擬化的選擇到WebOS,我們該煩惱的只有──該選哪一個?因為在開放源碼的世界裡幾乎什麼功能的軟體都有,只是在這樣依各種需求、使用各類軟硬體所建立起來的雲端環境下,是否能有一個整合與管理的工具與界面,讓IT管理者有效管理、監控與維護這些各異雲端資源?
本文將就開放源碼社群裡,針對雲端所提供的管理工具說明,在這些工具的選擇上,主要以整合管理為訴求,IT環境很可能採用各式硬體與應用進行建置,而每種資源都各有其管理工具,在較深入的設定或管理上,固有軟體當然較能達成要求,但以全面性的觀點來看,IT管理者必須有工具能看到整個資源的狀態、可以針對各項資源作基本的調度與處理,並且能定期取得整合性的報告,以利在問題發生前或架構更動時,作出正確的決策。

ConVirt
這是一套企業級的開放源碼虛擬化管理工具。提供單一畫面讓使用者對資源佈署狀況一目瞭然,並提供自動化Xen與KVM及私有雲的佈署。Convirture為ConVirt 2.0提供Open Source與Enterprise兩種版本,這兩種版本皆提供以下三種資源池的概念:

1.資料中心
IT人員在管理資料中心時,常面臨「服務層級突飛猛進、IT 預算卻更加緊縮」的壓力。Convirt的目的就是用來管理虛擬化基礎架構。企業的IT環境下可能並存Xen與KVM的虛擬化,個別手動管理這些虛擬機器是相當瑣碎的。ConVirt集中監控與設定這些Xen與KVM的虛擬主機、管理虛擬化基礎架構並監控伺服器效能,在問題即將影響使用者前,馬上先行調整記憶體或CPU,甚至將機器遷移至另一個主機,此即為主動式管理。所有虛擬機器都整合在同一個畫面上,管理者即可輕鬆調度資源,因應企業不斷變動的服務需求。
透過標準化觀念,Convirt得以迅速建立內部雲並配相對應用。這在過去得花上好幾個小時、甚至好幾天,才能提供的客製化script虛擬機器。透過ConVirt只需要幾分鐘就能完成。能夠大量建立與配置的範本,包括共享的儲存裝置組態、網路設定與資源池配置。這種方式簡化了追蹤已佈署image、更新現有image,或確保所有image皆以共同標準編譯的工作。

2.私有雲
企業建置私有雲的動機多半是基於安全性。IT管理階層一開始想的可能是「私有雲模式是否會為IT成員帶來更多管理噩夢」,當接受私有雲概念後,則可能開始思考「能不能把現有的架構直接轉換到私有雲上」。ConVirt的設計便是盡可能簡化轉換成私有雲的程序,不但能處理已佈署的虛擬基礎架構,提供多承租(multi-tenant)架構充份的安全性、委派(delegated)控制、排程配置作業(provisioning)、資源控管與虛擬設備(appliance)分門別類,還提供基礎建置即服務 (IAAS;infrastructure-as-a-service),確保完全服務或資源的隔離,同時還能與共有政策相容。用戶端可以監控自已使用的資源,管理者也能彈性調度,無論是一開始的自動化建置、之後的擴建,以及最後不再需要使用的拆卸,ConVirt都能完全勝任。
此外,根據不同服務等級,分配用戶端的可用資源,更能確保效率,透過ConVirt對虛擬機器作HA(High Availability),讓因虛擬機器與實體機器失敗造成的服務中斷機率降到最低,即便不作HA,虛擬機器的優先性也是可以設定的,當好幾個應用在搶同一個資源時,可依照優先性進行分配,確保比較重要與關鍵的應用,得到更好的服務品質。
當然,備份與回復這種基本功能也是不可或缺,管理者可以針對用戶端、指定某個或某組應用程式,執行備份。

3.QA與測試實驗室
雖然ConVirt設計之初為了解決資料中心的需求,不過因為其template-based配置的特性,所以套用在QA與測試中心的環境上亦相當適用。
產品與服務的測試時間分秒必爭,不應該浪費在資源配置、環境佈署再打掉測試環境的這些工作上,透過Xen與KVM將測試環境虛擬化,省下來的時間就能專心在主要的測試上。
ConVirt本身就是開放源碼的軟體,若企業既有環境就是Open Source產物居多就更適用了,對想要節省成本的企業或公司行號而言,可以說是近乎零成本建置整個完整的虛擬化測試與QA實驗室基礎架構。


▲ 圖1 ConVirt提供單一畫面讓使用者對資源佈署狀況一目 瞭然。


OpenQRM
OpenQRM的定位是「開放源碼的資料中心管理平台」。提供彈性的插入式架構、功能完備,著眼於自動化、迅速回應與appliance-based的佈署,監控、高效能與雲端運算亦為特色,其特別之處乃在於支援多種虛擬化技術。
OpenQRM提供單一管理界面,可處理整個IT底層的架構,另提供完整定義的API,讓第三方便於整合自有工具,建立新的Plugin。


▲ 圖2 openQRM 4.6 Data-Center Dashboard。(圖片取自 SourceForge.net)

eyeOS
隨時隨地都能擁有熟悉的桌面環境,個人的文件、檔案、媒體與應用,統統在Web上! 此類直接以瀏覽器當作桌面環境的應用簡稱為WebOS,有相當多的廠商與社群提供,eysOS的特色是整合了辦公室套件與諸多應用程式,而不需要特別安裝agent或其它軟體,另外還提供完整框架(RIA Framework)以利開發人員研發新的網路應用。


▲ 圖3 RIA Framework。(圖片取自eyeos.org)


網路上可立即體驗:
[1.x]版,http://classic.my.eyeos.org/,2010/10註冊登入後,顯示的是1.9.0.1版,有可能因為用戶端作業系統版本與登入時間的不同,而有所更新。此版本在登入時可選擇使用繁體中文的界面,對台灣一般使用者來說較具吸引力。


▲ 圖4 登入eyeOS 1.x繁體中文界面。


[2.x]版,http://new.my.eyeos.org/,註冊時必須填入Email Address,但仍能當下註冊立即登入,界面與1.x版全然不同,亦無語系的選擇。


▲ 圖5 登入eyeOS 2.x畫面擷取。


SilveOS
WebOS之一,你也可以說它是WebTop或雲端電腦,和eysOS同樣是內嵌於瀏覽器裡的桌面環境,只是它建置在Silverlight架構下。一如其它WebOS的好處,使用者在家、在公司,甚至是在公眾場合的電腦上,都能馬上擁有熟悉的桌面,使用慣用軟體而不需要反覆執行安裝動作:因為所有東西都在雲端上了,使用者手邊的電腦不過是用來與遠端伺服器溝通的界面。
在Firefox與Chrome瀏覽器上,皆已提供SilveOS的擴充元件,但無論是在Linux或Windows下,皆需另外安裝Silverlight才能順利使用。如此盲點對Windows以外的使用者而言,其實並不算方便,且在該作業系統下使用的應用,亦需要Silverlight支援,此令軟體的選擇清單又大大的減少了。
XenseMaking
XenseMaking專案的目的是希望透過各種不同工具程式,可整合檢視雲端下的資源並管理之,但僅限於Xen的虛擬化架構,讓XenServer與Xen Cloud Platform的管理更簡單。
OpenXenManager(OpenXenCenter):XenCenter的開放源碼版。XenseMaking第一個專案是OpenXenCenter,也就是XenCenter的Linux版,基於法律上的理由它現在叫作OpenXenManager,且進階到支援Linux、Windows與MacOS X。此程式是由Python與pygtk寫成,安裝於用戶端,透過網路連結至XenServer主機,監控虛擬機器、存取虛擬機器Console、執行管理上的操作、建立虛擬機器等等。


▲ 圖6 OpenXenManager管理視窗(圖片取自OpenXenManager官網)。


XenWebManager:XenCenter的Web版。此乃XenseMaking繼XenCenter之後所研發的專案,功能即為透過Web管理XenServer或Xen Cloud Platform,其程式同樣以Python寫成、以Cherrypy為框架,唯一需要另外安裝的就是python2.4版以上的套件,而為了console存取,還要有java插件的瀏覽器(或HTML5也行)。
在主要應用程式之外,XenCenter亦提供Plugin供管理者安裝使用,以Map為例,可以令管理者以整體的角度,知曉每個虛擬機器之間的關聯。


▲ 圖7 XenCenter的Plugins:Map(圖片取自XenseMaking官網)。


▲ 圖8 XenCenter的Plugins:Space distribution則是以圖形顯示儲存空間的使用與分布。(圖片取自XenseMaking官網)


EMOTIVE Cloud
EMOTIVE Cloud全名為Elastic Management Of Tasks In Virtualized Environments。是一套用來管理虛擬環境的中介軟體,無論是使用Xen、KVM或VirtualBox的hypervisor皆可納入管理之。對雲端服務的提供者來說,排程管理虛擬機器應為其優勢之一。此外,EMOTIVE亦支援外部資源的使用,例如Amazon EC2的公有雲,這個功能整合到雲端架構裡,便可同時提供公有雲、私有雲與hybirds等雲端服務。
功能與特色:
.成為雲端服務提供者
.虛擬機器管理
.XEN、KVM與VirtualBox hypervisor
.Amazon EC2
.函式庫Libvirt
.排程管理策略 (學習、預測、實用、環保、容錯等)
.內包/委外(insourcing/outsourcing)
.公有雲、私有雲與Hybrid
.SSH
.資料管理 (SFTP、FTP、NFS與Hadoop等)
.資源監控
.容錯機制
.VPN、VLAN管理

Hyperic HQ/CloudStatus
Hyperic HQ是用來管理Web應用與架構的開放源碼監控軟體,特色在於自動查知以及監控各種軟體與四散的網路資源,透過單一畫面檢視效能,並瞭解應用程式的狀況。亦即這是一套廣泛且全面的管理套件,便於管理者在遠端透過單一Console追蹤執行效能、事件資料、建立警示、進行診斷與事件的控制。內建七十五種以上的技術,且提供具擴充能力的架構與使用者介面,無論是虛擬化或非虛擬化,皆可透過Hpyeric管理。
Hyperic HQ有Open Source與Enterprise兩種版本。除了企業特殊需求外,選擇上基本是以企業規模為基準,Open Source已提供完整的監控與管理功能,但相對地複雜度略低於Enterprise版。如前所述,Hpyeric HQ的焦點不僅在於虛擬化的管理,因此針對各種平台與服務的支援算是相當齊全,以作業系統為例,可監控AIX、HP/UX、Linux、Solaris、Windows、Mac OS X與FreeBSD,Web伺服器則支援了Apache、IIS與Sun Java System,資料庫有DB2、SQL Server、MySQL、Oracle、PostgreSQL與Sybase,而在虛擬化的部份,現行提供只有VMware與XenServer,對Linux虛擬化未來的方向KVM的部份,仍有待觀察。


▲ 圖9 Open Source與Enterprise版的功能比較。(圖片取自Hyperic官方網站)


Hyperic另一開發中的產品:CloudStatus可即時監控公有雲服務,例如Amazon或Google所提供的那些。雖然還在BETA版階段,但它幾乎可以說是第一套以獨立觀點檢視幾個市面上廣受歡迎之雲端服務的狀況與效能的服務。CloudStatus不單可以監控雲端效能,也包括雲端上所建置的服務,當然,Hyperic也會將CloudStatus的功能,整合至Hyperic HQ裡。


▲ 圖10 Amazon雲端服務狀況摘要。(圖片取自Hyperic官方網站)


SnowFlock
SnowFlock以槓桿作用的觀念處理虛擬機器,讓它們在雲端環境下達到最高效能。SnowFlock支援虛擬叢集中的平行運作,可以迅速將虛擬機器複製好幾個版本,使其同時執行於不同的實體主機裡,然後在運算完成後即解除這樣的佈署。這種作法可以大大簡化開發平行處理應用程式的程序,降低管理上的麻煩,直接省掉建置環境的時間。
無論是需要較多資源的應用程式或是講求運算能力的網路服務,都能利用SnowFlock提升效率。以雲端運算為前提所佈署的網路服務,可以透過平行處理的方式,為互動式的應用程式提供服務。以運算能力為主的網路服務則是各類型的領域都有可能出現,像是生物學(以DNA或蛋白質序列查詢)、財務財經、圖形轉譯與調察搜索。
基本上,SnowFlock系統是存在於由多個主機集結建立的叢集環境下,使用的是Xen相關的虛擬技術,因此建議著手建置前先對Xen的專業術語進行瞭解。