趙麗娜,馮興杰
(中國民航大學信息網(wǎng)絡中心,天津 300300)
云計算是一項融合多項計算機技術的以數(shù)據(jù)和處理能力為中心的密集型計算模式[1],利用云端資源,如大型硬件平臺、數(shù)據(jù)中心、應用服務中心等為互聯(lián)網(wǎng)用戶提供資源租用、應用托管、服務外包等服務[2-3],主要分為3個層次,即基礎設施即服務(IaaS)、平臺即服務(PaaS)、軟件即服務(SaaS)[4-5]。云桌面是云計算的重要應用領域之一,主要通過遠程接入技術,以虛擬化的形式來分享后臺物理服務器提供的CPU、RAM、硬盤和計算資源[6]。
Amazon云桌面平臺被稱為彈性計算云,為用戶或開發(fā)人員提供一個虛擬的集群環(huán)境[7]。清華大學的云桌面平臺由透明客戶端、透明網(wǎng)絡、透明服務器組成,用戶只需使用服務器,而不用關心后臺結構[8]。侯文慧等[9]對云桌面中存在的視頻播放不流暢的問題提出了視頻偵測算法。Kim等[10]對云桌面中存儲、硬盤、CPU等工作負載的特點進行了研究。Cao等[11]提出了一種用于云桌面服務的輕量型網(wǎng)絡顯示協(xié)議,用以減輕云桌面服務對服務負載和網(wǎng)絡帶寬的消耗。
目前,高校的實驗室管理中通常存在地理位置分散、終端數(shù)量多、配置多樣化、部分用戶對數(shù)據(jù)安全性要求較高等問題[12-13]。通過設計并實現(xiàn)基于VDI技術的云桌面應用方案,將企業(yè)級服務器和虛擬化的優(yōu)勢進行融合,由云端服務器提供用戶所需的資源,為用戶提供高性能的計算和存儲,有效提高了計算和存儲資源部署的靈活性,實現(xiàn)了統(tǒng)一管理,滿足了多樣化教學需求;同時,通過合理部署防火墻和配置用戶權限,保障了云桌面和用戶數(shù)據(jù)的安全性。
主流的云桌面產(chǎn)品有 Citrix、VMware、Microsoft[14],其中,Microsoft VDI技術是一個桌面交付模型,支持將客戶端桌面工作負載托管在數(shù)據(jù)中心的服務器上,用戶使用終端通過遠程協(xié)議進行訪問,采用集中管理、云端計算、云端存儲的工作模式。
VDI架構共分為4個層次,分別為用戶層、應用接入層、應用交付層、存儲服務層,如圖1所示。
圖1 VDI架構Fig.1 Architecture of VDI
用戶層為用戶利用實驗室內(nèi)現(xiàn)有的臺式機、瘦終端、筆記本等,通過網(wǎng)絡向云桌面平臺發(fā)起連接,使用相應的服務。
應用接入層包括Web服務器和網(wǎng)關服務器。Web服務器負責處理用戶通過瀏覽器發(fā)起的訪問請求,根據(jù)認證結果為用戶提供資源。網(wǎng)關服務器負責獲得授權的用戶連接到應用交付層,提供完整的虛擬桌面或應用,將內(nèi)部所有的遠程桌面協(xié)議(RDP)請求轉(zhuǎn)換為安全套接層(SSL)流量,為數(shù)據(jù)傳輸提供加密隧道,給用戶提供更加安全的虛擬桌面訪問服務。
應用交付層包括連接代理服務器、目錄服務器、授權服務器、RD虛擬化主機池、RD會話主機池。連接代理服務器是整個應用交付層的核心,主要負責:①Web服務器、RD虛擬化主機、RD會話主機服務器群之間的通信;②提供認證用戶可用的虛擬桌面列表,并生成相應的信息使終端能夠連接到虛擬桌面;③虛擬桌面服務之間的通信,進行虛擬桌面注冊并保持虛擬桌面狀態(tài)。目錄服務器負責向服務器提供標準的LDAP(輕量目錄訪問協(xié)議)目錄服務。授權服務器負責給用戶與資源池之間連接授權,保障多并發(fā)連接的可用性。RD虛擬化主機和RD會話主機負責提供計算功能,承載虛擬機集合池和個人虛擬機集合及托管應用程序。
存儲服務層提供云桌面平臺存儲,負責存放虛擬機文件、用戶形成的個人數(shù)據(jù)文件及其他系統(tǒng)文件等。
云桌面平臺采用32臺刀片服務器和一套集中存儲服務器作為硬件基礎。其中,刀片服務器用作計算資源,集中存儲服務器用作存儲資源,實現(xiàn)云桌面平臺計算和存儲相分離的模式,同時為計算資源互為備份,存儲資源統(tǒng)一管理奠定基礎。
云桌面交付過程如圖2所示。
圖2 云桌面交付過程Fig.2 Cloud desktop delivery process
網(wǎng)絡是云桌面平臺的基礎,用戶與云桌面的交互及云桌面內(nèi)部之間的通信全部依靠網(wǎng)絡,為保障網(wǎng)絡的高性能和安全性,采用“三網(wǎng)分離”原則,即管理網(wǎng)、業(yè)務網(wǎng)、存儲網(wǎng)單獨分開,具體設計如表1所示。
表1 云桌面網(wǎng)絡設計Tab.1 Design of cloud desktop network
其中,管理網(wǎng)、業(yè)務網(wǎng)均采用雙口萬兆接入,存儲網(wǎng)采用雙口8GB FC接入,網(wǎng)絡各節(jié)點均實施雙節(jié)點冗余部署,消除網(wǎng)絡上單點故障隱患。
根據(jù)微軟及實際環(huán)境的測試,在VDI架構中,每個用戶的需求帶寬平均為400 kbps,若要滿足1 000用戶并發(fā)訪問,則總帶寬需求為400 Mbps。在校園網(wǎng)內(nèi)部,數(shù)據(jù)中心到外部至少為1 Gbps的帶寬,且內(nèi)網(wǎng)延遲通常小于10 ms,因此可滿足虛擬桌面交付的網(wǎng)絡需求。
云桌面平臺存儲類型包括固態(tài)硬盤(SSD)和機械硬盤(HDD)兩大類。為兼顧數(shù)據(jù)的安全性和存儲性,采用RAID5技術分別組成SSD_RAID組和HDD_RAID組。存儲空間采用FC-SAN方式,LUN是存儲空間的標識,劃分不同容量的LUN并通過LUN ID為刀片服務器掛載物理存儲。
用戶在使用云桌面平臺時調(diào)用的數(shù)據(jù)分為3種:模板鏡像數(shù)據(jù),虛擬機差異文件數(shù)據(jù)和用戶個人數(shù)據(jù)。
模板鏡像數(shù)據(jù)由集合的模板文件導出,包含操作系統(tǒng)的主體信息。每個集合只存在一份模板鏡像數(shù)據(jù),集合中所有虛擬機的模板都從該鏡像中讀取。因此將該鏡像放在隨機存取快、功耗低的SSD層中,可提高反應速度,降低池桌面的存儲負載和延遲,緩解啟動風暴。
虛擬機差異文件數(shù)據(jù)是每個虛擬機都會生成一個虛擬機差異文件,主要存放該虛擬機的IP地址、SSID信息、虛擬局域網(wǎng)(VLAN)信息等。該部分數(shù)據(jù)量較大、存取要求不高,可放在容量大、價格低、隨機存取速度一般的HDD層中,實現(xiàn)最優(yōu)成本下的最佳性能。
虛擬機數(shù)據(jù)加載過程,如圖3所示。
圖3 數(shù)據(jù)加載過程Fig.3 Data loading process
用戶個人數(shù)據(jù)包含所有個人文件及數(shù)據(jù),通過采用微軟SOFS可擴展文件服務器集群,以通用網(wǎng)絡文件系統(tǒng)(CIFS)的方式掛載,為用戶提供文件存儲服務。由于Windows單個目錄的子文件夾和子文件數(shù)量具有限制,為避免在達到一定數(shù)量級后,目錄遍歷及打開速度緩慢,同時為按特征清理用戶數(shù)據(jù)打好基礎,可在存儲上劃分不同的分區(qū)來存放不同類型用戶的數(shù)據(jù)。
云桌面平臺中的服務器群采用Hyper-V服務器虛擬化平臺,Hyper-V采用微內(nèi)核結構,在單一硬件服務器上,建立多個虛擬主機,這些虛擬主機雖然共享同一硬件資源,但操作系統(tǒng)各自獨立、互不干擾。
云桌面平臺中的服務器分為兩大類,一類是基礎架構服務器,包括目錄服務器及VDI的各角色,所有的基礎架構組件均采用高可用模式部署,由2臺刀片服務器承載;另一類是RD虛擬化主機或RD會話主機服務器群,為用戶提供可交付的虛擬桌面或應用,由30臺刀片服務器承載。兩類服務器分別納入兩個故障轉(zhuǎn)移群集,每個刀片服務器成為群集中的一個節(jié)點,當群集中一個或多個節(jié)點出現(xiàn)故障或需要對節(jié)點進行維護時,故障轉(zhuǎn)移技術能夠?qū)⑵溥\行的虛擬化資源轉(zhuǎn)移到其他正常的節(jié)點上,從而保障云桌面的正常運行。服務器角色信息如表2所示。
表2 服務器角色信息Tab.2 Server role information
在云桌面平臺所有角色中,目錄服務器是整個平臺的核心基礎架構組件,承擔基本用戶鑒權與認證功能,同時也承擔計算機管理、DNS解析等功能。
連接代理采用SQL Server作為核心數(shù)據(jù)庫,3臺SQL Server虛擬機配置成 SQL Server AlwaysOn的Group方式,其中,兩個主副本,一個輔助副本實現(xiàn)三讀兩寫。當其中一臺數(shù)據(jù)庫服務器宕機后,可以自動切換到其他數(shù)據(jù)庫服務器,業(yè)務不中斷。
Microsoft VDI提供了3種部署選擇:基于會話的桌面、池化虛擬機集合、個人虛擬機集合。其中池化虛擬機集合具有可共享的虛擬機池,且具備用戶注銷時桌面自動回滾、用戶數(shù)據(jù)文件單獨存放、管理員只需管理一個映像等特點,因此選用該方式來進行部署與實驗室需求最為符合。對于普通用戶,采用標準化桌面,應用程序由管理員統(tǒng)一部署,用戶無法自行安裝,但用戶個人文件、系統(tǒng)設置可以保留。
云桌面資源池中的每個虛擬桌面所有的屬性均與模板保持一致,因此在制作虛擬機模板時,需將所用軟件預先安裝在模板上,在安裝軟件后要對模板文件進行碎片整理和配置調(diào)優(yōu),以保證池化資源中不含有冗余配置等影響系統(tǒng)性能的文件。
為保障資源的利用率,每個用戶從池中選擇虛擬機進行登錄,注銷后虛擬機資源自動釋放,同時設置電源策略,當用戶無會話超過30 min后,自動注銷虛擬桌面。
由于VDI云桌面實際是通過調(diào)用Windows系統(tǒng)的遠程桌面,建立一條用戶個人電腦和虛擬桌面之間的3389端口連接,而該端口是微軟預定義的遠程端口,容易成為被攻擊對象。為保證云桌面的安全,在此引入云桌面網(wǎng)關,為用戶與虛擬桌面的連接建立一條加密隧道。在云桌面對外發(fā)布時,將網(wǎng)關作為進入云桌面的唯一入口,對外只開放443端口,將3389連接轉(zhuǎn)換為443連接,提高了系統(tǒng)訪問的安全性。
在部署時,將基礎架構角色和提供給用戶的虛擬機池劃入不同的VLAN中,防止用戶通過池化主機進入局域網(wǎng)對基礎架構進行破壞。
所有用戶應用程序、桌面、數(shù)據(jù)都放置于數(shù)據(jù)中心內(nèi),用戶的各項執(zhí)行操作均在數(shù)據(jù)中心內(nèi)部完成,最終將執(zhí)行的結果以屏幕變化量的方式傳輸給用戶。向用戶交付的并非真實數(shù)據(jù),數(shù)據(jù)并不離開數(shù)據(jù)中心,保障數(shù)據(jù)管控的安全性。
在云桌面虛擬機池中下發(fā)100臺虛擬機,每臺虛擬機配置4核CPU,8G內(nèi)存,操作系統(tǒng)采用Win7企業(yè)版,并根據(jù)用戶需求預裝了Office 2010、視頻播放器、福昕閱讀器、解壓工具、CAXA、Solidwork,AutoCad 2007等常用軟件。下發(fā)完成后,用戶通過瀏覽器打開云桌面登陸界面,使用個人賬號登陸進行連接操作,等待連接完畢后,可以看到用戶能夠獲得一個完整的Windows桌面,且能夠使用桌面上提供的完整程序。用戶在云桌面中建立的文件,以用戶個人文件的方式存放在存儲服務器中,在不同的網(wǎng)絡環(huán)境或不同的客戶端情況下文件均已正常讀取和存儲,不同并發(fā)量連接結果如表3所示。
表3 不同并發(fā)量連接結果Tab.3 Different concatenation link results
除用戶使用需求外,實驗室管理員還需要根據(jù)特殊需求對機器的操作系統(tǒng)和安裝軟件進行更新。在云桌面中,虛擬機池文件來源于虛擬機模板的導出和復制,因此管理員只需在虛擬機模板上進行改動,然后重新分發(fā)模板即可,不需要再到各實驗室進行操作,實現(xiàn)了統(tǒng)一管理。經(jīng)測試,實現(xiàn)100個虛擬桌面操作系統(tǒng)和軟件的完全更替大概需要15 min。
在實驗室環(huán)境中,一臺主機通常被多個用戶使用,如果用戶所做的操作全部保留會占用系統(tǒng)大量存儲,且有可能造成病毒交叉感染,實驗室管理員需要通過還原卡的方式在每次系統(tǒng)關機時進行還原。在云桌面中,系統(tǒng)會在用戶注銷連接時將桌面全面還原成初始狀態(tài),不再需要還原卡。通常用戶對物理機具備完全的操作權限,能夠進行軟件卸載或修改注冊表等可能危害系統(tǒng)運行的操作,而在云桌面中,對普通用戶只分配User的權限,用戶可以執(zhí)行自己所需的操作,但不具有操作系統(tǒng)的管理權限,從而保護了云桌面的安全。
根據(jù)云桌面的特點,用戶的操作和數(shù)據(jù)都運行在服務器端,數(shù)據(jù)始終不落地,有效保證用戶訪問數(shù)據(jù)的安全性。
搭建基于VDI技術的云桌面平臺可以為用戶在云端提供所需資源。由云桌面服務器提供計算和存儲等相關功能,用戶終端逐漸轉(zhuǎn)為輕量級,實現(xiàn)整個中國民航大學實驗室計算機終端的統(tǒng)一管理。建成后本地終端只用于連接使用而不進行計算,可有效提升本地終端的壽命,從而實現(xiàn)總擁有成本(TCO)的降低。所有池化資源場中的虛擬機由管理員集中配置和管理,控制了用戶的使用權限,防止造成誤操作。集中性的后端數(shù)據(jù)中心更加利于整體的升級、更新、維護,對解決當前實驗室中公用計算機存在的困境具有重要意義。