李偉波,董 林,何 頻
(1.武漢工程大學計算機科學與工程學院,湖北 武漢430074;2.武漢基華電腦系統有限公司,湖北 武漢430079)
云計算是當今計算機領域研究的熱點,平臺即服務模式作為它的一種重要的形式,有各種開源軟件提供多種私有云的搭建平臺方案,目前私有云平臺有OpenNebula(以集群計算為目的開源式虛擬機管理器)、CloudStack(提供公共、私人或者公私混合的基礎設施作為服務的開源性軟件平臺)和Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems中文簡稱:桉樹)等方案.OpenNebula云平臺方案將虛擬平臺從單一實體機擴展到一群實體上,可用來構建企業私有云基礎設施管控平臺,并提供虛擬機、虛擬網絡、存儲資源管理和資源調配策略控制,但是它沒有采用面向服務架構的設計方法,沒有將計算、存儲和網絡設計為獨立組件,解耦做得還不夠;CloudStack云平臺方案支持Xen(開放源代碼的虛擬機監視器,由劍橋大學開發)等虛擬機,它提供了大量云計算界面管理工具,方便管理,它同樣也存在與OpenNebula類似的問題;Eucalyptus云平臺方案的云接口基于亞馬遜的網頁服務的應用程序編程接口的規范標準,能夠提供與亞馬遜公有云計算平臺服務相同的功能,它在面向服務架構層面上做得比較好,避免了與OpenNebula等在面向服務架構技術方面的問題,所以采用Eucalyptus作為私有云平臺的研究方案.
Eucalyptus是一種開源的軟件基礎結構,用來通過計算集群或工作站群實現彈性的、實用的云計算[1].我國研究人員對其展開了應用研究,張帆[2]等使用Eucalyptus構建云平臺,為科研團隊及中小型企業項目的開發彈性計算服務,以滿足不同階段,不同用戶的需求;胥光輝[3]等采用一套基于Eucalyptus私有云的校園虛擬計算中心對校園的資源進行整合,節約了更新服務器和客戶機的成本,滿足了中小規模教學、試驗的需求;鐘華[4]利用Eucalyptus及自動測試構建云測試系統解決自動化測試系統在發展中遇到的問題;馬少兵[5]等使用Eucalyptus等構建了數字圖書館私有云平臺,解決了圖書館系統部署的重復性和單一服務器承載單一服務的問題.基礎在以上研究探討如何使用Eucalyptus搭建私有云平臺,以及利用其與無線觸摸一體機技術構建一套應用于餐飲業的電子點單系統,達到節省主機設備,減少維護成本,提高效率的目的.
Eucalyptus主要包含五個組件:Cloud Controller(云控制器)、Cluster Controller(集群控制器)、Node Controller(節點控制器,簡稱NC)、Walrus(分布式存儲控制器)和Storage Controller(存儲控制器,簡稱SC).Eucalyptus的安裝分為多集群安裝和單集群安裝.多集群安裝是將各個組件分別安裝在不同的主機上,它的網絡拓撲圖如圖1(a)所示;單一集群的安裝至少需要2臺主機,一臺安裝節點控制器組件,其余的組件安裝在另外一臺主機上,如圖1(b)所示.

