吳坤喜,馮 廣,盧志祥,方道坤
(廣東工業(yè)大學(xué)自動化學(xué)院,廣東廣州510006)
隨著計算機深入到人們生活、工作的各個方面,人們對計算機的性能、安全和服務(wù)能力等指標(biāo)提出了新的要求,如何提高計算機的處理速度、減少耗能、共享資源、有效管理軟件變得越來越重要.目前對計算機機房的建設(shè),通常需要配置多達(dá)百臺的獨立PC機,不僅建設(shè)費用大、耗能高,而且管理這些計算機也比較復(fù)雜,而虛擬云桌面采用分布式服務(wù)器為處理中心和存儲媒介[1],使用瘦客戶端遠(yuǎn)程登錄虛擬桌面的方式,對解決這些問題具有明顯的優(yōu)勢.
近年來國內(nèi)桌面虛擬化設(shè)備廠商如雨后春筍般出現(xiàn),其中占市場份額最高的和信、方物和深信服等廠商大部分采用VMWare和Citrix的解決方案.選擇虛擬化產(chǎn)品的機構(gòu)數(shù)量正快速增加,其中虛擬云桌面應(yīng)用中,學(xué)校實驗室機房所占份額達(dá)到了64%以上,企業(yè)應(yīng)用達(dá)到了25%[2].目前廣東省已有多所高校采用了虛擬云桌面的解決方案[3],在這些高校實際應(yīng)用中,發(fā)現(xiàn)了一系列的新問題,如大量虛擬桌面同時啟動時,往往出現(xiàn)虛擬桌面網(wǎng)速變慢和響應(yīng)速度迅速下降;并且商用瘦客戶端的成本高、系統(tǒng)繁重、啟動速度慢和網(wǎng)絡(luò)傳輸效率低,很難滿足實際應(yīng)用的需求.
針對這些問題,本文將利用分布式服務(wù)器建立資源池,精簡瘦客戶端外圍設(shè)備和操作系統(tǒng),優(yōu)化網(wǎng)絡(luò)傳輸?shù)确桨讣右越鉀Q.
虛擬云桌面猶如一臺個人電腦,面向用戶的是瘦客戶端,具有硬件系統(tǒng)和操作系統(tǒng),將用戶和虛擬云桌面聯(lián)系起來.
現(xiàn)有瘦客戶端在響應(yīng)速度和網(wǎng)絡(luò)傳輸方面還不能很好地滿足用戶需求,如何通過自身硬件資源達(dá)到用戶對網(wǎng)絡(luò)傳輸、響應(yīng)速度等性能要求,這對瘦客戶端的硬件設(shè)計提出了更高的要求.同時由于虛擬云桌面與瘦客戶端之間通過局域網(wǎng)連接,實現(xiàn)虛擬云桌面與用戶的交互操作,將實際的計算處理過程完全集中到分布式服務(wù)器中實現(xiàn),大大減輕了瘦客戶端的計算量[4].在經(jīng)過大量實踐操作并考慮成本的情況下,我們采用了ARM cortex a8作為瘦客戶端的處理核心,不僅運算速度快,而且支持1 000 M網(wǎng)絡(luò)傳輸和1 080 p@30 fps高清視頻輸出等高性能[5],用戶還可以根據(jù)自身需要添加各種外設(shè)接口,支持多種操作系統(tǒng),具有高性能低功耗的特點,能夠很好地滿足虛擬云桌面瘦客戶端的要求,瘦客戶端組成模塊如圖1所示.
圖1 瘦客戶端模塊圖Fig.1 The thin client module diagram
計算機機房建設(shè)對客戶端的功耗和價格比較敏感,而現(xiàn)行PC機和商用瘦客戶端大部分采用intel架構(gòu),成本高、功耗大,而我們瘦客戶端采用的ARM架構(gòu)很好地解決了這個問題.將瘦客戶端與傳統(tǒng)PC機和商用客戶端之間的參數(shù)進(jìn)行了對比,如表1所示.
表1 客戶端參數(shù)對比Tab.1 Comparison of the clients parameters
虛擬云桌面與瘦客戶端之間采用VDI傳輸模式,分布式服務(wù)器接收瘦客戶端的數(shù)據(jù)并處理,再將處理數(shù)據(jù)結(jié)果推送到瘦客戶端供用戶使用.因此在選擇瘦客戶端系統(tǒng)時必須重點考慮網(wǎng)絡(luò)傳輸效率和精簡系統(tǒng),使瘦客戶端硬件資源得到最大程度的應(yīng)用,滿足用戶需求[6].為此,采用了當(dāng)前被廣泛使用的Android系統(tǒng),該系統(tǒng)架構(gòu)由5部分組成:應(yīng)用層、應(yīng)用框架構(gòu)、運行庫層、Android執(zhí)行環(huán)境層和系統(tǒng)內(nèi)核層,Android系統(tǒng)架構(gòu)如圖2所示.
圖2 Android系統(tǒng)架構(gòu)Fig.2 Android system
在原有系統(tǒng)的基礎(chǔ)上對系統(tǒng)進(jìn)行精簡,在應(yīng)用層中去除了多余的應(yīng)用程序,在運行庫層剪除部分沒有利用的函數(shù)庫,根據(jù)瘦客戶端的外圍設(shè)備,在內(nèi)核層剪裁掉不需要的內(nèi)核驅(qū)動程序,根據(jù)ICA傳輸協(xié)議重新編寫網(wǎng)卡驅(qū)動,優(yōu)化了網(wǎng)絡(luò)傳輸效率.
在計算機機房部署虛擬云桌面過程中,為了解決大量虛擬桌面同時啟動時出現(xiàn)啟動時間過長、響應(yīng)時間過慢的問題,將多臺服務(wù)器組成資源池,提高云端的響應(yīng)速度和空間資源.
2.1.1 建立資源池
根據(jù)客戶端用戶數(shù)量和應(yīng)用需求,選擇服務(wù)器數(shù)量,將每臺服務(wù)器安裝XenServer系統(tǒng),并選擇一臺計算機作為XenCenter用戶管理界面[7].通過網(wǎng)絡(luò)將多臺服務(wù)器組成分布式資源池,并添加虛擬存儲資源,為建立虛擬云桌面做準(zhǔn)備.
2.1.2 建設(shè)虛擬機
利用虛擬池中的本地映像安裝虛擬機系統(tǒng),或在虛擬存儲資源中添加New Storage虛擬存儲[8],從網(wǎng)絡(luò)中共享映像文件.
通過XenCenter管理界面,將所有虛擬機安裝在分布式資源池中.首先,建立多臺虛擬機系統(tǒng),采用Windows 2008 R2系統(tǒng)作為域管理和虛擬云桌面管理服務(wù)器并部署Windows7作為用戶虛擬云桌面映像系統(tǒng),域管理和虛擬云桌面管理服務(wù)器分別命名為AD服務(wù)器和DDC服務(wù)器,通過Windows7虛擬機映像大量部署用戶虛擬云桌面系統(tǒng)[9],云桌面的拓樸結(jié)構(gòu)如圖3所示.
圖3 云桌面的拓樸結(jié)構(gòu)Fig.3 The topology of cloud desktop
根據(jù)用戶需求部署虛擬云桌面,選擇操作系統(tǒng)模板并安裝用戶需求專業(yè)軟件.下面以Windows7系統(tǒng)為例說明安裝過程,通過在AD服務(wù)器中配置域,在域控制器中添加DNS服務(wù)器[10],分別將DDC服務(wù)器和Windows7系統(tǒng)加入到AD域中,在DDC服務(wù)器建立數(shù)據(jù)庫以保存用戶數(shù)據(jù),并部署虛擬云桌面XenDesktop[11],最后在Windows7系統(tǒng)中安裝用戶需求的軟件做成虛擬云桌面父映像模板,為用戶創(chuàng)建虛擬云桌面,使用DDC服務(wù)器作為用戶的管理平臺.
以廣東某大學(xué)自動化學(xué)院為例進(jìn)行分析,該學(xué)院有研究生200名,而實驗室只有140個座位.按照傳統(tǒng)方式安排座位,將有60名研究生無法使用實驗室.鑒于所有研究生不會在同一時間使用實驗室,學(xué)院決定為實驗室部署虛擬云桌面,為每個同學(xué)建立獨立虛擬云桌面,當(dāng)同學(xué)進(jìn)入實驗室時,通過瘦客戶端登錄自己的虛擬云桌面,這樣就較好地解決了實驗室空間不足的問題,并且極大地節(jié)省了能源.
根據(jù)測試經(jīng)驗,將機房瘦客戶端數(shù)與CPU內(nèi)核數(shù)設(shè)置為5∶4的比例,目前機房瘦客戶端數(shù)是140臺,需要112個CPU內(nèi)核[12].本方案采用5臺服務(wù)器,每臺服務(wù)器配置兩路E5-2695 CPU,每路12個內(nèi)核,總共120個內(nèi)核,預(yù)留8個內(nèi)核,采用內(nèi)存總數(shù)為640 G,能夠很好地滿足需求.
在瘦客戶端方面,采用了性能卓越的ARM cortex a8作為瘦客戶端的處理器,不僅支持1 000 M網(wǎng)絡(luò)傳輸和1 080 p@30 fps高清視頻輸出,并且根據(jù)用戶需求擴展出豐富的外設(shè)接口[13].
具體部署實現(xiàn)如圖4所示,圖中包括服務(wù)器、顯示器、瘦客戶端和鼠標(biāo)、鍵盤等外圍器件.
圖4 虛擬桌面部署圖Fig.4 The configuration of virtual destktop
通過DDC服務(wù)器中的XenCenter管理界面,以Windows7系統(tǒng)為鏡像模板,同時部署200個虛擬桌面,用戶可通過瘦客戶端CitrixReceiver進(jìn)入到虛擬云桌面登錄界面[14],輸入DDC服務(wù)器IP地址、管理員分發(fā)的用戶賬號和DC服務(wù)器域名地址即可成功登陸到用戶虛擬云桌面[15],使用戶體驗到使用獨立PC機的效果.
在測試中為瘦客戶端安裝3種操作系統(tǒng):Android、Ubuntu和優(yōu)化后的Android,它們在瘦客戶端中的啟動時間分別為45、52和38 s.
從測試中可以看出優(yōu)化后的Android系統(tǒng)能夠很好地縮短瘦客戶端啟動時間,同時瘦客戶端性能較好和豐富的外設(shè)接口使虛擬云桌面系統(tǒng)能夠很好地滿足用戶需求.由于云桌面與瘦客戶端通過網(wǎng)絡(luò)交互的特點,雖然音頻能夠達(dá)到同步傳輸,但在傳輸高清視頻時畫面稍有一點延時現(xiàn)象,至此完成了實驗室部署虛擬云桌面的全部操作.
通過部署分布式服務(wù)器資源池,優(yōu)化瘦客戶端軟、硬件系統(tǒng),建立虛擬云桌面,使計算機機房建設(shè)成本和功耗降低、管理更加簡單、瘦客戶端更加實用,在學(xué)校計算機機房建設(shè)中,很好地彌補了以往出現(xiàn)的不足.在以后工作中將針對高效管理虛擬桌面和應(yīng)用程序方面做進(jìn)一步研究.
[1]謝峰.數(shù)字化校園桌面虛擬化系統(tǒng)的設(shè)計與實現(xiàn)[D].廣州:華南理工大學(xué)軟件學(xué)院,2012.
[2]劉云新.面向新一代移動計算平臺的系統(tǒng)虛擬化研究與應(yīng)用[D].上海:上海交通大學(xué)電子信息與電氣工程學(xué)院,2011.
[3]王溥希,馮廣.帶有隨機時延和丟包的網(wǎng)絡(luò)控制系統(tǒng)最優(yōu)控制策略研究[J].廣東工業(yè)大學(xué)學(xué)報,2014,31(1):32-35.Wang P X,F(xiàn)eng G.A study of optimal control strategy of networked control systems with stochastic delay and packet losses[J].Journal of Guangdong University of Technology.2014,31(1):32-35.
[4]胡嘉璽.企業(yè)級虛擬機應(yīng)用實戰(zhàn)[M].北京:電子工業(yè)出版社,2009.
[5]鄭萌.Android系統(tǒng)移植和驅(qū)動開發(fā)[M].北京:電子工業(yè)出版社,2013.
[6]韓曉山.運用Citrix實現(xiàn)桌面虛擬化管理[J].中國科技信息,2012,33(22):72-75.Han X S.Using citrix realization of desktop virtualization management[J].China Science and Technology Information,2012,33(22):72-75.
[7]王慶波,何樂.虛擬化與云計算[M].北京:電子工業(yè)出版社,2009.
[8]李軍,鮑鴻,程院蓮,等.單片機網(wǎng)絡(luò)控制系統(tǒng)[J].廣東工業(yè)大學(xué)學(xué)報,2004,21(1):8-12.Li J,Bao H,Cheng Y L,et al.The distributed network control system with technique of monolithic computer[J].Journal of Guangdong University of Technology,2004,21(1):8-12.
[9]石磊,鄒德清,金海.Xen虛擬化技術(shù)[M].武漢:華中科技大學(xué)出版社,2009.
[10]倪旭翔.ARM Cortex-A8嵌入式系統(tǒng)開發(fā)與實踐[M].北京:中國水利水電出版社,2011.
[11]宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人 民郵電出版社,2008.
[12]Lawrence R.Rabiner.A tutorial on hidden Markov models and selected applications in speech recognition[J].Proceddings of the IEEE,1989,77(2):257-286.
[13]王向輝,張國印,賴明珠.Android應(yīng)用程序開發(fā)[M].北京:清華大學(xué)出版社,2012.
[14]高洪巖.Android學(xué)習(xí)精要[M].北京:清華大學(xué)出版社,2012.
[15]張洪素.基于Xen的虛擬交換技術(shù)的研究與設(shè)計[M].天津:天津大學(xué),2011.