盧建良,徐偉
(中國科學技術大學 計算機科學與技術學院,安徽 合肥)
計算機是一門實踐性很強的學科。實驗室作為實驗教學的主要場所,在學生培養過程中起到至關重要的作用,因此建設一個便捷、高效、靈活、穩定的實驗機房是每所高校計算機學科都需要面對的一個問題。有些國內高校計算機專業實驗機房多采用獨立PC的配置方式,每個實驗節點上配置一臺計算機設備并安裝相應的系統及軟件。在信息化飛速發展的今天,這種部署方式逐漸暴露出各種弊端,已經很難滿足如今的教學需求[1-2]。對云實驗室在中國科學技術大學信息與計算機國家級實驗教學示范中心的設計與應用以及與傳統實驗室相比的優勢[3-6]進行了介紹。
中國科學技術大學信息與計算機國家級實驗教學示范中心在部署云實驗室之前,給每位進行計算機專業課程實驗的學生提供一臺獨立的PC,機器上面預裝了與實驗相關的工具軟件,機房結構如圖2所示。以獨立PC為載體的計算機實驗室存在以下明顯的弊端。

圖1 傳統實驗機房結構圖

圖2 云實驗室系統結構圖
第一:管理維護成本高。為滿足多變的實驗課程需求,需要經常增減軟件配置,甚至更換操作系統;實驗室管理人員需要逐臺進行機械重復的操作,雖然有網絡同傳等同步工具,但治標不治本,造成了極大的管理及維護負擔。
第二:資源利用率低。不同課程對計算機的配置要求差別很大。為滿足所有課程的開展,計算機的配置需要足夠好,一旦無法滿足某些課程的需求,就要對計算機進行更新換代,造成了資源浪費。
第三:數據遷移難度大。學生的實驗數據往往存儲在本地硬盤,當次實驗結束后需要學生自己將數據保存到U盤或網盤等存儲介質中,以便繼續進行后續的實驗,但實驗環境的改變經常導致代碼無法正確運行。
第四:安全風險高。獨立PC往往缺乏專業的防火墻設備,很容易受到網絡病毒的攻擊,此外學生上機時也可能對系統造成破壞,因此存在很高的網絡安全隱患。
為克服以上諸多弊端,選擇了采用搭建云實驗室的建設方案。
如圖2所示,云實驗室在拓撲結構上主要劃分為云教室和服務器機房兩大部分。每個云教室內有若干臺云終端,用于顯示桌面以及與用戶交互,云終端通過千兆網絡連接到本地交換機,并最終通過光纖連接到服務器機房內的服務器,所有的運算、存儲和服務都是在服務器機房內的服務器集群上完成。
每套云教室終端包含運行Linux內核的嵌入式終端一臺(硬件配置如表1所示),19寸VGA液晶顯示器一臺,USB接口鍵盤鼠標一套,嵌入式終端工作時的最大功耗不超過30W。

表1 嵌入式終端參數配置
終端啟動時通過網絡從機房加載云桌面系統,并顯示在顯示器上,用戶可通過鼠標鍵盤與遠程桌面進行交互,還可以使用U盤進行文件拷貝。
云終端支持系統管理員、授課教師及學生三種用戶角色登錄。系統管理員可通過云教室后臺管理系統實現服務器管理、模板管理、桌面管理、終端管理、課程管理、系統管理、集群管理等功能。授課教師可通過教學管理軟件系統實現與實驗課程教學相關的一些內容,如監控學生屏幕、桌面演示、隨堂小考、收發文件、遠程控制學生電腦等,可對同一網段內的學生機進行管理。云終端開機后自動以學生賬戶登錄,運行學生端教學管理軟件,終端操作系統對用戶完全透明,提供和物理PC無差別的桌面體驗。
服務器機房依據《電子信息系統機房設計規范》(GB 50174-2008)B類標準建造,提供符合國際、國家各項有關標準及規范的可靠、高品質的機房環境。機房內的服務器資源構成了服務器集群。
如圖3所示,服務器集群通過層次化的虛擬服務,首先由服務器和存儲陣列構成了統一的虛擬化服務資源池,提供虛擬桌面、虛擬服務器、遠程存儲等服務。上層程序在此基礎上通過進一步的虛擬化,最終為用戶提供虛擬云桌面和虛擬應用等服務。