圖1 集群拓撲圖Fig.1 Cluster topology
頂層組件(包括云控制器和Walrus)負責收集管理多個集群的資源,每個集群需要一個集群控制器用來控制集群內的計算及網絡等資源和一個存儲控制器用來控制基于塊的存儲.集群控制器和存儲控制器通常安裝在該集群的頭節點上.每個虛擬機節點需要一個節點控制器來控制虛擬管理程序.基于這樣的架構,整個云計算平臺的資源都自下而上地按層次控制運行[6].
一個NC節點可以運行多臺虛擬機實例(根據客戶訂購的服務質量等級決定運行實例個數),云平臺中可以包含多臺NC節點和集群節點.包含五大組件的主機形成一個整體,為不需要知道其內部構成的客戶提供云計算服務.每一個NC節點通過虛擬化技術[7]虛擬成多個虛擬機,每個虛擬機上可以運行定制的鏡像.
Eucalyptus云平臺的構建可以使用多種方式,支持的操作系統是Linux系列的.本文以烏班圖9.10 服務器版本的操作系統為主機的系統,網絡拓撲圖如圖2所示,并按照其搭建整個網絡.使用單集群的模式安裝Eucalyptus,使用2臺主機,一臺主機作為NC,另一臺作為CC,五臺無線觸摸一體機運行NC的實例.NC主機安裝節點控制器組件,CC主機安裝其余的組件,五臺無線觸摸一體機作為接受軟件服務的客戶端.

圖2 網絡拓撲圖Fig.2 Network topology
Eucalyptus的安裝它依賴于Linux (是一種自由和開放源碼的操作系統) 系統,所以必須先在主機上安裝Linux系統.單集群的網絡可以由一臺前端節點主機和多臺計算節點主機組成.對于用戶來說,并不知道服務由哪臺主機提供,內部對于用戶來說是看不清的,也就是所謂“云”.服務可以提供一臺計算節點提供,也可以由多臺計算節點共同提供.Eucalyptus云平臺的構建流程[8]如圖3所示.

圖3 桉樹云平臺的構建流程Fig.3 The process of building eucalyptus cloud platform
安裝完成后啟動Linux操作系統,然后分別對各個主機的網絡進行設置.在Eucalyptus云平臺中,各個節點是通過注冊進行認證的,然后它們之間才能進行通信從而實現協同工作的.在認證時就將各個節點的信息注冊到CC上,每個節點的網絡地址信息在CC上都有記載.如果發生變動的話,整個云平臺系統恐怕難以正常運行,所以必須進行機器的IP(因特網協議)地址等網絡的配置,注意NC節點上的要建立橋接.
網絡設置完成之后,在CC主機上安裝云控制器、集群控制器 和存儲控制器幾個組件.在安裝的過程中,首先需要選擇郵件服務類型為Internet site (互聯網網站),其次設置系統郵件名稱,然后設置Eucalyptus的集群名稱和設置虛擬機實例公用地址段最后在二臺NC主機上都安裝節點控制器組件.
為了實現CC主機與NC主機的Eucalyptus組件之間的認證及無密碼連接就得交換二者之間的公鑰.首先在NC主機上臨時為Eucalyptus建立密碼,然后在CC主機和NC主機進行公鑰的交換.
最后一步是節點的注冊.Eucalyptus云平臺需要對各個節點進行注冊,這樣各節點之間才能夠正常運行,以達到使用的目的.在CC主機上通過命令找到運行節點控制器組件的主機(記住在注冊時,必須保證所有要注冊的節點主機運行各自的Eucalyptus的組件).注冊成功后接下來就創建登陸實例的密鑰、授權允許22 端口訪問的工作,至此云平臺搭建初步成功.
云平臺構建之后,通過瀏覽器訪問https://192.168.2.101:8443(其中192.168.2.101是CC主機的IP地址)對云平臺進行管理.由于網頁上的管理界面是反映云平臺的基本信息情況,并不能體現云平臺運行時的情況,所以為了便于管理,必須借助于中間件來監控云平臺的運行情況.Eucalyptus私有云平臺可以通過euca2ools(是一組基于命令行的工具)這個中間組件進行管理.安裝完這個中間組件之后,還要得到權限才能進行云平臺的管理,網頁上的的管理頁面下載證書到文件夾下并且解壓安裝即可,在終端上運行輸入命令啟動證書.確保各個節點上運行各自的服務,運行云平臺的中間組件euca2ools,通過命令查看云平臺的運行情況.如果運行結果類似如圖4所示,就表明云平臺運行正常,否則就說明云平臺平配置不成功,需要仔細檢查每一步的設置.

