武佳寧
(陜西學(xué)前師范學(xué)院, 西安 710100)
基于OpenStack的虛擬云桌面系統(tǒng)建設(shè)方案
武佳寧
(陜西學(xué)前師范學(xué)院, 西安 710100)
基于OpenStack的虛擬云桌面系統(tǒng)是OpenStack與云桌面的深度融合。分析了虛擬云桌面系統(tǒng)的應(yīng)用優(yōu)勢(shì),設(shè)計(jì)了基于OpenStack的虛擬云桌面系統(tǒng)整體架構(gòu)和主要管理模塊,實(shí)地部署了虛擬云桌面機(jī)房系統(tǒng)并給出了建設(shè)方案。
虛擬云桌面; OpenStack; 云計(jì)算
數(shù)據(jù)集中和系統(tǒng)集中管理是云計(jì)算給我們帶來的新觀點(diǎn),虛擬云桌面系統(tǒng)把用戶個(gè)人PC的應(yīng)用和數(shù)據(jù)都轉(zhuǎn)移到了統(tǒng)一的數(shù)據(jù)中心,這樣合理的分配管理資源,避免了數(shù)據(jù)冗余和浪費(fèi),通過統(tǒng)一的數(shù)據(jù)中心安全上也更進(jìn)了一步,更有效的防止重要數(shù)據(jù)流失。[1]不管是傳統(tǒng)辦公還是公用機(jī)房,獨(dú)立PC的使用都會(huì)造成高能耗低效率、難運(yùn)維、高成本、信息易流失等問題[2,3]。隨著云計(jì)算技術(shù)的普及,虛擬化云桌面把用戶完整的桌面全部統(tǒng)一到服務(wù)器中存放,用戶使用不同的終端通過網(wǎng)絡(luò)訪問桌面環(huán)境,而終端只需要有顯示功能和一般處理能力就夠了。[4,5]虛擬化云桌面把資源統(tǒng)一認(rèn)證統(tǒng)一管理,合理資源調(diào)配,方便了企業(yè)辦公學(xué)校機(jī)房等的系統(tǒng)運(yùn)維,運(yùn)維人員在數(shù)據(jù)中心完成對(duì)每個(gè)用戶的桌面管理,統(tǒng)一進(jìn)行系統(tǒng)升級(jí)殺毒,保障了系統(tǒng)的安全也降低了工作強(qiáng)度。虛擬化云桌面系統(tǒng)服務(wù)新模式實(shí)現(xiàn)了傳統(tǒng)PC與云計(jì)算技術(shù)相結(jié)合,是企業(yè)事業(yè)單位更專注于自身業(yè)務(wù)拓展,提高IT資源利用率。
1.1 統(tǒng)一配置便于維護(hù)管理
虛擬云桌面系統(tǒng)利用云計(jì)算的虛擬化技術(shù),用服務(wù)器整合了基礎(chǔ)設(shè)施復(fù)雜的現(xiàn)狀,讓運(yùn)維管理人員把對(duì)零散PC的管理變成對(duì)幾臺(tái)服務(wù)器進(jìn)行集中管理, PC在服務(wù)器中合并后極大地降低了單點(diǎn)故障率,強(qiáng)大、靈活的集中管理模式提高了服務(wù)保障水平,運(yùn)維人員從機(jī)械勞動(dòng)中解脫出來。數(shù)據(jù)中心能夠?qū)ξ锢矸?wù)器進(jìn)行虛擬分區(qū),提供最合適的虛擬環(huán)境,從而改變單機(jī)能部署單個(gè)應(yīng)用的弊病,提高服務(wù)器的利用率,讓資源分配更加合理。利用虛擬環(huán)境進(jìn)行安全隔離也實(shí)現(xiàn)了應(yīng)用程序隔離的目的,保障了多用戶環(huán)境下的數(shù)據(jù)安全。如果遇到數(shù)據(jù)遷移可以通過備份虛擬環(huán)境就可以實(shí)現(xiàn)業(yè)務(wù)零影響,高質(zhì)量保證備份恢復(fù)工作。用戶終端越多越能體現(xiàn)出虛擬云桌面系統(tǒng)的運(yùn)維管理優(yōu)勢(shì)。
1.2 系統(tǒng)可靠度高數(shù)據(jù)存儲(chǔ)更安全
虛擬云桌面系統(tǒng)所有數(shù)據(jù)和服務(wù)應(yīng)用軟件都在服務(wù)器中,如果用戶終端出現(xiàn)故障不會(huì)造成數(shù)據(jù)丟失或者受損,服務(wù)器的三級(jí)主動(dòng)防御體系可以抵御ARP等病毒攻擊,保障了企業(yè)機(jī)密數(shù)據(jù)的安全,確保了高??蒲袑W(xué)術(shù)數(shù)據(jù)的完整。即使用戶當(dāng)前使用的終端故障或是丟失也不影響業(yè)務(wù)的連續(xù)性,只需利用其它終端甚至手機(jī)就可以登錄云桌面繼續(xù)工作學(xué)習(xí)。由于服務(wù)器的安全級(jí)別高,即使是遇到災(zāi)難,云桌面服務(wù)器的抗災(zāi)恢復(fù)能力也遠(yuǎn)遠(yuǎn)大于普通PC。終端只負(fù)責(zé)傳輸界面顯示,運(yùn)算處理都來自數(shù)據(jù)中心,這無疑加大了企事業(yè)單位對(duì)敏感機(jī)密數(shù)據(jù)的控制,從管理角度也同樣保護(hù)了數(shù)據(jù)安全。
1.3 降低購置成本節(jié)能減排
虛擬云桌面系統(tǒng)的購置成本相對(duì)于傳統(tǒng)PC要低,如果終端較少可能優(yōu)勢(shì)不明顯,終端量越大采購成本優(yōu)勢(shì)越高,并且后期的運(yùn)維成本也會(huì)大大降低,并且使用年限也會(huì)延長降低設(shè)備重置率。如果是使用瘦終端使用能耗只有傳統(tǒng)PC的百分之一,大范圍使用節(jié)能效益和經(jīng)濟(jì)效益將會(huì)更明顯。對(duì)于給類舊PC都能夠集中利用,也可以利用現(xiàn)有服務(wù)器搭建虛擬云桌面系統(tǒng),把舊設(shè)備的潛能發(fā)揮起來提高設(shè)備及網(wǎng)絡(luò)利用率最大程度節(jié)省成本。
2.1 開源云計(jì)算平臺(tái)選擇
當(dāng)下的開源云計(jì)算平臺(tái)有四大主流產(chǎn)品,分別是OpenNebula、Eucalyptus、C1oudStack和OpenStack[6]。OpenStack的服務(wù)由Python開發(fā),如數(shù)據(jù)庫使用的是SQLAlchemy,服務(wù)程序端用的是WSGI,OpenStack在SOA和服務(wù)化組件上是4個(gè)產(chǎn)品中做的最好的,核心層包括Nova計(jì)算服務(wù)、Swift存儲(chǔ)服務(wù)、keystone身份服務(wù)、Glance頸項(xiàng)服務(wù)等十多個(gè)開發(fā)項(xiàng)目,每個(gè)組件都大量采用插件設(shè)計(jì)和框架設(shè)計(jì)[7,8],與其他4個(gè)產(chǎn)品相比性能優(yōu)勢(shì)強(qiáng)很多,具體性能分析,如表1所示。所以基于OpenStack的諸多優(yōu)勢(shì),虛擬云桌面系統(tǒng)采用OpenStack作為的開發(fā)平臺(tái)。
表1 開源云計(jì)算平臺(tái)性能對(duì)比表
2.2 基于OpenStack的虛擬云桌面整體架構(gòu)和模塊設(shè)計(jì)
我們選擇通過OpenStack開源云計(jì)算平臺(tái)來開發(fā)的虛擬云桌面系統(tǒng),是面向個(gè)人用戶的遠(yuǎn)程客戶端虛擬化服務(wù)架構(gòu)。
該虛擬云桌面系統(tǒng)主要從三大部分架構(gòu),如圖1所示。
圖1 基于OpenStack的虛擬云桌面整體架構(gòu)
第一部分是個(gè)人PC及各類移動(dòng)客戶端組成的虛擬桌面客戶端,客戶端通過桌面?zhèn)鬏攨f(xié)議傳輸云中數(shù)據(jù);第二部分是虛擬桌面管理模塊、用戶管理模塊、調(diào)度管理模塊、調(diào)用管理模塊和數(shù)據(jù)庫組成的虛擬桌面云系統(tǒng)的管理控制子系統(tǒng),用來管理控制一個(gè)或多個(gè)OpenStack的集群;第三部分是開源云計(jì)算平臺(tái)OpenStack的五大核心項(xiàng)目組件構(gòu)成的虛擬資源管理子系統(tǒng),該子系統(tǒng)的作用就是提供基礎(chǔ)環(huán)境給虛擬桌面支持其正常運(yùn)轉(zhuǎn)。
下面我們著重介紹虛擬桌面云系統(tǒng)的管理控制子系統(tǒng)的5個(gè)模塊:
2.2.1 虛擬桌面管理模塊
虛擬桌面管理模塊從字面就能看出是管理個(gè)人PC及各類移動(dòng)客戶端組成的虛擬桌面。從用戶的角度看,用戶通過驗(yàn)證成功登陸云桌面系統(tǒng)后就可以自由操作屬于自己定制型的虛擬桌面,用戶可以對(duì)虛擬桌面進(jìn)行刪除、修改、重啟、系統(tǒng)恢復(fù)等等操作。從系統(tǒng)內(nèi)部處理的角度看,虛擬桌面管理模塊包含虛擬創(chuàng)建、虛擬刪除兩部分。從用戶發(fā)起的任務(wù)列表中發(fā)現(xiàn)任務(wù)并進(jìn)行任務(wù)批量創(chuàng)建,在創(chuàng)建好虛擬機(jī)的基礎(chǔ)上為其分配IP地址,最后把虛擬機(jī)列表保存在數(shù)據(jù)庫中;當(dāng)用戶使用完畢退出系統(tǒng)后,系統(tǒng)自動(dòng)刪除虛擬機(jī)并清除數(shù)據(jù)庫記錄。
2.2.2 用戶管理模塊
用戶管理模塊提供虛擬桌面云系統(tǒng)的用戶登陸注冊(cè)認(rèn)證服務(wù),該功能需要OpenStack虛擬資源管理子系統(tǒng)提供交互服務(wù),當(dāng)用戶注冊(cè)登陸時(shí)通過用戶管理模塊得到一塊令牌,該令牌通過OpenStack虛擬資源管理子系統(tǒng)進(jìn)行驗(yàn)證,通過驗(yàn)證的令牌返回用戶管理模塊,用戶通過驗(yàn)證登陸成功。
2.2.3 調(diào)度管理模塊
當(dāng)虛擬云桌面系統(tǒng)使用率高的話,服務(wù)器的負(fù)荷會(huì)比較大,調(diào)度管理器模塊專門解決多線程同時(shí)啟動(dòng)負(fù)載過高的調(diào)度問題。本系統(tǒng)采用的方案是定時(shí)調(diào)度輪流處理任務(wù)的方式,調(diào)度管理器模塊定時(shí)啟動(dòng)多線程運(yùn)轉(zhuǎn)各個(gè)進(jìn)程,給隔一段時(shí)間就統(tǒng)計(jì)每個(gè)線程的負(fù)荷情況,更新負(fù)載均衡列表,當(dāng)新的進(jìn)程需要啟動(dòng)的時(shí)候就可以把其調(diào)度到負(fù)載較小的OpenStack子系統(tǒng)中,當(dāng)運(yùn)轉(zhuǎn)負(fù)荷小的時(shí)候就只有主線程在線并且處于待機(jī)睡眠狀態(tài)。
2.2.4 調(diào)用管理模塊
調(diào)用管理模塊是虛擬桌面云系統(tǒng)的管理控制子系統(tǒng)與外界的交互的通道,用戶通過該模塊與OpenStack虛擬資源管理子系統(tǒng)交互,對(duì)OpenStack的每個(gè)API發(fā)起調(diào)用。心跳管理的作用是每隔一段時(shí)間發(fā)送心跳信息給OpenStack所有的API , OpenStack子系統(tǒng)對(duì)這個(gè)心跳信息做出回應(yīng),以此看來確認(rèn)OpenStack子系統(tǒng)正在正常運(yùn)行,OpenStack子系統(tǒng)回復(fù)的信息包括CPU使用率、消息隊(duì)列、計(jì)算節(jié)點(diǎn)等數(shù)據(jù)。
2.2.5 數(shù)據(jù)庫模塊
所有的系統(tǒng)都缺少不了數(shù)據(jù)庫,本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)庫不直接與其他非數(shù)據(jù)庫模塊直接交互,而是使用虛擬接口,這樣不僅可以實(shí)現(xiàn)訪問數(shù)據(jù)庫的接口統(tǒng)一調(diào)配,也可以精簡訪問數(shù)據(jù)庫的操作過程,這些都是由數(shù)據(jù)庫模塊提供具體訪問服務(wù)的。
3.1 虛擬云桌面機(jī)房系統(tǒng)部屬
虛擬云桌面機(jī)房系統(tǒng)分為3部分部署,如圖2所示。由服務(wù)器主控程序、客戶端程序、Web 服務(wù)器統(tǒng)一管理程序。服務(wù)器主控程序安裝在機(jī)架式硬件服務(wù)器或刀片式服務(wù)器上,其主要功能是提供系統(tǒng)的管理服務(wù)(如管理員登陸管理界面、系統(tǒng)認(rèn)證U-KEY的識(shí)別和讀取、策略的制定及部署等);客戶端程序部署于前端的PC終端上與服務(wù)器的通訊,接受執(zhí)行策略的部署,同時(shí)將PC終端的運(yùn)行情況匯總反饋給服務(wù)器;Web service統(tǒng)一管理程序部署在主控服務(wù)器上,輸入服務(wù)器管理地址管理員即可對(duì)系統(tǒng)內(nèi)的服務(wù)器進(jìn)行查看或操作,并支持多個(gè)管理員同時(shí)在線來提高系統(tǒng)的安全性。桌面云系統(tǒng)部署時(shí),在千兆主干、百兆到桌面的網(wǎng)絡(luò)條件前提下,采用標(biāo)準(zhǔn)TCP數(shù)據(jù)傳輸控制協(xié)議傳輸數(shù)據(jù),并支持第三方DHCP、VLAN劃分、路由等網(wǎng)絡(luò)環(huán)境部署。虛擬云桌面機(jī)房系統(tǒng)部署,如圖2所示。
圖2 虛擬云桌面機(jī)房系統(tǒng)部署
下面各個(gè)服務(wù)器及組件的關(guān)系:
3.1.1 Web Server
虛擬云桌面機(jī)房系統(tǒng)是基于網(wǎng)絡(luò)的應(yīng)用,配置在Web服務(wù)器上以實(shí)現(xiàn)web訪問云桌面系統(tǒng)。我們部署Web服務(wù)器選用的開發(fā)語言是Python3.3,服務(wù)器操作系統(tǒng)選用Ubuntu 13.04 server這種以桌面應(yīng)用為主的Linux操作系統(tǒng),并在安裝完成操作系統(tǒng)后安裝uWSGI和Nginx已完成配置Django1.6.1這種開源的Web應(yīng)用框架。
3.1.2 Openstack Controller
OpenstackController服務(wù)器是Openstack的主控中心,我們把它部署在Ubuntu 13.04 server版本的Linux操作系統(tǒng)上。它分成3個(gè)主要組件,認(rèn)證系統(tǒng)組件keystone、網(wǎng)絡(luò)和地址管理組件Neutron、API計(jì)算組件Nova和鏡像服務(wù)組件Glance。
3.1.3 Openstack Compute
Openstack Compute服務(wù)器是虛擬云桌面機(jī)房系統(tǒng)計(jì)算中心,同樣部署在Ubuntu 13.04 server版本的Linux操作系統(tǒng)上。主要安裝Nova組件提供計(jì)算服務(wù),為VMware提供調(diào)度、遷移和控制等虛擬服務(wù)。Compute服務(wù)器承載著虛擬機(jī),可以在使用過程中增加虛擬機(jī)的數(shù)量,具有可擴(kuò)展性。
3.1.4 Database
虛擬云桌面機(jī)房系統(tǒng)部署數(shù)據(jù)庫是PostgreSQL9.3.1,我們把它可以單另部署一臺(tái)服務(wù)器,也可以直接部署在Web
服務(wù)器中,若直接部署在Web Server中,那只需要安裝Django的PostgreSQL的驅(qū)動(dòng)就可以操作數(shù)據(jù)庫,因?yàn)镈jango自帶面向模塊的映射器。
3.1.5 Client Server
客戶端服務(wù)器用來運(yùn)行web客戶端,他需要部署一些接入軟件來支持各種不同的操作系統(tǒng),可以直接部署在Web服務(wù)器中。
3.2 客戶端接入系統(tǒng)需求
虛擬云桌面機(jī)房系統(tǒng)客戶端接入應(yīng)滿足如下要求:客戶端可從多種網(wǎng)絡(luò)環(huán)境下訪問云桌面,并且在網(wǎng)絡(luò)性能較差的情況下(如帶寬不足、網(wǎng)絡(luò)性能不穩(wěn)定、斷網(wǎng)等)終端云桌面環(huán)境仍然可以正常使用。單臺(tái)客戶端設(shè)備訪問桌面云系統(tǒng)時(shí)可以獲得一種或者多種系統(tǒng)環(huán)境(如Win10/Vista等個(gè)人操作系統(tǒng)、Win2008/2012等服務(wù)器操作系統(tǒng)、Linux系統(tǒng)、具體的應(yīng)用軟件等)??蛻羰褂迷谱烂鏁r(shí),云桌面的應(yīng)用程序和界面應(yīng)具備支持3D圖形渲染、支持高清視頻、支持用戶自定義桌面和應(yīng)用軟件等用戶體驗(yàn)。
3.3 服務(wù)器端運(yùn)維管理需求
虛擬云桌面機(jī)房系統(tǒng)運(yùn)維管理應(yīng)滿足如下要求:管理員可以在一個(gè)界面內(nèi)自由切換完成對(duì)所有管控服務(wù)器的管理,并在不影響用戶使用的情況下維護(hù)系統(tǒng)環(huán)境;服務(wù)器端可以批量設(shè)置修改客戶端的IP地址、機(jī)器名等信息, 并遠(yuǎn)程對(duì)客戶端進(jìn)行桌面協(xié)助和遠(yuǎn)程開關(guān)機(jī),并可以在用戶授權(quán)下進(jìn)行屏幕查看遠(yuǎn)程命令,消息的推送;服務(wù)器運(yùn)維平臺(tái)在負(fù)載允許的前提下盡可能滿足用戶個(gè)性化設(shè)置,面臨大規(guī)模、復(fù)雜的云桌面部署環(huán)境,控制臺(tái)管理可以極大地降低和簡化管理負(fù)擔(dān),提高管理率和用戶滿意度;虛擬云桌面機(jī)房系統(tǒng)在運(yùn)行過程中,能夠?qū)υ谱烂婧蛻?yīng)用程序的相關(guān)數(shù)據(jù)進(jìn)行在線備份,并在需要的時(shí)候進(jìn)行恢復(fù)。
3.4 服務(wù)器端參數(shù)配置
虛擬云桌面機(jī)房系統(tǒng)服務(wù)器設(shè)備配置參數(shù)如表2所示。
通過對(duì)基于OpenStack的虛擬云桌面系統(tǒng)架構(gòu)的設(shè)計(jì)和對(duì)虛擬云桌面機(jī)房系統(tǒng)的實(shí)地部署及建設(shè),虛擬云桌面系統(tǒng)滿足了大部分機(jī)房的要求,該系統(tǒng)充分利用了虛擬化技術(shù)的高密度、易管理特性,不僅提高了服務(wù)器資源利用率還降低了成本。把傳統(tǒng)虛擬桌面通過OpenStack開源云計(jì)算平臺(tái)來開發(fā),就把OpenStack自身優(yōu)勢(shì)融入了云桌面系統(tǒng)中,解決了企業(yè)事業(yè)單位機(jī)房建設(shè)、管理維護(hù)、用戶操作等問題,實(shí)現(xiàn)了統(tǒng)一標(biāo)準(zhǔn)化管理、數(shù)據(jù)安全管控、節(jié)能減排降低成本的目標(biāo)。
表2 虛擬云桌面機(jī)房系統(tǒng)服務(wù)器配置表
[1] 李小寧,李磊,金連文等.基于OpenStack構(gòu)建私有云計(jì)算平臺(tái)[J].電信科學(xué),2012,9:2-7.
[2] 張毅.基于OpenStack的虛擬桌而云系統(tǒng)服務(wù)端設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2013:23-25.
[3] 朱近之.智慧的云計(jì)算[M].北京:北京電子工業(yè)出版社,2010:125-130.
[4] 何一輝,向俊,黎竹娟.云計(jì)算與遠(yuǎn)程教育[M].南寧:廣西民族出版社,2014:237-238.
[5] 雷萬云.云計(jì)算技術(shù)、平臺(tái)及應(yīng)用案例[M].北京:清華大學(xué)出版社,2011:17-19.
[6] 耿向東. 走下云端,讓云計(jì)算落地開花[J]. 中國新通信,2012,03:49-52.
[7] 鄧倩妮,陳全.云計(jì)算及其關(guān)鍵技術(shù) [J].計(jì)算機(jī)應(yīng)用,2009,29:71-73.
[8] 雷萬云.云計(jì)算技術(shù)、平臺(tái)及應(yīng)用案例[M].北京:清華大學(xué)出版社,2011:38-39.
Construction Scheme of Virtual Cloud Desktop System Based on OpenStack
Wu Jianing
(Shaanxi Xueqian Normal University, Xi’an 710100,China)
Virtual cloud desktop system based on OpenStack is a deep integration of the OpenStack and cloud desktop. This paper analyzes the application benefits of the virtual cloud desktop system. It designs the overall structure and the main management module of the virtual cloud desktop system based on OpenStack. It also deploys a computer room system for virtual cloud desktop, and gives out its construction scheme.
Virtual cloud desktop; OpenStack; Cloud computing
陜西學(xué)前師范學(xué)院校級(jí)教學(xué)改革項(xiàng)目 (16JG036Y)
武佳寧(1981-),女,西安人,高級(jí)工程師,研究方向云計(jì)算、虛擬化技術(shù)。
1007-757X(2017)05-0031-04
TP311
A
2016.12.25)