圖3 服務器機房虛擬化架構
圖3中,存儲陣列從物理上可以分為固態硬盤(SSD)和機械硬盤,固態硬盤能夠大大提升系統的I/O性能,保證了虛擬桌面流暢運行以及在云終端上的高質量顯示,機械硬盤采用RAID5陣列方式,保證了數據的安全性。
虛擬桌面服務器通過專用的虛擬化軟件按照系統設定的性能參數虛擬出預定數量的虛擬化機器。虛擬桌面支持多個系統模板,能夠根據預先設定的課表,推送不同的系統模板到云教室的終端上。
虛擬服務器功能則能夠為各門課程提供獨立的服務器資源。計算機專業的多數課程實驗都會用到服務器資源,但是不同課程對服務器的數量及配置要求千差萬別,為每門課程配置服務器則會造成巨大的資源浪費。虛擬服務器技術可以在物理服務器的基礎上虛擬出一定數量的服務器資源,為各門課程提供個性化的服務。這種方式使得各門課程數據可以運行在同一服務器集群上,但相互獨立不會產生耦合。如圖3所示,可根據課程的實際需要,為對應的課程(如操作系統、編譯原理等)虛擬出獨立的Git服務器,同時為計算機組成原理課程虛擬出了FTP服務器資源。
遠程存儲服務器主要用來存放系統模板和作業空間相關的數據。教師可通過作業空間發布作業。學生在任意一臺終端上都可以通過自己的賬號登錄作業空間,查看并完成作業。此外作業空間還具有云端存儲的功能,學生可將自己的數據存儲到作業空間,也可在任一終端登錄作業空間獲取數據,以繼續實驗項目。
表2給出了實際部署時虛擬桌面服務器的各項參數,可以看出,在同等用戶數量的情況下,配置參數高于系統提供商給出的推薦配置,也由此獲得了更好的虛擬機配置(如表3所示)以及良好的虛擬桌面使用體驗。

表2 虛擬桌面服務器參數

表3 單臺虛擬機配置
在具有56個終端的云教室A進行實際測試,測試結果表明,CPU資源還有很大余量,內存資源占用偏高,這是因為為保證虛擬桌面的運行流暢,給每個虛擬桌面分配了較大的內存空間。虛擬桌面需要通過網絡將內容推送到終端,并最終呈現給用戶,因此網絡帶寬性能也是影響使用體驗的一個關鍵因素。在采樣期間,56個桌面占用的最大帶寬約為50M左右,實際的帶寬需求量也遠遠小于帶寬容量。
此外,為了提高設備的信息化安全水平等相關要求,在服務器機房配置了防火墻和上網行為管理等安全管理設備。這些設備的投入使用,對于提高整個云實驗室網絡信息安全性有顯著效果。
根據云實驗室的架構特點以及實際使用體驗,總結出云實驗室平臺優勢如下:
第一:管理高效便捷。對每門課程所需的系統環境配置一個模板,當環境要求改變時,只需修改對應的模板即可,而不用逐臺終端進行配置,大大提高了管理效率。
第二:資源利用率高。云實驗室能夠根據具體課程的實際需求,虛擬出指定配置、指定數量的計算資源,并通過網絡加載到終端,從而提高了計算資源的利用率。此外,存儲資源統一從存儲服務器按需獲得,從而提高了存儲資源的利用率。
第三:數據遷移方便。學生的實驗數據都存放在服務器端,學生通過賬號登錄,便可在任意一臺終端上獲取自己的數據,此外每個終端所加載的系統來自于同一模板,從而保證數據遷移時不會存在兼容性問題。此外,每門課程的課程資源也存放在機房內的服務器上,支持為每門課程分配獨立的虛擬服務器,課程之間數據零耦合,課程資源數據的遷移、改動不會對其他課程造成影響,因此學生實驗數據及課程資源數據遷移都極其方便。
第四:提高機器使用年限。計算機設備更新換代極快,當前主流的配置,在幾年后便無法滿足需求。如使用獨立PC的話,則需要將PC全部更換,但使用云實驗室,只需要增加服務器數量,并修改虛擬終端的配置即可,原來的服務器和云終端還可以繼續使用,從而大大延長了設備的使用年限,進而節省了大量的設備購置費用。
此外,云實驗室還具備穩定性好、安全性高、平均能耗低、配置靈活等諸多優點,與傳統的獨立PC式實驗室相比具有明顯的優勢。
通過云實驗室的建設和實際使用,初步實現了從機房環境建設向平臺資源建設轉變,并為實驗模式從單機實驗向系統型實驗轉變、評價機制從簡單統計機時數向提升資源利用率轉變、實驗手段從提供上機環境(真實環境)拓展至提供虛擬服務(虛擬實驗室)轉變、實驗目的從單純驗證和考核向研究與創新轉變等目標提供了物質保障。原來在以獨立PC為主體的實驗室內開展的實驗已全部遷移到云實驗室,經過兩個學年的運行測試,效果良好,沒有出現兼容性問題。通過云實驗室的使用一舉解決了傳統實驗室的諸多缺陷,為上述目標的實現提供了有力保障。
隨著虛擬化技術的不斷成熟,網絡帶寬的快速提升,云實驗室將改變高校實驗室建設及管理的傳統理念,促進實驗教學方式的轉變。下一步將在豐富實驗教學手段、提高實驗教學質量等方面,為促進學生實驗教學效果提高做出新的嘗試和努力。