圖4 云平臺運行情況Fig.4 The running state of private cloud computing platform
將Eucalyptus私有云計算平臺與無線觸摸式一體機結合,應用于電子點單系統.可以一臺主機帶多臺終端機,而終端機可以直接提供給服務員或顧客進行自助點單,這樣既可以節省主機設備又可以解決目前餐飲業服務員不足的困境.無線觸摸式一體機作為自主點餐終端.在開機啟動時,以用戶名密碼通過虛擬桌面協議連接到云服務器,并且自動遠程訪問系統,然后將顯示畫面傳送給終端一體機.這時顧客就可以在終端機上進入點單界面(如圖5所示),進行一系列點菜操作.這些信息通過虛擬化技術反饋云平臺的服務器上,云服務器上的點單軟件通過消息進行反應,重新將畫面傳給終端,這時顧客就可以看到自己操作的畫面.整個過程給顧客的感覺就像在本地操作一樣,其實是通過虛擬桌面協議進行遠程操作的.

圖5 點單主界面Fig.5 Main interface of a digital menu system
作為運行NC節點實例的客戶端采用將觸摸屏與無線云終端組裝到一起構成一個新的設備(本文定義為無線觸摸一體機).無線觸摸一體機的集成方法是:將電阻式觸摸屏拆開,去掉云終端的外殼,首先將其放置在觸摸屏內;然后將二者的視頻接口線連接起來;其次分別將云終端的天線的和有線的接線引出來固定在觸摸屏的后殼上,做成接口,無線接口上裝上天線;接著將二者的電源接口線連接在一起,引到觸摸屏的外殼上,做成一個電源接口;最后將云終端板子上的三個通用串行總線接口引出來固定在外殼上,蓋上外殼,完成整個一體機的集成.無線觸摸一體機的工作原理如下:通過網絡通訊協議和標準的局域網架構與云服務器NC上運行的實例相連,并采用專用的虛擬桌面協議與云服務器進行數據通訊.開機啟動共享計算模式,多臺無線觸摸一體機以互異的用戶名和密碼登錄到云服務器中.云服務器會為不同的終端用戶開設獨立的會話,每個無線觸摸一體機會占用獨立的內存空間,其運行程序界面會通過虛擬桌面協議傳送到云服務器上,進而無線觸摸一體機之間能夠獨立運行而相互不受干擾.當手指在屏幕上壓下時,觸摸檢測部件就會檢測到用戶觸摸位置,接受后送到觸摸屏控制器;觸摸屏控制器從觸摸點檢測部件上接收觸摸信息,并將它轉換成觸點坐標,并將坐標傳給云終端,云終端通過網絡傳輸傳給云服務器;云服務器根據坐標位置調用對應的功能模塊,然后將功能模塊運行結果通過網絡返回給云終端,云終端再傳給觸摸屏控制器;觸摸屏控制器接收顯示在屏幕上.
首先定制軟件運行環境的操作系統的鏡像,其次是上傳綁定注冊定制好的鏡像.在Eucalyptus中鏡像的制作[9]分為三個部分:內核文件鏡像、引導文件鏡像和系統文件鏡像的制作,制作windows 2003 server(微軟的服務器操作系統)鏡像.鏡像制作完之后,使用虛擬機啟動該鏡像,并安裝電子點單軟件和建立多個用戶名和密碼,然后關閉系統,最后將它們分別上傳綁定注冊即可.上傳之后可以通過中間件的命令進行查看是否上傳成功,如圖6所示的情形.

