郭紅 袁夫
摘要:計算機機房,是每所學校重要的實驗教學場所。目前隨著高校對機房需求的不斷增加,只有提高機房的管理和利用效率,才能保障高校對機房的教學和科研需求?;凇霸啤钡挠嬎銠C機房的本質就是桌面虛擬化,其核心思想就是多個獨立的虛擬機在服務器上同時運行,用戶通過瘦客戶端訪問虛擬機,所有計算和存儲都在服務器虛擬機中完成,客戶端只完成信息輸入輸出和顯示的功能,使用戶獲得PC機般的體驗。
關鍵詞:桌面云;虛擬化;服務器;協(xié)議;中間件
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)30-0015-03
過去的幾年里,說起信息技術領域的熱門話題,云計算技術應該是首當其沖、不可不提的?!霸朴嬎恪睘槿藗兪褂镁W(wǎng)絡提供了幾乎無限多的可能,當然也包括在教育信息化中的應用。正是基于云計算技術的發(fā)展,教育信息化的發(fā)展必定是教育與云計算的相結合?,F(xiàn)代高等教育無論是高校的教學還是科研工作,計算機機房都是不可或缺的一塊基地。云實驗室也就是”云”機房的概念應運而生,它是云計算技術和虛擬化技術在教育領域的創(chuàng)新應用。
1 “云”機房技術基礎
1.1 云計算技術
“云”機房系統(tǒng)的構建首先有賴于云計算技術的飛速發(fā)展。分布式系統(tǒng)、虛擬化、Web2.0、面向服務的計算和效用計算這五種技術在云計算的實現(xiàn)過程中發(fā)揮了重要的作用。大型機計算系統(tǒng),集群計算和網(wǎng)格計算是云計算技術發(fā)展史上的三大里程碑。
作為一種服務模式,根據(jù)交付內容的不同,目前云計算包括三個層次的服務:IaaS(Infrastructure as a Service,基礎設施即服務)、PaaS(Platform as a Service,平臺即服務)、SaaS(Software as a Service,軟件即服務)。
這三種服務類型相互關聯(lián),從底部到頂部,構成了云計算技術的整體組織結構,同時也將利用云計算技術提供的各種服務進行了從底部到頂部的層次劃分。
1.2 虛擬化技術
虛擬化技術是指將計算機的物理資源(如硬件、運行環(huán)境、存儲以及網(wǎng)絡等)進行抽象化后呈現(xiàn)給用戶,從而實現(xiàn)底層硬件和上層軟件的分離的方法。它可以將單個資源劃分為多個虛擬資源,也可以將多個分散資源整合為一個虛擬資源,它可以用于在操作系統(tǒng)中隔離應用程序的運行環(huán)境,也可以創(chuàng)建多個虛擬環(huán)境,如本文研究的“云”機房中的服務器端模擬多個操作系統(tǒng)界面。
虛擬化技術擁有龐大的技術和概念體系,根據(jù)其仿真的服務和實體,可以將虛擬化技術分為執(zhí)行環(huán)境虛擬化、存儲虛擬化和網(wǎng)絡虛擬化。也就是說,利用虛擬化技術不僅可以為應用程序提供運行的抽象環(huán)境,也可以用于存儲、網(wǎng)絡以及客戶端/服務器交互的虛擬化。
虛擬化技術在應用上,比較典型的有服務器虛擬化和桌面虛擬化。
1.3 “云”機房的理論研究
1)“云”機房的虛擬化架構組成
“云”機房的虛擬化架構可以說是桌面虛擬化架構(VDI)的局部應用。VDI架構的原則是“集中計算,分布顯示”。通常,VDI方案的基本架構可以分為三層。頂層是用戶訪問層,用戶通過支持VDI訪問協(xié)議的終端設備進入VDI。中間層是虛擬架構服務層,用戶訪問層通過特定的顯示協(xié)議和中間層實現(xiàn)通信,從而獲得安全、規(guī)范、高可用的桌面環(huán)境。最底層是存儲服務層,虛擬架構服務通過調用存儲協(xié)議來訪問在該層中存儲的用戶數(shù)據(jù)、屬性、鏡像等。
具體地說,一個“云”機房的虛擬化架構應該主要包含終端客戶端、管理服務器和虛擬桌面服務器。
2)“云”機房的虛擬化顯示協(xié)議
桌面虛擬化顯示協(xié)議連接著終端客戶端和服務器中的虛擬桌面,負責將終端客戶端輸入的信息經(jīng)過打包、壓縮、加密后傳輸給虛擬桌面服務器中對應的虛擬機進行計算,然后將計算的結果再進行打包、壓縮、加密傳輸?shù)浇K端客戶端并解析顯示給用戶。因而,桌面虛擬化顯示協(xié)議的效率是用戶體驗的關鍵,也是桌面虛擬化技術的關鍵技術之一。
當前主流的桌面虛擬化顯示協(xié)議主要有四種,第一種是RDP協(xié)議,第二種是ICA協(xié)議,第三種是PCoIP協(xié)議,第四種是SPICE協(xié)議。
2 “云”機房平臺架構設計
2.1 桌面云平臺架構總體設計
桌面云平臺的總體架構設計如下圖1所示。整個桌面云平臺架構分為三部分,終端客戶端(云終端)、管理中間件(Broker)和虛擬桌面服務器端(Host)。每個部分具體包含的功能模塊設計以及各部分之間的關系如下圖所示。
如上圖所示,在整個桌面云平臺中,終端和服務器端通過管理中間件實現(xiàn)連接。具體來看,是終端的Broker客戶端模塊Broker Agent對管理中間件中的終端接口進行訪問從而實現(xiàn)終端和管理中間件的通訊,然后獲取到終端的顯示桌面,接著通過Spice協(xié)議實現(xiàn)自身SPICE客戶端到虛擬桌面服務器中的SPICE服務端的通訊,同時由虛擬桌面服務器中的服務器客戶端Host Agent來實現(xiàn)服務器端虛擬機及各種資源的管理,其管理接口Host Agent接口由管理中間件提供。
2.2 云桌面平臺服務器
將桌面“云端”化的前提條件是將服務器資源虛擬化。虛擬環(huán)境管理套件、虛擬化管理接口、QEMU-KVM平臺、SPICE顯示協(xié)議,是虛擬化服務器中的主要組成部分。
1)QEMU-KVM虛擬化平臺
作為一款純軟件的虛擬化模擬器,QEMU在Linux平臺上被廣泛使用,其開源性為研究提供可能。它可以通過模擬的方式虛擬化出各種常見的硬件架構,且模擬效率較高,再通過非開源的KQEMU軟件的加速,可使整個虛擬環(huán)境的運行速度與實體機相媲美。同時為了突破QEMU的I/O系統(tǒng)瓶頸又引入了Virtio,于是其整體架構如圖2所示:
2)桌面顯示協(xié)議SPICE
SPICE是一種體驗度較高的遠程桌面顯示協(xié)議,在整個桌面虛擬化架構中承擔的僅僅是內容的顯示功能,它本身不參與控制信息、執(zhí)行邏輯等數(shù)據(jù)的傳輸。所有涉及執(zhí)行、處理等功能時都將在服務器端執(zhí)行。SPICE協(xié)議只顯示更新變化的顯示內容,因此它對帶寬的要求極低。這也是保證虛擬客戶端高效率執(zhí)行的前提。
SPICE服務端可以利用SPICE協(xié)議與遠程的客戶端和建立虛擬設備接口的虛擬機進行通信。當前對象的覆蓋關系和依賴關系需要通過維護一個樹結構體和一個命令的序列來管理,同時把虛擬機的QXL指令轉化為SPICE協(xié)議傳遞給客戶端。
3) Libvirt虛擬化管理接口(Host Agent)
作為一套開源的函數(shù)庫,不少主流的虛擬化工具都采用了Libvirt來進行開發(fā)。大部分虛擬化管理平臺的虛擬機管理功能都被Libvirt所支持。
在構建Libvirt管理平臺時,可將Libvirt與被管理的虛擬機置于同一臺物理機上,也可以將它們分離開置于不同的物理主機上。在同一主機上的邏輯結構為:最底層的物理主機;第二層的Linux操作系統(tǒng);第三層為虛擬化管理平臺和Libvirt;虛擬機管理應用位于Libvirt之上,虛擬機則位于虛擬化管理平臺之上。
2.3 虛擬化平臺中間管理組件
中間管理組件是整個虛擬化架構中的“橋梁”,能讓用戶通過云終端連接到遠程虛擬化桌面中,可以實現(xiàn)虛擬化平臺的監(jiān)控、虛擬機的管理、用戶的管理、數(shù)據(jù)庫的管理、虛擬機的申請管理、終端連接的管理等,是位于云終端和虛擬桌面服務器端之間的非常關鍵的部件。該組件又被稱為Broker。
虛擬機的管理是虛擬化Web管理平臺的核心。管理中間件可以連接到虛擬桌面服務器上,服務器端的和虛擬機相關的信息和數(shù)據(jù)都可以被中間件所調用,從而實現(xiàn)對虛擬機的管理。
2.4 終端客戶端
終端設備客戶端主要實現(xiàn)三方面功能,第一是建立與管理中間件的聯(lián)系也就是Broker Agent;第二是實現(xiàn)SPICE顯示協(xié)議的API接口工作;第三是對當前終端設備的配置。
高校“云”機房的終端客戶端一般采用專用的云終端設備來建立虛擬桌面與用戶之間的聯(lián)系。從用戶端輸入來說,“云”終端將用戶輸入的數(shù)據(jù)或信息,經(jīng)過編碼、壓縮、加入安全碼后通過遠程桌面顯示協(xié)議將其傳送到虛擬機,虛擬機在執(zhí)行這些指令后將執(zhí)行結果再進行編碼、壓縮、加入安全碼后傳輸給“云”終端,最后“云”終端將這些信息解碼后在終端顯示設備顯示出來,從而使用戶獲得PC般的體驗。
3 “云”機房的管理模塊設計
3.1 桌面模塊
“云”機房的桌面模塊主要包括三個部分:桌面教學管理模塊、教學桌面模塊和個人桌面模塊。
教學桌面管理:對場景(即不同的教學實施環(huán)境)的新增、查找、激活、場景桌面開機、場景桌面關機,開機加速、修改場景及刪除基本功能的操作。
教學桌面:對教學場景管理應用,及各場景下的教學桌面的開機、關機、重啟、暫停、恢復、查看桌面、查找基本功能的操作。
個人桌面:對桌面基本功能及修改桌面、動態(tài)遷移、存模板、快照功能實施。
3.2 模板模塊
模板模塊主要包括硬件模板、教學模板、個人模板和終端模板等。硬件模板主要是針對不同的需求建立不同的虛擬機硬件配置模板,如選擇具體CPU、內存、硬盤數(shù)據(jù)等。教學模板下主要包含5個功能塊,制作模板、編輯模板、更新桌面、下載模板、刪除模板。個人模板功能設計主要包含4個,制作模板、編輯模板、下載模板、刪除模板。
3.3 終端模塊
終端模塊主要包含教室管理、終端管理和會話管理三個方面的功能。
在教室管理模塊,通過課程列表應該能夠查看和編輯每個教室不同時間的教學桌面課程詳情。設定時間到達可自動激活預設桌面,以方便教學。教室管理具體功能設計主要包括對教室的新增、編輯、刪除、搜索基本功能的操作。
終端管理是針對所有通過Windows/Linux客戶端登錄連接到服務器的終端信息,包含終端的IP、MAC地址及其連接桌面的相關信息。終端管理具體功能設計主要包括對終端喚醒、關機、修改IP/計算機名/教室、配置參數(shù)功能的管理。
會話管理主要功能是對客戶端以教學/個人桌面接入時形成的會話進行顯示和管理。
3.4 其他模塊
“云”機房管理系統(tǒng)還應該包含用戶模塊、排課模塊、監(jiān)控模塊、安全模塊等方面的設計。用戶分為管理用戶和普通用戶,管理用戶實現(xiàn)對用戶的新增、編輯、搜索、刪除等。普通用戶分為兩種:普通用戶和教師用戶。實現(xiàn)新增用戶、編輯信息、批量導入、批量導出等功能。排課模塊主要功能是完成“云”機房的課程安排,要包含每節(jié)課開始以及結束的時間、每節(jié)課教室配置信息以及排課與清除等功能。監(jiān)控模塊主要是對主機和桌面進行時時監(jiān)控,方便查看數(shù)據(jù)找到性能瓶頸。安全模塊主要包括對系統(tǒng)的備份、鏡像、升級和操作日志等方面的功能設計。
另外,根據(jù)高校教學管理的需求,在整個管理系統(tǒng)中還可以增加多媒體網(wǎng)絡教學軟件和在線考試的設計。實現(xiàn)網(wǎng)絡教學過程中的屏幕廣播、文件傳輸、鎖定控制、短線鎖定、教學內容登錄查看、可視對講、屏幕錄制、電子點名、上線同步廣播等功能,更好地滿足教學工作的實際需求。在線考試模塊,實現(xiàn)題庫的導入、編輯,試卷生成,在線計時、評分等功能。
4 結束語
基于“云”的計算機機房有眾多的優(yōu)點,但設計、構建的過程并不簡單。隨著“云”技術和硬件水平的飛速發(fā)展,“云”機房設計方案也將不斷成熟和發(fā)展,基于“云”的計算機機房必將成為高校機房的建設趨勢。
參考文獻:
[1] 徐哲. 績效導向的高職院校電子閱覽室建設模式研究[J]. 電腦知識與技術, 2014,10(34).
[2] 朱朝輝. 簡述校園網(wǎng)機房“云”設計與實現(xiàn)[J]. 電子制作, 2013(8).
[3] 謝炫. 淺談高校公共機房虛擬化的建設[J]. 電腦知識與技術, 2014(27).
[4] 郭乙江. 基于“桌面云技術”的獨立學院機房管理展望[J]. 考試周刊, 2015(39).
[5] 秦濤, 李占平. 高校教學機房虛擬化桌面云建設實踐探索[J]. 內蒙古師范大學學報, 2015,28(9).