




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
II摘要隨著虛擬化技術(shù)和計(jì)算機(jī)硬件的發(fā)展,越來越多的企業(yè)、政府、學(xué)校等機(jī)構(gòu)開始應(yīng)用桌面虛擬化產(chǎn)品,以提升辦公效率,降低運(yùn)營成本。桌面虛擬化系統(tǒng)的核心思想是“集中管理、分布顯示”,一方面為用戶提供虛擬桌面環(huán)境,使用戶可以隨時(shí)隨地訪問自己的桌面環(huán)境進(jìn)行辦公或?qū)W習(xí),提供了靈活、安全的桌面體驗(yàn);另一方面所有用戶的虛擬桌面交由系統(tǒng)后臺進(jìn)行集中管理,大大降低了企業(yè)的計(jì)算機(jī)運(yùn)維成本。傳統(tǒng)的桌面虛擬化技術(shù)架構(gòu)是VDI(VirtualDesktopInfrastructure)架構(gòu),特點(diǎn)是“集中存儲、集中運(yùn)算”,其特點(diǎn)決定了用戶必須通過網(wǎng)絡(luò)才可以訪問自己的桌面,并且VDI架構(gòu)產(chǎn)品對網(wǎng)絡(luò)帶寬和服務(wù)器計(jì)算、存儲性能有著很高的要求。為克服VDI架構(gòu)下的服務(wù)器投入成本高、網(wǎng)絡(luò)依賴高、集中風(fēng)險(xiǎn)、外圍設(shè)備支持差等缺點(diǎn),Intel公司率先提出了新型的IDV(IntelligentDesktopVirtualization)架構(gòu),這是一種新穎的技術(shù)觀念,其采用的是“分布運(yùn)算、集中存儲”的方式來滿足用戶的需求,服務(wù)器負(fù)責(zé)管理和傳輸虛擬機(jī)鏡像,終端負(fù)責(zé)運(yùn)行虛擬桌面,這大大減輕了服務(wù)器的計(jì)算壓力和降低了帶寬要求,也從根本上提升了虛擬桌面的用戶體驗(yàn)。本文將面向教學(xué)實(shí)驗(yàn)場景,設(shè)計(jì)并開發(fā)基于KVM與IDV架構(gòu)的桌面虛擬化系統(tǒng),并重點(diǎn)研究桌面虛擬化Linux客戶端的設(shè)計(jì)與實(shí)現(xiàn)。其中,本文通過LibvirtAPI實(shí)現(xiàn)對虛擬桌面及各類虛擬資源的配置和管理;基于NFS、Ceph和本地存儲方案構(gòu)建鏡像資源存儲池;基于OpenvSwitch構(gòu)建VXLANTunnel實(shí)現(xiàn)虛擬桌面跨物理網(wǎng)絡(luò)的通信方案。本文最后對客戶端的運(yùn)行效果和性能進(jìn)行了測試和分析并采取了可行優(yōu)化方案,改善用戶的桌面體驗(yàn)。關(guān)鍵詞:桌面虛擬化;IDV架構(gòu);Linux客戶端
AbstractWiththedevelopmentofvirtualizationtechnologyandcomputerhardware,moreandmoreenterprises,governments,schoolsandotherinstitutionshavebeguntoapplydesktopvirtualizationproductstoimproveofficeefficiencyandreduceoperatingcosts.Thecoreideaofdesktopvirtualizationsystemis"centralizedmanagementanddistributiondisplay".Ontheonehand,itprovidesvirtualdesktopenvironmentsothatuserscanaccesstheirdesktopenvironmentanytimeandanywhereforworkorlearning,andprovidesflexibleandsecuredesktopexperience;thevirtualdesktoptothesystembackgroundforcentralizedmanagement,greatlyreducingthecomputeroperationcostofenterprises.ThetraditionaldesktopvirtualizationtechnologyarchitectureisVDI(VirtualDesktopInfrastructure)architecture,characterizedby"centralizedstorage,centralizedcomputing",itscharacteristicsdeterminethatusersmustpassthroughthenetworktoaccesstheirowndesktop,andVDIarchitectureproductshavehighrequirementsfornetworkbandwidthandservercomputingandstorageperformance.Toovercomethedisadvantagesofhighserverinputcost,highnetworkdependence,centralizedrisk,andpoorperipheraldevicesupportundertheVDIarchitecture,InteltooktheleadinproposinganewIDV(IntelligentDesktopVirtualization)architecture,Thisisanovelideaoftechnology,Itusesthe"distributionoperation,centralizedstorage"waytomeettheneedsofusers,Theserverisresponsibleformanagingandtransmittingvirtualmachinemirrors,Theterminalisresponsibleforrunningthevirtualdesktop,Thisgreatlyreducesthecomputationalpressureontheserverandreducesthebandwidthrequirements,Italsofundamentallyimprovestheuserexperienceofthevirtualdesktop.ThispaperwilldesignanddevelopadesktopvirtualizationsystembasedonKVMandIDVarchitectureforteachingexperimentscenarios,andfocusonthedesignandimplementationofthedesktopvirtualizationLinuxclient.ThispaperrealizestheconfigurationandmanagementofvirtualdesktopandvariousvirtualresourcesthroughLibvirtAPI;buildsmirrorresourcestoragepoolbasedonNFS,Cephandlocalstoragescheme;andbuildsVXLANTunnelforthecommunicationschemeofvirtualdesktopacrossphysicalnetworkbasedonOpenvSwitch.Attheendofthispaper,theclienttestsandanalyzestherunningeffectandperformance,andadoptsthefeasibleoptimizationschemetoimprovetheuser'sdesktopexperience.Keywords:Desktopvirtualization;IDVschema;Linuxclient
目錄TOC\o"1-3"\h\u473第一章緒論 1251661.1研究背景及意義 1129451.2本文的組織結(jié)構(gòu) 13858第二章桌面虛擬化相關(guān)技術(shù)介紹 3274312.1桌面虛擬化介紹 3137722.2桌面虛擬化主流架構(gòu)介紹 3240952.2.1VDI虛擬桌面基礎(chǔ)架構(gòu) 375672.2.2IDV智能桌面虛擬化架構(gòu) 46312.3桌面虛擬化的核心技術(shù) 5176102.3.1服務(wù)器虛擬化技術(shù) 5231982.3.2遠(yuǎn)程桌面協(xié)議 513031第三章系統(tǒng)需求分析 731173.1需求背景分析 729853.2系統(tǒng)角色劃分 756923.3功能性需求分析 768163.4非功能性需求分析 109099第四章系統(tǒng)設(shè)計(jì) 12325674.1系統(tǒng)整體架構(gòu)設(shè)計(jì) 1279004.2客戶端設(shè)計(jì)目標(biāo) 1497594.3客戶端框架結(jié)構(gòu)設(shè)計(jì) 1590074.4客戶端邏輯架構(gòu)設(shè)計(jì) 16253824.5客戶端功能結(jié)構(gòu)與模塊設(shè)計(jì) 1728348第五章系統(tǒng)功能實(shí)現(xiàn) 20222065.1客戶端登錄界面 20304295.2客戶端學(xué)生/教師界面 21257895.3客戶端管理員界面 2527732總結(jié) 2728190參考文獻(xiàn) 28第一章緒論1.1研究背景及意義在這個(gè)萬物互聯(lián)的時(shí)代,人們的工作和生活與互聯(lián)網(wǎng)和計(jì)算機(jī)變得密不可分。無論是各領(lǐng)域企業(yè)單位,還是學(xué)校、醫(yī)院和政府機(jī)關(guān),都部署了大量的電腦和服務(wù)器,這同時(shí)也產(chǎn)生了許多問題:首先,除了大量的PC成本外,對PC的長期運(yùn)維會(huì)帶來更大的開銷;其次,部分PC設(shè)備可能長期擱置,利用率低,這造成了極大的資源浪費(fèi);再次,本地桌面管理模式給管理人員帶來很大的工作負(fù)擔(dān)與不便;最后,由于人們生活節(jié)奏不斷變快,工作環(huán)境不斷變更,這對靈活的辦公方式的需求也越來越高。因此,在這樣的背景下誕生的桌面虛擬化技術(shù)就展現(xiàn)出了“鮮活”的生命力并得到了廣泛的支持與快速的發(fā)展。桌面虛擬化是指將計(jì)算機(jī)的操作系統(tǒng)桌面進(jìn)行虛擬化,將系統(tǒng)桌面與底層硬件解耦,達(dá)到桌面使用的靈活性。用戶能夠通過手機(jī)、平板、電腦等任何終端設(shè)備,利用網(wǎng)絡(luò)去訪問自己的桌面環(huán)境。傳統(tǒng)的桌面虛擬化架構(gòu)采用的是“集中存儲、集中運(yùn)算”的管理模式,將計(jì)算、存儲、網(wǎng)絡(luò)等資源統(tǒng)一部署在數(shù)據(jù)中心,通過服務(wù)器虛擬化技術(shù)將CPU、內(nèi)存、硬盤和其他I/O設(shè)備等硬件資源變成可動(dòng)態(tài)伸縮管理的虛擬資源池,桌面虛擬化平臺根據(jù)用戶的需求定制個(gè)性化桌面,通過網(wǎng)絡(luò)將虛擬化的桌面環(huán)境交付給終端設(shè)備。目前流行的桌面虛擬化架構(gòu)有兩種:傳統(tǒng)的VDI架構(gòu)和Intel率先提出的IDV架構(gòu)。VDI架構(gòu)的“集中存儲,集中管理,集中運(yùn)算”的特點(diǎn)決定了系統(tǒng)的一些“缺點(diǎn)”,包括網(wǎng)絡(luò)依賴性大、服務(wù)器計(jì)算性能要求高、服務(wù)器磁盤的讀寫性能要求高等,并且它的集中式存儲存在安全隱患。IDV架構(gòu)采取的是“集中存儲,集中管理,分布運(yùn)算”的運(yùn)維方式,將系統(tǒng)的計(jì)算分散到客戶端中,減輕服務(wù)器壓力的同時(shí)也減少了網(wǎng)絡(luò)的數(shù)據(jù)流量,這從根本上解決了桌面體驗(yàn)性差的問題。綜上,傳統(tǒng)的VDI架構(gòu)存在高成本、高帶寬和用戶體驗(yàn)差的缺陷,IDV架構(gòu)展現(xiàn)出了低成本、低帶寬、用戶體驗(yàn)良好的優(yōu)點(diǎn)。IDV架構(gòu)的桌面虛擬化方案無疑給傳統(tǒng)的桌面虛擬化技術(shù)存在的不足之處提供了很好的思路,因此對它的研究有著重大的意義。1.2本文的組織結(jié)構(gòu)本文的各章節(jié)的組織結(jié)構(gòu)如下:第一章,緒論。本章主要介紹課題的研究背景和意義,接著列舉本文的主要工作和創(chuàng)新點(diǎn),最后給出本論文的組織結(jié)構(gòu)。第二章,桌面虛擬化及客戶端依賴技術(shù)介紹。本章首先給出了桌面虛擬化技術(shù)的介紹,包括原理以及分類;其次,介紹并比較當(dāng)前桌面虛擬化使用的主流架構(gòu);接著,闡述了桌面虛擬化的核心技術(shù);最后對客戶端的研發(fā)所依賴的相關(guān)技術(shù)進(jìn)行介紹。第三章,桌面虛擬化客戶端框架設(shè)計(jì)。面對實(shí)驗(yàn)教學(xué)環(huán)境,本章首先給出基于IDV架構(gòu)的桌面虛擬化系統(tǒng)IDV-Desktop的整體架構(gòu)設(shè)計(jì)并解釋說明其中的核心組件,重點(diǎn)介紹客戶端IDV-Client的架構(gòu)設(shè)計(jì);接著對客戶端進(jìn)行需求分析,指明客戶端的目標(biāo),功能性需求和非功能性需求;然后描述客戶端的功能結(jié)構(gòu)和模塊設(shè)計(jì);第四章,桌面虛擬化客戶端具體實(shí)現(xiàn)。本章首先介紹客戶端程序IDV-Client的開發(fā)環(huán)境、代碼組織結(jié)構(gòu)和配置文件,接著介紹了客戶端窗口功能結(jié)構(gòu),最后重點(diǎn)分析客戶端的各個(gè)功能模塊的實(shí)現(xiàn)。第五章,系統(tǒng)部署與測試。本章對IDV-Desktop桌面虛擬化系統(tǒng)進(jìn)行打包與部署,對客戶端IDV-Client進(jìn)行桌面性能測試和體驗(yàn)桌面運(yùn)行效果,同時(shí)給出客戶端運(yùn)行的部分界面。結(jié)論部分對研究工作進(jìn)行全面總結(jié)并對未來的研究工作進(jìn)行展望。
第二章桌面虛擬化相關(guān)技術(shù)介紹2.1桌面虛擬化介紹桌面虛擬化是將桌面系統(tǒng)進(jìn)行虛擬化,滿足用戶桌面訪問的安全性、靈活性和高效性。在任何時(shí)間、地點(diǎn)和終端設(shè)備上都能通過互聯(lián)網(wǎng)訪問運(yùn)行于虛擬化平臺上的個(gè)人桌面,其中終端設(shè)備是不要求有高計(jì)算和存儲能力的瘦客戶端,可以使計(jì)算機(jī)、手機(jī)、平板、瘦終端盒等各種設(shè)備,達(dá)到安全、靈活和高效的辦公體驗(yàn)。瘦終端盒是一種體積小、內(nèi)置Android操作系統(tǒng)、CPU、內(nèi)存、顯卡、網(wǎng)卡和各種I/O端口的迷你臺式機(jī)。桌面虛擬化技術(shù)是建立在X86PC為標(biāo)準(zhǔn)的IT基礎(chǔ)架構(gòu)上,能夠最大化地利用硬件設(shè)施和對資源進(jìn)行優(yōu)化,因此對比于傳統(tǒng)的IT架構(gòu)有著很大的優(yōu)勢。2.2桌面虛擬化主流架構(gòu)介紹桌面虛擬化在技術(shù)架構(gòu)上有兩大陣營,一個(gè)是VM為代表的VDI,一個(gè)是Intel提出的IDV架構(gòu)。2.2.1VDI虛擬桌面基礎(chǔ)架構(gòu)VDI桌面虛擬化架構(gòu)將虛擬機(jī)與磁盤鏡像統(tǒng)一存放在數(shù)據(jù)中心的服務(wù)器及存儲設(shè)備中,虛擬桌面與客戶端通過網(wǎng)絡(luò)連接,所有的計(jì)算都發(fā)生在服務(wù)器上,所有的I/O讀寫都發(fā)送在存儲集群上。在VDI下,所有的計(jì)算、存儲和網(wǎng)絡(luò)資源高度集中在數(shù)據(jù)中心中,瘦終端借助桌面?zhèn)鬏攨f(xié)議(SPICE、RDP、ICA等)獲取服務(wù)器端推送過來的虛擬桌面影像。用戶可以隨時(shí)隨地訪問自己的桌面,實(shí)現(xiàn)桌面漫游。VDI給IT建設(shè)帶來的顯著挑戰(zhàn)包括:(1)高成本:要部署VDI辦公場景,在現(xiàn)有的IT基礎(chǔ)設(shè)施基礎(chǔ)上,還需要采購服務(wù)端的核心基礎(chǔ)設(shè)施,包括高可靠性存儲服務(wù)器、高性能計(jì)算服務(wù)器,可能還要采購新的瘦終端設(shè)備。部署完畢后可能還需要支付VDI軟件授權(quán)費(fèi)用,實(shí)施起來可能比傳統(tǒng)IT基礎(chǔ)架構(gòu)的成本還要高。(2)存儲方面要求高:一方面,存儲容量必需能夠滿足所有用戶的桌面鏡像、應(yīng)用程序和用戶數(shù)據(jù)的需求;另一方面,存儲性能直接影響到用戶的桌面體驗(yàn)。由于虛擬機(jī)和鏡像以集中式的方式存儲,而非分散到本地客戶機(jī)上,此時(shí),系統(tǒng)的存儲性能較容量而言變得更為重要,虛擬機(jī)數(shù)量的增多,對于存儲系統(tǒng)的性能需求較以往則呈指數(shù)增長。成百上千的虛擬機(jī)同時(shí)工作時(shí)的數(shù)據(jù)吞吐量會(huì)給存儲系統(tǒng)帶來巨大的讀寫壓力,VDI系統(tǒng)的性能受到存儲系統(tǒng)能夠支撐的IOPS影響。在極端情況,當(dāng)大量的虛擬機(jī)同時(shí)啟動(dòng)或登錄時(shí),可能會(huì)產(chǎn)生“啟動(dòng)風(fēng)暴”或“登錄風(fēng)暴”。更糟糕情況下,虛擬機(jī)從啟動(dòng)到桌面加載完成可能需要十幾分鐘甚至更久,這對終端用戶來說體驗(yàn)性是非常不友好的。(3)用戶體驗(yàn)不友好:再高效的遠(yuǎn)程桌面顯示協(xié)議也無法完全消除低帶寬、高延時(shí)的網(wǎng)絡(luò)給桌面體驗(yàn)帶來的影響。由于網(wǎng)絡(luò)帶寬、延時(shí)的制約,使得VDI桌面無法從根本上真正突破多媒體、3D建模、制圖設(shè)計(jì)等高顯卡要求應(yīng)用的瓶頸。VDI架構(gòu)圖如下:圖2-1VDI架構(gòu)圖2.2.2IDV智能桌面虛擬化架構(gòu)IDV是一種出現(xiàn)較晚的技術(shù)觀念,IDV架構(gòu)采取虛擬桌面“分布運(yùn)算”的方式來滿足用戶生產(chǎn)需求,同時(shí)管理員對虛擬桌面進(jìn)行“統(tǒng)一管理”。IDV架構(gòu)要求的客戶端不再是傳統(tǒng)的瘦客戶端,而是具備一定運(yùn)算能力的胖客戶端。用戶的桌面鏡像“集中存儲”在服務(wù)器端的數(shù)據(jù)中心中,按需分發(fā)到客戶端提供給虛擬機(jī)使用。虛擬桌面運(yùn)行在本地的虛擬機(jī)監(jiān)視器上,計(jì)算、存儲和網(wǎng)絡(luò)資源由本地提供,以此來獲取接近本地PC體驗(yàn)的虛擬桌面。相比與VDI架構(gòu),IDV有著如下一些優(yōu)點(diǎn):(1)成本低:在現(xiàn)有的IT基礎(chǔ)設(shè)施的前提下,不需要做大規(guī)模改造,通過IDV產(chǎn)品的部署即可快速獲得桌面虛擬化的優(yōu)勢。借助IDV,各機(jī)構(gòu)無需額外的基礎(chǔ)設(shè)施投入便可快速、方便地開展桌面虛擬化辦公場景。(2)降低存儲和網(wǎng)絡(luò)帶寬需求:將操作系統(tǒng)鏡像進(jìn)行分層管理,提高鏡像更新和創(chuàng)建新桌面鏡像的效率,并簡化了鏡像存儲。當(dāng)管理員將桌面鏡像分成邏輯層時(shí),可獨(dú)立管理每一層鏡像,最大程度地減少了鏡像的數(shù)量。IDV要求在客戶端運(yùn)行的本地鏡像與云端鏡像同步,保證管理員和用戶隨時(shí)使用黃金鏡像。同時(shí),IDV桌面運(yùn)行在客戶端本地并且允許離線運(yùn)行,這最大程度地減少了存儲和網(wǎng)絡(luò)帶寬需求,也增加了用戶的移動(dòng)性。(3)用戶體驗(yàn)流暢:虛擬機(jī)在客戶端本地運(yùn)行,對服務(wù)器的性能要求降至最低,同時(shí),客戶端對宿主機(jī)和虛擬機(jī)進(jìn)行性能優(yōu)化,提升了用戶體驗(yàn)。本地執(zhí)行虛擬機(jī)帶來了比VDI的多媒體重定向更佳的性能,并可完美支持多媒體、3D影像設(shè)計(jì)、視頻交互等應(yīng)用。IDV架構(gòu)圖如下:圖2-2IDV架構(gòu)圖2.3桌面虛擬化的核心技術(shù)服務(wù)器虛擬化技術(shù)和遠(yuǎn)程桌面協(xié)議的發(fā)展給桌面虛擬化技術(shù)的誕生打下了鋪墊,因此,桌面虛擬化的核心技術(shù)是基于服務(wù)器的服務(wù)器虛擬化技術(shù)和基于連接代理的遠(yuǎn)程桌面協(xié)議。2.3.1服務(wù)器虛擬化技術(shù)服務(wù)器虛擬化是把多個(gè)服務(wù)器整合成一個(gè)虛擬服務(wù)器或把一個(gè)服務(wù)器拆分成多個(gè)虛擬服務(wù)器以達(dá)到提高資源利用率的目的,將服務(wù)器專用于單個(gè)應(yīng)用或用于多個(gè)應(yīng)用隔離。服務(wù)器虛擬化的三方面內(nèi)容分別是平臺虛擬化、資源虛擬化以及應(yīng)用程序虛擬化。其中,平臺虛擬化技術(shù)是核心。利用平臺虛擬化技術(shù),忽略平臺運(yùn)行的硬件設(shè)施的物理屬性,按照需求在硬件層和操作系統(tǒng)層之間通過軟件定義的方式創(chuàng)建多個(gè)相互獨(dú)立的虛擬化平臺環(huán)境,從中得到和實(shí)際硬件環(huán)境相同的操作體驗(yàn)。平臺虛擬化技術(shù)分為硬件抽象級虛擬化、操作系統(tǒng)級虛擬化、指令級虛擬化、硬件輔助虛擬化。其中,硬件輔助虛擬化主要目的是提高虛擬化性能。例如,虛擬機(jī)監(jiān)視器在正常情況處于系統(tǒng)的最高級別權(quán)限,較低級別的虛擬機(jī)是無法執(zhí)行最高權(quán)限的,在借助Intel-VT技術(shù)或AMD-V硬件輔助虛擬化技術(shù)后,虛擬機(jī)可以創(chuàng)建獨(dú)立的寄存器系統(tǒng)進(jìn)而完成CPU指令的編譯,不再需要借助虛擬機(jī)監(jiān)視器的協(xié)助,這大大提升了虛擬機(jī)執(zhí)行CPU指令的效率。用戶可以進(jìn)行BIOS查看計(jì)算機(jī)硬件是否支持硬件輔助虛擬化。2.3.2遠(yuǎn)程桌面協(xié)議遠(yuǎn)程桌面協(xié)議也叫遠(yuǎn)程連接協(xié)議,它能夠讓用戶使用終端設(shè)備完成對自己的遠(yuǎn)程桌面的訪問和控制。當(dāng)前主要的遠(yuǎn)程協(xié)議有VMWare的PCoIP協(xié)議、Citrix的ICA協(xié)議、微軟的RDP協(xié)議、紅帽的SPICE協(xié)議和AT&T研發(fā)的VNC協(xié)議。本文實(shí)現(xiàn)的桌面虛擬化系統(tǒng)選用的傳輸協(xié)議是QEMU-KVM天然支持的SPICE,在實(shí)現(xiàn)學(xué)生觀看教師的共享桌面上采用的是VNC協(xié)議。
第三章系統(tǒng)需求分析3.1需求背景分析隨著計(jì)算機(jī)的普及,越來越多高校的專業(yè)課程都需要學(xué)生進(jìn)行上機(jī)實(shí)驗(yàn),不同課程的實(shí)驗(yàn)環(huán)境不盡相同,例如,操作系統(tǒng)課程需要Linux操作系統(tǒng)進(jìn)行課程實(shí)驗(yàn),設(shè)計(jì)類課程需要在Windows操作系統(tǒng)上使用專業(yè)的圖像/視頻處理軟件進(jìn)行課程實(shí)驗(yàn)。因此,機(jī)房管理員需要在每一臺計(jì)算機(jī)上安裝多種操作系統(tǒng)和各類軟件來滿足實(shí)驗(yàn)教學(xué)的需求。除此之外,機(jī)房管理員還需要定期對系統(tǒng)進(jìn)行維護(hù)、升級。這種機(jī)械式的對每臺計(jì)算機(jī)進(jìn)行環(huán)境搭建和維護(hù)升級使管理員不堪重負(fù),難以靈活地滿足各類實(shí)驗(yàn)教學(xué)的上機(jī)需求。桌面虛擬化產(chǎn)品正是為解決傳統(tǒng)的PC模式下的缺陷而誕生的。桌面虛擬化系統(tǒng)將桌面環(huán)境與硬件終端設(shè)備解耦,采用集中管控的方式,對桌面環(huán)境進(jìn)行統(tǒng)一的配置、更新和銷毀工作。現(xiàn)在已經(jīng)越來越多高校的機(jī)房采用桌面虛擬化產(chǎn)品來滿足日漸增多的實(shí)驗(yàn)教學(xué)需求。在實(shí)驗(yàn)教學(xué)背景下,本系統(tǒng)中的每一名學(xué)生的每門課程都對應(yīng)著一個(gè)虛擬桌面,桌面環(huán)境彼此隔離,出現(xiàn)故障可以快速恢復(fù)或直接遷移至新的計(jì)算機(jī)進(jìn)行課程實(shí)驗(yàn)。機(jī)房中的計(jì)算機(jī)只需安裝桌面虛擬化客戶端,由服務(wù)端通過傳輸協(xié)議下發(fā)實(shí)驗(yàn)教學(xué)的桌面環(huán)境至客戶端。這樣一來桌面環(huán)境的升級維護(hù)工作就從線下轉(zhuǎn)移到了云端,統(tǒng)一進(jìn)行管理,省去了機(jī)房管理員機(jī)械式的維護(hù)工作時(shí)間,也提升了桌面管理的靈活性。3.2系統(tǒng)角色劃分在高校的實(shí)驗(yàn)教學(xué)背景下,本系統(tǒng)劃分為以下三類角色:1)管理員:負(fù)責(zé)維護(hù)系統(tǒng)正常運(yùn)行,主要職責(zé)包括:管理系統(tǒng)的所有用戶、管理存儲池及各類鏡像、管理虛擬網(wǎng)絡(luò)配置、為學(xué)生下發(fā)課程桌面和實(shí)時(shí)監(jiān)控系統(tǒng)運(yùn)行數(shù)據(jù)等。同時(shí),管理員充當(dāng)教務(wù)員的職責(zé)進(jìn)行課程信息、班級信息、教師信息和學(xué)生信息的錄入并安排所屬關(guān)系,建立虛擬桌面和相應(yīng)課程的關(guān)聯(lián)關(guān)系。上述功能需要管理員登錄桌面虛擬化客戶端或登錄基于Web的后臺管理系統(tǒng)進(jìn)行操作。2)學(xué)生:是使用虛擬桌面的主體,主要職責(zé)包括:獲取課程列表、設(shè)置本地虛擬機(jī)的運(yùn)行參數(shù)、選擇并運(yùn)行一門課程的虛擬桌面、保存桌面會(huì)話數(shù)據(jù)至云端和從云端下拉桌面會(huì)話數(shù)據(jù)繼續(xù)實(shí)驗(yàn)等。上述功能需要學(xué)生登錄桌面虛擬化客戶端進(jìn)行操作。3)教師:負(fù)責(zé)進(jìn)行教學(xué)實(shí)驗(yàn)指導(dǎo),主要職責(zé)包括:查看課程列表、選擇并登錄專屬桌面環(huán)境、共享屏幕對學(xué)生說明實(shí)驗(yàn)內(nèi)容、查看學(xué)生登錄狀態(tài)和查看考勤記錄等。上述功能需要教師登錄桌面虛擬化客戶端進(jìn)行操作。3.3功能性需求分析桌面虛擬化系統(tǒng)中的每一個(gè)角色都有其自身的功能需求,下面依次分析管理員、學(xué)生、教師三個(gè)角色的功能需求1)管理員需求分許如下:登錄:使用用戶ID及密碼登錄/注銷后臺管理系統(tǒng)和桌面虛擬化客戶端。修改密碼:修改自己的登錄密碼。用戶管理:對系統(tǒng)中的學(xué)生、教師、管理員進(jìn)行管理,管理內(nèi)容包括創(chuàng)建新用戶、刪除用戶、修改用戶密碼、管理用戶權(quán)限、管理登錄狀態(tài)。班級管理:對班級進(jìn)行管理,內(nèi)容包括創(chuàng)建班級、刪除班級、添加學(xué)生進(jìn)班級。課程管理:對課程進(jìn)行管理,內(nèi)容包括創(chuàng)建課程、刪除課程、添加班級進(jìn)課程、選擇授課老師、選擇課程使用的模板鏡像、選擇課程使用的虛擬網(wǎng)絡(luò)。存儲池管理:對系統(tǒng)存儲池進(jìn)行管理,內(nèi)容包括啟動(dòng)存儲池、停止存儲池、查看存儲池可用容量、查看存儲池中的鏡像數(shù)量。鏡像管理:對存儲池中的鏡像進(jìn)行管理,內(nèi)容包括在WEB控制臺查看鏡像使用狀態(tài)、查看鏡像占用空間、刪除鏡像;在桌面虛擬化客戶端對模板鏡像/數(shù)據(jù)盤鏡像執(zhí)行創(chuàng)建、更新和刪除操作。虛擬網(wǎng)絡(luò)管理:對虛擬網(wǎng)絡(luò)進(jìn)行管理,包括創(chuàng)建虛擬網(wǎng)絡(luò)、刪除虛擬網(wǎng)絡(luò)、更新虛擬網(wǎng)絡(luò)配置信息。桌面管理:對桌面進(jìn)行統(tǒng)一管理,包括批量創(chuàng)建桌面、批量刪除桌面、查看桌面運(yùn)行狀態(tài)和更新桌面配置信息。管理員用例圖如圖3-1所示。圖3-1管理員用例圖2)學(xué)生需求分析如下:登錄:使用用戶ID及密碼登錄桌面虛擬化客戶端。修改密碼:修改自己的登錄密碼。查看課程:查看自己參加的課程列表與課程信息,觀看老師的共享課程桌面。登錄桌面:選擇某門課程的桌面進(jìn)行登錄,進(jìn)入桌面控制面板。桌面同步:將本次桌面會(huì)話數(shù)據(jù)同步至云端,或從云端拉取桌面會(huì)話數(shù)據(jù)至本地。桌面配置:修改本地虛擬桌面的運(yùn)行參數(shù),包括CPU、內(nèi)存、磁盤、外設(shè)等。桌面管理:對課程桌面的運(yùn)行狀態(tài)進(jìn)行管理。模板鏡像管理:將模板鏡像緩存至本地、更新模板鏡像、刪除模板鏡像。數(shù)據(jù)鏡像管理:為桌面添加本地?cái)?shù)據(jù)盤鏡像、刪除數(shù)據(jù)盤鏡像和添加共享盤鏡像。學(xué)生用例圖如圖3-2所示。圖3-2學(xué)生用例圖3)教師需求分析如下:登錄:使用用戶ID及密碼登錄桌面虛擬化客戶端。修改密碼:修改自己的登錄密碼。教學(xué)管理:進(jìn)行實(shí)驗(yàn)教學(xué)管理,包括查看課程列表、查看學(xué)生列表、查看學(xué)生考勤記錄。桌面管理:對自己進(jìn)行授課的課程的桌面進(jìn)行管理,內(nèi)容包括登錄課程桌面、同步桌面、調(diào)整桌面運(yùn)行參數(shù)、管理桌面運(yùn)行狀態(tài)、共享桌面屏幕。模板鏡像管理:將模板鏡像緩存至本地、更新模板鏡像、刪除模板鏡像。數(shù)據(jù)鏡像管理:為桌面添加本地?cái)?shù)據(jù)盤鏡像、刪除數(shù)據(jù)盤鏡像和添加共享盤鏡像。教師用例圖如圖3-3所示。圖3-3教師用例圖3.4非功能性需求分析除了上述的功能性需求外,桌面虛擬化系統(tǒng)還要考慮以下幾點(diǎn)非功能性需求。(1)高可用性:IDV架構(gòu)的桌面虛擬化系統(tǒng)采用計(jì)算、存儲分離的運(yùn)行模式,鏡像存儲在云端的分布式系統(tǒng)中,虛擬機(jī)運(yùn)行在本地客戶端上,不受服務(wù)器性能影響。一旦出現(xiàn)網(wǎng)絡(luò)中斷情況,客戶端可切換至離線模式,繼續(xù)為用戶提供桌面環(huán)境,保證了系統(tǒng)的高可用性。(2)易用性:IDV桌面虛擬化客戶端為不同的角色設(shè)計(jì)了不同的UI操作界面。用戶只需登錄客戶端,即可快速找到各類功能入口。除此之外,系統(tǒng)還為管理員提供了基于Web的桌面后臺管理系統(tǒng)。管理員只需使用瀏覽器登錄后臺管理系統(tǒng),即可在Web端對系統(tǒng)進(jìn)行統(tǒng)一管控,這些都保證了系統(tǒng)的簡單易用。(3)易維護(hù)性:實(shí)時(shí)記錄客戶端程序和服務(wù)端程序的運(yùn)行日志,方便系統(tǒng)運(yùn)行出錯(cuò)時(shí)進(jìn)行故障排查和進(jìn)行系統(tǒng)維護(hù)。例如,當(dāng)用戶的桌面環(huán)境出現(xiàn)故障、無法正常運(yùn)行時(shí),管理員可快速恢復(fù)該桌面,或創(chuàng)建一個(gè)新的桌面環(huán)境供用戶使用。(4)安全性:系統(tǒng)需要保障桌面數(shù)據(jù)的安全,為桌面使用者提供管控網(wǎng)絡(luò)與外設(shè)接入策略的能力。例如,當(dāng)需要禁止桌面使用外網(wǎng)時(shí),管理員可禁用虛擬桌面訪問外網(wǎng)的權(quán)限,僅可使用虛擬的局域網(wǎng);當(dāng)需要禁止U盤等外設(shè)連接桌面拷貝敏感數(shù)據(jù)時(shí),管理員可禁用桌面的外設(shè)連接權(quán)限,屏蔽U盤等不被允許接入的外部設(shè)備。
第四章系統(tǒng)設(shè)計(jì)4.1系統(tǒng)整體架構(gòu)設(shè)計(jì)基于IDV架構(gòu)的桌面虛擬化系統(tǒng)以“集中存儲、集中管理、分布運(yùn)行”為架構(gòu)的設(shè)計(jì)理念進(jìn)行構(gòu)建,以教學(xué)實(shí)驗(yàn)環(huán)境為背景進(jìn)行系統(tǒng)開發(fā)?;贗DV架構(gòu)的桌面虛擬化系統(tǒng)IDV-Desktop的整體架構(gòu)如圖4-1所示。圖4-1系統(tǒng)整體架構(gòu)圖該架構(gòu)主要由4部分構(gòu)成:存儲集群:存儲集群使用Ceph分布式文件系統(tǒng)和NFS作為后端鏡像的存儲方案,包括母盤鏡像、用戶桌面盤鏡像、共享數(shù)據(jù)盤鏡像的存儲。對于讀需求量大的母盤鏡像使用Ceph作為存儲方案。2)計(jì)算集群:計(jì)算集群主要用來作為云端虛擬機(jī)的宿主機(jī),底層同樣基于KVM虛擬化環(huán)境。在某些場景下例如管理員制作模板鏡像時(shí),會(huì)在云端運(yùn)行虛擬機(jī)對模板鏡像進(jìn)行修改,因此需要計(jì)算集群來提供在云端運(yùn)行虛擬機(jī)的基本能力。3)服務(wù)端主機(jī):服務(wù)端主機(jī)主要運(yùn)行服務(wù)端程序、IDVWeb管理控制臺、MySQL數(shù)據(jù)庫。服務(wù)端基于Go+Gin+GORM開發(fā),使用MySQL數(shù)據(jù)庫,通過RESTfulAPI為客戶端程序和管理員的Web控制臺提供服務(wù),使用libvirtAPI調(diào)度計(jì)算集群中的虛擬機(jī)運(yùn)行和通過SSH管理集群。提供的服務(wù)包括虛擬機(jī)管理、存儲管理、網(wǎng)絡(luò)管理、用戶管理、課程管理、配置管理、數(shù)據(jù)庫管理、身份管理、策略管理和資源管理。IDVWeb管理控制臺基于Node.js+Vue.js+Element-ui開發(fā),為管理員提供統(tǒng)一的管理入口,調(diào)度服務(wù)端相應(yīng)的API對系統(tǒng)進(jìn)行管理。4)客戶端主機(jī):客戶端主機(jī)操作系統(tǒng)要求是具有KVM虛擬化環(huán)境的Linux操作系統(tǒng),并且客戶端主機(jī)是必須具備一定運(yùn)算能力的胖客戶端,主要的工作的運(yùn)行客戶端程序、本地運(yùn)行虛擬機(jī)、本地緩存虛擬機(jī)鏡像。客戶端程序基于Electron+React.js+Material-ui開發(fā),通過LibvirtAPI以及Shell命令對虛擬機(jī)及相關(guān)的資源進(jìn)行管理,調(diào)用服務(wù)端API獲取用戶的虛擬桌面相關(guān)信息和通信,為Web控制臺管理員提供客戶端API實(shí)現(xiàn)管理員對本地桌面的遠(yuǎn)程控制,并對虛擬機(jī)鏡像進(jìn)行上傳、下載、制作和更新等操作。客戶端程序以實(shí)驗(yàn)教學(xué)環(huán)境為開發(fā)背景,IDV桌面架構(gòu)下,各個(gè)虛擬機(jī)運(yùn)行于不同的物理宿主機(jī)上,對于同一課程的虛擬機(jī)之間網(wǎng)絡(luò)相互隔離,無法通信,此處借助OpenvSwitch或其他虛擬網(wǎng)絡(luò)方案,實(shí)現(xiàn)不同物理節(jié)點(diǎn)上的虛擬機(jī)網(wǎng)絡(luò)互通。本系統(tǒng)中客戶端程序和服務(wù)端程序通過RESTful風(fēng)格的HTTP方式進(jìn)行交互。以普通用戶通過客戶端登錄自己的桌面的過程為例,時(shí)序圖如圖4-2所示。其流程大概如下,用戶在客戶端的登錄窗口輸入用戶名和密碼,發(fā)送登錄請求給服務(wù)端,若身份校驗(yàn)通過,客戶端打開用戶操作窗口,用戶點(diǎn)擊獲取桌面的按鈕發(fā)送獲取桌面請求給服務(wù)端,客戶端收到桌面列表信息后進(jìn)行展示,用戶選擇要使用的桌面,若該桌面在本地未初始化,用戶可以選擇對其進(jìn)行初始化,具體初始化過程將在后面介紹,而后進(jìn)入該桌面的操作界面,點(diǎn)擊啟動(dòng)按鈕即可在本地創(chuàng)建虛擬機(jī)并使用虛擬桌面顯示工具進(jìn)行顯示。啟動(dòng)后發(fā)送桌面啟動(dòng)信息的請求給服務(wù)端。圖4-2普通用戶登錄桌面時(shí)序客戶端通過RESTfulAPI訪問服務(wù)端,獲取用戶及桌面相關(guān)信息,Web后臺管理系統(tǒng)也通過RESTfulAPI訪問客戶端,以此進(jìn)行對客戶端的遠(yuǎn)程操控。以IDV-Web遠(yuǎn)程關(guān)閉客戶端的虛擬機(jī)為例,時(shí)序圖如圖4-3所示。監(jiān)聽進(jìn)程的Web應(yīng)用框架為Express。圖4-3IDV-Web遠(yuǎn)程關(guān)閉客戶端虛擬機(jī)時(shí)序圖4.2客戶端設(shè)計(jì)目標(biāo)客戶端的開發(fā)基于實(shí)驗(yàn)教學(xué)環(huán)境,以學(xué)生為普通用戶的身份前提下,本文將設(shè)計(jì)一個(gè)基于IDV架構(gòu)的桌面虛擬化Linux客戶端,IDV架構(gòu)的桌面虛擬化理念是一種新型的桌面虛擬化解決方案,它的出現(xiàn)彌補(bǔ)了傳統(tǒng)VDI架構(gòu)的桌面虛擬化系統(tǒng)的不足,同時(shí)增加了許多特有的功能??蛻舳说闹饕繕?biāo)如下:1)允許離線運(yùn)行。發(fā)生網(wǎng)絡(luò)中斷時(shí),用戶可以繼續(xù)使用桌面辦公。普通用戶在之前登錄過的機(jī)器可以離線登錄客戶端。2)支持網(wǎng)絡(luò)啟動(dòng)。用戶初始化桌面時(shí),在本地沒有緩存母盤和桌面查分盤的情況下,用戶可以選擇母盤和桌面查分盤的位置都為遠(yuǎn)端,直接通過網(wǎng)絡(luò)讀取磁盤鏡像數(shù)據(jù)啟動(dòng)桌面。3)桌面互通與隔離。普通用戶可以同時(shí)啟動(dòng)多個(gè)桌面,每個(gè)桌面對應(yīng)一個(gè)課程,處在不同物理機(jī)中同一課程的桌面可以相互訪問,以進(jìn)行課程實(shí)驗(yàn)。處在同一物理機(jī)中的不同課程的桌面相互隔離。4)個(gè)性化配置桌面。用戶在桌面初始化完畢后可以修改桌面的本地初始配置信息,比如CPU、內(nèi)存、磁盤、CDROM等桌面參數(shù)。5)鏡像制作和更新。鏡像制作和更新的目標(biāo)包括母盤和數(shù)據(jù)盤。該項(xiàng)功能是管理員的功能,在IDV桌面虛擬化系統(tǒng)中,大部分的數(shù)據(jù)庫CRUD操作都整合到了Web管理控制臺中,考慮到Web的局限性和性能方面,管理員對母盤/數(shù)據(jù)盤的制作和更新等操作需要由桌面端完成。管理員對用戶桌面統(tǒng)一升級時(shí),只需對母盤升級即可。4.3客戶端框架結(jié)構(gòu)設(shè)計(jì)系統(tǒng)采用C/S架構(gòu),即“客戶端/服務(wù)器”模式,這種模式將系統(tǒng)的業(yè)務(wù)請求實(shí)現(xiàn)邏輯部分集中到了后臺服務(wù)端上,由于IDV架構(gòu)的“集中存儲,分布運(yùn)算”的特點(diǎn),虛擬桌面運(yùn)行所需要的計(jì)算資源由各個(gè)客戶端操作系統(tǒng)自身提供,由于采用了IDV架構(gòu),虛擬化系統(tǒng)的計(jì)算核心部分由后臺服務(wù)器上轉(zhuǎn)移到了客戶端操作系統(tǒng)上,這大大增加了客戶端的開發(fā)和維護(hù)難度??蛻舳艘筮\(yùn)行在有KVM虛擬化能力的Linux操作系統(tǒng)上,Linux客戶端的開發(fā)使用基于Node.js和Chromium的Electron框架,直接使用JS,HTML和CSS構(gòu)建桌面應(yīng)用,這大大縮短了客戶端開發(fā)周期。Electron框架將程序分為主進(jìn)程和渲染進(jìn)程。主進(jìn)程主要負(fù)責(zé)創(chuàng)建窗口和監(jiān)聽窗口事件,一個(gè)Electron應(yīng)用只有一個(gè)主進(jìn)程,使用ipcMain監(jiān)聽渲染進(jìn)程動(dòng)作,使用函數(shù)給渲染進(jìn)程發(fā)送消息。渲染進(jìn)程與主進(jìn)程創(chuàng)建的窗口一一對應(yīng),每個(gè)窗口運(yùn)行在自己的渲染進(jìn)程中,使用ipcRenderer與主進(jìn)程通信。使用React和Material-UI框架實(shí)現(xiàn)各個(gè)窗口的界面渲染,通過調(diào)用各模塊功能實(shí)現(xiàn)界面上的業(yè)務(wù)邏輯功能??蛻舳送ㄟ^調(diào)用shell命令進(jìn)行系統(tǒng)調(diào)用,例如virsh、qemu-img、pidstat等,通過RESTful接口與服務(wù)端和Web控制臺進(jìn)行通信。在制作母盤鏡像和同步鏡像時(shí),客戶端直接訪問存儲集群服務(wù)器和計(jì)算集群服務(wù)器。在本地使用OpenvSwitch配置vxlan隧道和對本地ceph客戶端進(jìn)行配置后,使用virsh定義vxlan網(wǎng)絡(luò)和ceph存儲池,為虛擬桌面提供跨主機(jī)的虛擬局域網(wǎng)和后端操作系統(tǒng)母盤鏡像。圖4-4客戶端架構(gòu)設(shè)計(jì)4.4客戶端邏輯架構(gòu)設(shè)計(jì)IDV桌面虛擬化客戶端IDV-Client的邏輯架構(gòu)如圖4-5所示。IDV-Client的系統(tǒng)環(huán)境從邏輯上根據(jù)職責(zé)的不同將系統(tǒng)劃分為五個(gè)不同的層次,自底向上分別是物理層、操作系統(tǒng)層、虛擬化層、業(yè)務(wù)功能層和UI層。這五層構(gòu)成了IDV-Client的主體部分。1)物理層,由客戶端主機(jī)、交換機(jī)設(shè)備和路由器設(shè)備等構(gòu)成。其中,客戶端主機(jī)要求是具有一定運(yùn)算能力的胖客戶機(jī)并且其處理器必須集成硬件輔助虛擬化(IntelVT-x、AMD-V)。在vCPU運(yùn)行效率方面有硬件支持,其效率是比較高的;若內(nèi)存虛擬化有硬件支持(IntelEPT、AMDNPT),內(nèi)存虛擬化效率也會(huì)提高。客戶端主機(jī)提供本地的CPU資源、內(nèi)存資源和磁盤資源,交換機(jī)和路由器提供網(wǎng)絡(luò)資源,物理層向上層提供基本的硬件基礎(chǔ)。2)操作系統(tǒng)層,由Linux操作系統(tǒng)和運(yùn)行在其上的Libvirt、Inotify、Rsync、NFS、Ceph、OpenvSwitch等軟件構(gòu)成。之所以選擇Linux操作系統(tǒng),是因?yàn)榇蠖鄶?shù)的Linux發(fā)行版集成了KVM模塊。這些被采用的軟件技術(shù)將在之后的章節(jié)中詳細(xì)介紹。Linux操作系統(tǒng)和其上的軟件為上層中的虛擬化層和業(yè)務(wù)功能層提供API接口和系統(tǒng)調(diào)用。在整個(gè)客戶端系統(tǒng)中起到承上啟下的作用。3)虛擬化層,由hypervisor構(gòu)成,客戶端程序和虛擬化層中的hypervisor作為進(jìn)程共同運(yùn)行在基礎(chǔ)操作系統(tǒng)之上。Hypervisor是所有虛擬化技術(shù)的核心,中斷地支持多工作負(fù)載遷移的能力是hypervisor的基本功能。本文中的hypervisor架構(gòu)被稱為托管型,構(gòu)建出一整套虛擬硬件平臺,虛擬機(jī)運(yùn)行在傳統(tǒng)操作系統(tǒng)上,創(chuàng)建的是硬件全仿真實(shí)例,底層和上層的操作系統(tǒng)可以完全無關(guān)化。本層使用虛擬化技術(shù)通過操作系統(tǒng)層提供的接口對物理層的資源進(jìn)行池化,創(chuàng)建計(jì)算池、存儲池和網(wǎng)絡(luò)池,向運(yùn)行在虛擬化層上虛擬機(jī)提供虛擬資源。本文所采用的虛擬化解決方案是基于硬件輔助的開源全虛擬化的QEMU-KVM,可以讓客戶機(jī)不經(jīng)過任何修改就能運(yùn)行在KVM環(huán)境中。虛擬化層所創(chuàng)建的虛擬機(jī)由上層的業(yè)務(wù)功能層配置、管理和監(jiān)控。4)業(yè)務(wù)功能層,由客戶端程序的功能模塊組成,使用操作系統(tǒng)層提供系統(tǒng)服務(wù)和虛擬機(jī)管理工具對由客戶端啟動(dòng)的所有虛擬桌面的運(yùn)行環(huán)境進(jìn)行管理,主要包括對桌面生命周期管理、桌面配置、桌面監(jiān)控和磁盤鏡像管理。這部分是整個(gè)客戶端的核心部分,負(fù)責(zé)完成對UI層的請求的處理和響應(yīng)、與服務(wù)端進(jìn)行通信。被管理的虛擬機(jī)可以分為兩層,虛擬操作系統(tǒng)層和虛擬應(yīng)用程序?qū)樱瑢?yīng)于桌面的母盤鏡像和差分盤鏡像。虛擬機(jī)中的應(yīng)用程序調(diào)用硬件資源時(shí)的路徑是:VM內(nèi)核>Hypervisor>宿主機(jī)內(nèi)核。5)UI層位于頂層,直接與用戶打交道。UI層負(fù)責(zé)使用Remote-viewer遠(yuǎn)程桌面顯示工具來連接由虛擬化層創(chuàng)建的虛擬桌面,接受用戶的操作并作出正確的響應(yīng)??蛻舳说拈_發(fā)基于Electron框架、React框架和Material-ui框架,Electron是基于Chromium和Node.js的一個(gè)使用JavaScript,HTML和CSS等Web技術(shù)創(chuàng)建原生程序的框架,它負(fù)責(zé)比較難搞的部分,你只需把精力放在你的應(yīng)用的核心上即可。React是一個(gè)用于構(gòu)建用戶界面的JavaScript庫,它使創(chuàng)建交互式UI變得輕而易舉。Material-ui是當(dāng)下最流行的React界面框架,能更快速、更簡便地開發(fā)更美觀的用戶界面。UI層主要由登錄界面、桌面選擇界面、桌面管理界面和管理員界面組成。圖4-5客戶端邏輯架構(gòu)圖4.5客戶端功能結(jié)構(gòu)與模塊設(shè)計(jì)從功能的角度可以將客戶端劃分為桌面管理模塊、鏡像管理模塊、桌面監(jiān)控模塊、其他模塊四大模塊,每個(gè)模塊可以進(jìn)一步劃分為多個(gè)子模塊。其中,桌面管理模塊包括桌面初始化與銷毀、桌面運(yùn)行狀態(tài)管理和桌面?zhèn)€性化配置三個(gè)子模塊。鏡像管理模塊包括桌面盤鏡像管理、桌面附加盤鏡像管理、云端鏡像制作與更新、本地鏡像管理和母盤鏡像下載五個(gè)子模塊。桌面監(jiān)控模塊包括桌面運(yùn)行狀態(tài)監(jiān)控和桌面占用資源監(jiān)控等功能。其他模塊包括個(gè)人功能模塊、日志模塊。客戶端功能結(jié)構(gòu)如圖4-6所示。圖4-6客戶端功能結(jié)構(gòu)圖1)桌面管理模塊桌面初始化與銷毀:該模塊對桌面進(jìn)行初始化與銷毀,當(dāng)用戶在某客戶端第一次使用某桌面時(shí),需對該桌面進(jìn)行初始化后才能使用,初始化的內(nèi)容大概包括桌面盤鏡像創(chuàng)建、桌面配置文件初始化和更新用戶配置文件。當(dāng)用戶不再需要某一個(gè)桌面時(shí),可選擇銷毀該桌面,銷毀后需要再次初始化才能使用桌面,銷毀的內(nèi)容大概包括桌面盤鏡像刪除、桌面附加盤鏡像刪除、桌面配置文件刪除和更新用戶配置文件。桌面運(yùn)行狀態(tài)管理:該模塊對桌面的運(yùn)行狀態(tài)進(jìn)行管理,為桌面提供開機(jī)、暫停、關(guān)機(jī)等操作實(shí)現(xiàn)桌面狀態(tài)的轉(zhuǎn)換,每個(gè)桌面運(yùn)行狀態(tài)轉(zhuǎn)換操作對應(yīng)于該桌面管理界面的狀態(tài)按鈕,從一個(gè)狀態(tài)轉(zhuǎn)到另一個(gè)狀態(tài)后作出相應(yīng)的界面響應(yīng)。桌面?zhèn)€性化配置:該模塊對桌面運(yùn)行的相關(guān)資源參數(shù)進(jìn)行設(shè)置,用戶可以根據(jù)客戶端擁有的資源情況和自身需求對桌面運(yùn)行所需的CPU、內(nèi)存、磁盤、CDROM、網(wǎng)卡等資源進(jìn)行設(shè)置。2)鏡像管理模塊存儲池管理:該模塊負(fù)責(zé)本地存儲池的創(chuàng)建、刪除、啟動(dòng)及存儲池相關(guān)的操作。本地桌面盤鏡像管理:該模塊負(fù)責(zé)桌面盤鏡像的創(chuàng)建、刪除、修改和同步。本地附加盤鏡像管理:該模塊負(fù)責(zé)桌面附加盤鏡像的創(chuàng)建、刪除和熱插拔。本地母盤鏡像管理:該模塊負(fù)責(zé)母盤鏡像的下載和刪除。云端鏡像制作與更新:該模塊負(fù)責(zé)在線制作和更新母盤和數(shù)據(jù)盤。3)桌面監(jiān)控模塊桌面運(yùn)行狀態(tài)監(jiān)控:該模塊負(fù)責(zé)監(jiān)控已啟動(dòng)的虛擬桌面,當(dāng)桌面啟動(dòng)后,開啟對桌面的監(jiān)控直到桌面關(guān)閉,桌面關(guān)閉后根據(jù)桌面是否由客戶端關(guān)閉作出相應(yīng)動(dòng)作。桌面占用資源監(jiān)控:該模塊負(fù)責(zé)監(jiān)控桌面進(jìn)程運(yùn)行時(shí)占用客戶端主機(jī)的資源情況,監(jiān)控的內(nèi)容包括CPU使用率、內(nèi)存使用率、磁盤讀寫速率、網(wǎng)絡(luò)速率。4)其他模塊個(gè)人功能模塊:該模塊負(fù)責(zé)普通用戶和管理員的登錄和注銷,普通用戶登錄后將登錄信息保存到本地,下次可直接離線登錄,管理員只能進(jìn)行在線登錄??蛻舳艘匀魏涡问酵顺鰰r(shí),確保對用戶執(zhí)行了注銷操作。除此之外,還包括對客戶端配置和用戶個(gè)人配置文件的讀寫功能、教師對選了自己授課的某班級進(jìn)行考勤。日志模塊:該模塊負(fù)責(zé)記錄客戶端的使用信息,將客戶端的日志打印到控制臺和寫入日志文件中。記錄的內(nèi)容大概包括客戶端配置文件讀寫,用戶配置文件讀寫,桌面配置文件讀寫,桌面創(chuàng)建和銷毀,桌面生命周期變更,本地鏡像創(chuàng)建、刪除和同步、云端鏡像創(chuàng)建和更新,程序警告、錯(cuò)誤信息等。
第五章系統(tǒng)功能實(shí)現(xiàn)5.1客戶端登錄界面客戶端登錄界面如圖5-1所示,用于輸入普通用戶和管理員的驗(yàn)證信息,驗(yàn)證通過則跳轉(zhuǎn)到相應(yīng)界面。右上角的設(shè)置按鈕點(diǎn)擊后窗口翻轉(zhuǎn)至客戶端設(shè)置界面。圖5-1登錄界面客戶端設(shè)置界面如圖5-2所示,在這填寫服務(wù)端地址信息,打開母盤瀏覽窗口可進(jìn)行母盤下載操作。圖5-2客戶端設(shè)置界面母盤瀏覽窗口如圖5-3所示,可根據(jù)名稱、文件大小、修改日期和狀態(tài)進(jìn)行排序。點(diǎn)擊母盤名稱進(jìn)行母盤下載。圖5-3母盤瀏覽窗口母盤下載界面如圖5-4所示,和鏡像同步一樣彈出進(jìn)度條子窗口進(jìn)行鏡像傳輸。圖5-4母盤下載5.2客戶端學(xué)生/教師界面學(xué)生登錄后彈出學(xué)生的操作界面,在操作界面點(diǎn)擊我的桌面按鈕顯示桌面列表,桌面列表界面如圖5-5所示,桌面列表通過鼠標(biāo)拖動(dòng)形式瀏覽選擇,圖中顯示了三個(gè)課程桌面,課程桌面顯示的圖片為用戶上一次使用后關(guān)機(jī)前的截圖,若沒有使用過則顯示默認(rèn)圖片。點(diǎn)擊右上角的設(shè)置按鈕彈出用戶設(shè)置子窗口。通過操作系統(tǒng)關(guān)閉客戶端或者點(diǎn)擊右上角主動(dòng)關(guān)閉客戶端都會(huì)觸發(fā)客戶端關(guān)閉動(dòng)作進(jìn)行客戶端關(guān)閉前檢查操作,防止客戶端關(guān)閉后,仍然有由其啟動(dòng)的虛擬機(jī)正在運(yùn)行。點(diǎn)擊退出登錄按鈕會(huì)關(guān)閉當(dāng)前窗口回到登錄窗口。圖5-5學(xué)生桌面列表點(diǎn)擊一個(gè)桌面進(jìn)入桌面控制面板,若沒初始化則初始化后進(jìn)入桌面的控制面板,桌面控制面板界面如圖5-6所示,該桌面狀態(tài)為未啟動(dòng)。桌面管理按鈕有啟動(dòng)/恢復(fù)按鈕、掛起按鈕、關(guān)機(jī)/強(qiáng)制關(guān)機(jī)按鈕、暫停/繼續(xù)按鈕、截圖按鈕、桌面顯示按鈕、觀看教師共享桌面按鈕、桌面設(shè)置按鈕、鏡像上傳按鈕、鏡像下載按鈕、桌面銷毀按鈕和返回到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省連云港市海州區(qū)2024-2025學(xué)年七年級上學(xué)期期末生物學(xué)試題(含答案)
- 水處理技術(shù)開發(fā)合同
- 人工智能金融風(fēng)險(xiǎn)評估與控制手冊
- 生物學(xué)基因工程研究熱點(diǎn)練習(xí)題集編選
- 股份制公司運(yùn)營指南
- 航空模型制造安全責(zé)任協(xié)議
- 高分子化學(xué)材料性質(zhì)題庫
- 語言學(xué)語言應(yīng)用知識問答
- 高中英語閱讀技巧課:如何快速找到文章主旨與細(xì)節(jié)教案
- 餐飲行業(yè)市場份額分析表
- 版式設(shè)計(jì)(全套課件455P)
- 幼兒園繪本故事:《羅伯生氣了》 課件
- 閱覽室使用記錄表
- 家畜的生產(chǎn)發(fā)育課件
- 森林防火主題教育班會(huì)PPT
- 船舶安檢缺陷處理建議表籍國內(nèi)航行海船
- 輻照交聯(lián)電線電纜型號說明
- 公路工程決算編制辦法(交公路發(fā)2004-507號)附表
- 礦山機(jī)械無人駕駛項(xiàng)目可行性研究報(bào)告模板
- 預(yù)充氣競技步槍 標(biāo)準(zhǔn)A4靶紙
- 避免同業(yè)競爭承諾函
評論
0/150
提交評論