圖6 私有云平臺中的鏡像Fig.6 Mirrors of private cloud computing platform
完成上述工作后,接下來就是檢驗利用云平臺運行電子點單系統軟件環境的鏡像的效果.首先在中間件euca2ools上運行上傳的鏡像,然后在終端上查看實例此時運行的情況.
等待實例完全啟動后,使用無線觸摸一體機通過不同的用戶名和密碼登錄到NC主機上的windows server 2003 系統,如圖7所示.然后運行電子點單系統軟件(圖7中第三個圖標)選擇各自的角色進入的相應界面.也可以在無線觸摸一體機上設置打開制作的軟件,直接進入選擇角色的界面,例如顧客進入的界面如圖5所示.最后進行各自操作,實現電子點餐的功能.

圖7 無線觸摸一體機虛擬桌面系統界面Fig.7 Virtual desktop system interface of wireless touching terminal
使用此系統后,運行效果具有自助點單操作方便、集中式管理和低延遲等特點.與沒有使用云平臺的系統方案相比,此系統還具有以下的優點:
(1)使用虛擬和云終端技術,降低了硬件資源的成本投入.
(2)具有良好的業務擴展能力.由于使用了云平臺,只要將軟件的運行環境鏡像上傳到云平臺中,運行此鏡像就可以實現新的軟件,提供新的服務,便于軟件的更新維護.
(3)利用云平臺,可以建立多個虛擬機,還可以部署VPN(虛擬專用網絡)服務,減少了硬件設備的數量,降低了硬件成本.
(4)提供了較高的服務質量,并且方便管理所有的軟件服務.利用虛擬技術成功的將每個服務都隔離開來,這樣一個單獨的服務運行在一個除其運行所必需的組件服務外沒有其他組件服務的操作系統中,沒有其它軟件服務在同時運行,實現了單獨的軟件獨享同一操作系統,達到了軟件服務之間隔離減少沖突的目的.
通過Eucalyptus建立一個開源私有云平臺,實現一臺主機帶多臺終端機,而終端機可以直接提供給服務員或顧客進行自助點單,這樣既可以節省主機設備,又可以提高效率,并可實現為用戶提供服務質量和安全性上的更高保證.虛擬技術是Eucalyptus私有云平臺的一個重要技術,它減少了設備數量,便于系統的管理,但是,為滿足云平臺等軟件運行的要求,也有可能會造成硬件設備質量需求的提高.因此在選擇私有云平臺方案時,根據實際情況選擇最優方法.
致謝
此論文在設計階段,武漢基華電腦有限公司的技術人員胡維平工程師等給予了大力支持和幫助;在試驗階段,劉嘉、梅德勝等同學積極參與配合,共同解決了在此過程中遇到的各種問題等,在此一并送上深深的感謝與敬意.
參考文獻:
[1] 百度百科. Eucalyptus [EB/OL]. http://baike.baidu.com/view/1144240.htm,2012-12-20.
[2] 張帆,李磊,楊成胡,等.基于Eucalyptus 構建私有云計算平臺[J].電信科學,2011(11):57-61.
[3] 戢瑤,胥光輝. 基于Eucalyptus 私有云的校園虛擬計算中心[J].南京郵電大學學報:自然科學版,2011,31(10):80-85.
[4] 鐘華.基于云計算的軟件測試服務研究[D].上海:華北大學,2011.
[5] 馬少兵,馬自衛.數字圖書館私有云平臺的構建研究和應用開發[J].現代圖書情報技術, 2011 (4):9-16.
[6] 任彬彬,周選昌.Eucalyptus2.0 云計算平臺在Linux 上的實現[J].科技情報開發與經濟,2011,21(16):142-145.
[7] 朱超. 基于虛擬化技術構建高校分布式云計算數據中心[J].武漢工程大學學報,2011,33(4):100-102.
[8] 中國云計算網站. Eucalyptus安裝手記[EB/OL] . http://bbs.chinacloud.cn/showtopic-7185.aspx,2012-12-20.
[9] 中國云計算網站.創建eucalyptus環境下的windows XP鏡像[EB/OL]. http://bbs.chinacloud.cn/showtopic-10781.aspx,2012-12-21.