李進
【摘 要】為了解決云教室大量云桌面同時啟動運行導致系統開機時間過長、運行緩慢的問題,提出了一種基于多級存儲技術的云教室解決方案。該方案采用Hyper-V虛擬化技術,根據存儲的I/O性能分別存儲云桌面的不同數據,可有效地分散磁盤的I/O壓力。通過實踐效果分析表明,該方案能夠克服磁盤的I/O瓶頸,有效地減少云教室開機啟動的時間,從而提升系統運行的流暢度。
【關鍵詞】云計算 云教室 多級存儲
1 引言
隨著計算機教育的不斷發展,計算機教室已在學校普及,這在很大程度上提高了課堂的教學效果。但是傳統計算機教室軟件、硬件管理和維護復雜,長期運行還會導致系統運行緩慢,同時系統升級非常不便,而云教室[1]可通過云計算技術有效地解決這些傳統計算機教室存在的問題。
云教室由一臺云教室服務器通過虛擬化技術生成幾十臺云桌面虛擬機,但是由于磁盤的I/O(Input/Output,輸入/輸出)存在瓶頸,幾十臺云桌面同時開機運行會產生很高的I/O,容易引發啟動風暴,導致啟動時間過長、系統運行緩慢。基于此,本文通過內存的高I/O特性來解決磁盤的I/O瓶頸,設計并實現了一種基于多級存儲技術的云教室方案,以適應云教室所需的啟動快、運行快的需求。
2 多級存儲技術簡介
多級存儲技術是指根據存儲的I/O性能、數據的使用頻率和保存時間,將不同數據存放在不同類型的存儲上。本方案采用三級存儲,分別是HDD(Hard Disk Drive,硬盤驅動器)、SSD(Solid State Drive,固態硬盤)和內存盤。其中,內存盤是用特定軟件劃定一塊內存來當作硬盤使用,其具有和內存相同的I/O,但是斷電后會丟失內存盤中的數據[2]。多級存儲技術架構如圖1所示:
在本方案中,內存盤專門用來存儲云桌面的母鏡像,可以極大地提高I/O,解決啟動風暴問題,同時母鏡像在云桌面的整個生命周期中都不會發生變化,只要在硬盤中存在副本,就不用擔心斷電導致內存盤丟失數據的問題;SSD用來存儲云桌面差分盤,差分盤是基于母鏡像創建一個子盤,對母盤的改動都記錄在差分盤中,SSD的高性能可以提高云桌面的運行速率;HDD用來存儲云桌面數據盤,保存用戶數據文件,如學生作業、課件等。
多級存儲技術能夠分散磁盤I/O壓力,解決磁盤I/O瓶頸問題,使得云教室系統運行速率提高,用戶體驗得到很好的提升。通過使用該技術,在教師上課、下課、教學互動中,可大幅提升學生使用云桌面的流暢度。
3 云教室系統架構具體實現
一個云教室包含云教室管理平臺、云桌面、云終端和教師機[3]。云教室管理平臺通過心跳監控云桌面和云終端,通過特定的消息通道向云桌面、云終端和教師機發送指令及消息;云桌面采用Hyper-V虛擬化技術和多級存儲技術創建[4];云終端負責連接云桌面供學生操作;教師機則為教師提供課堂管理的輔助工具。
系統中多個核心組件之間相互配合,共同完成云桌面資源調度、教學管理和教學互動的功能。系統整體設計架構如圖2所示。
3.1 教學系統鏡像在多級存儲方案中的使用原理
教學系統鏡像即云桌面的母鏡像,由管理員上傳至云教室管理平臺[5]。在云教室中,母鏡像的狀態分為啟用和未啟用兩種。未啟用狀態時,母鏡像存放在HDD中,作為備份數據;啟用狀態時,母鏡像存放在內存盤中,作為云桌面的母鏡像源文件使用。由于上傳好的教學系統鏡像默認是未啟用的,所以存放在HDD中。當管理員需要創建云桌面時,首選需要啟用鏡像,管理平臺會將母鏡像復制一份到內存盤中,然后才能創建云桌面。母鏡像的狀態與存儲位置如圖3所示:
當服務器發生意外重啟或者斷電時,在服務器啟動后,管理平臺后臺服務會根據鏡像的啟用狀態將已經啟用的鏡像復制到內存盤中,由于差分盤的存在,母鏡像不會做任何修改,所以復制完成后云教室系統可以正常使用,不會造成內存盤數據丟失的問題。具體流程如圖4所示。
3.2 云桌面在多級存儲方案中的原理及實現
一臺云桌面的存儲由系統啟動盤和數據存放盤組成[6]。在多級存儲方案中,數據盤保存在HDD中,用于永久保留用戶數據,即使虛擬機被刪除或者重建,數據盤中的數據依然存在,適合保存學生上課需要持久化的文件。
云桌面的啟動盤由母鏡像和差分盤兩部分組成[7]。當云桌面啟動時,云桌面從母鏡像所在的內存盤中讀取數據,將對母鏡像的修改寫入差分盤所在的SSD中。內存盤負擔的是讀壓力,而差分盤負擔的是寫壓力,如此將讀寫I/O分離,有效地分散了磁盤的I/O壓力,如圖5所示:
此外,云桌面啟動時的讀壓力遠大于寫壓力,采用高I/O性能的內存盤來負擔讀壓力,可以避免啟動時的I/O瓶頸。
3.3 多級存儲方案中的云教室管理平臺
云教室管理平臺是管理平臺提供了對云教室資源的統一監控和管理,包括鏡像、云桌面、終端和服務器。并提供了圖形化界面,方便教室管理和維護,所有云教室操作都可以通過管理平臺進行[8]。
管理員可以通過云教室管理平臺批量創建云桌面,后臺采用多線程并發方式,50臺云桌面能夠在100 s內創建完成。通過內存盤加差分盤的方式,單臺云桌面啟動時間在3 s以內,實現真正的“秒啟”[9]。
管理平臺根據鏡像規格設置云桌面的內存和CPU,根據管理平臺配置設置云桌面的網絡,將云桌面的網絡配置、主機名信息寫入云桌面的注冊表中,云桌面啟動后檢測網絡和主機名是否與注冊表中的值匹配,若不匹配則自動修改。
創建云桌面流程如圖6所示。云桌面啟動完成后會向管理平臺發送心跳包,管理平臺可通過心跳包監控云桌面的運行狀態。
同時,管理平臺可實現根據預先設定的課程表自動切換課程[10]。具體流程如圖7所示。
(1)管理員首先在管理平臺上創建課程表,然后管理平臺再根據配置好的課程表發起定時任務;
(2)等到課程表對應的時間點出現時,啟動切換課程任務;
(3)管理平臺先判斷是否需要切換課程,若不需要則直接啟動云桌面和云終端;
(4)若需要切換課程,則拷貝母鏡像到內存盤中,重建云桌面;
(5)同時喚醒云終端,待云桌面啟動完成后自動連接。
4 實踐效果分析
通過多級存儲技術,使用內存盤分散了批量云桌面同時開機產生的大量I/O壓力,消除了使用硬盤存在的I/O瓶頸,并有效地減少了云教室系統的啟動時間。
不同數量的云桌面開機時間對比如圖8所示:
從圖8可以看出,隨著同時開機的云桌面數量越來越多,普通方案開機時間大幅增長,這是因為出現了I/O瓶頸,而多級存儲方案開機時間的增長幅度明顯小于普通方案。當50臺云桌面同時開機時,多級存儲方案開機速度較普通方案提升6倍以上。
5 結束語
本文提出了基于多級存儲技術的云教室方案,并詳細介紹了該方案的架構設計與實現原理。基于上述架構的云教室系統能夠有效地減少云教室開機啟動的時間,提升系統運行的流暢度,從而增強用戶體驗。經過不斷地開發和完善,該方案已成功在多家中小學、高職院校試點上線,運行效果良好。
參考文獻:
[1] 虞江鋒,陳東毅,羅松,等. 云教室的建設技術集成與應用[J]. 計算機教育, 2017(3): 72-77.
[2] 杜然,黃秋蘭,程耀東,等. 基于塊的分級存儲系統多樣性機制設計與研究[J]. 計算機工程, 2016,42(12): 50-59.
[3] 李剛健. 基于虛擬化技術的云計算平臺架構研究[J]. 吉林建筑工程學院學報, 2011,28(1): 79-81.
[4] 鄭毅. 應用Hyper-V技術進行服務器虛擬化[J]. 電腦與信息技術, 2016,24(5): 37-38.
[5] 趙鳳芝,王海英. 基于云計算的云課堂教學平臺研究與應用[J]. 時代教育, 2016(23): 15-16.
[6] 軒永濤. 云桌面系統在高校實驗教學中的應用研究[J]. 電子技術與軟件工程, 2016(15): 94.
[7] 周素梅. 中小學云課堂解決方案——以延慶縣中小學云教室建設方案為例[J]. 中國教育技術裝備, 2015(7): 20-22.
[8] 黃蘇. 教育(普教)行業CenDesktop云教室解決方案[J]. 科技創新與應用, 2016(11): 93.
[9] 劉哲. 基于云服務課堂教學的觀察與思考[J]. 中國信息技術教育, 2013(5): 13-15.
[10] 胡欽太,鄭凱,林南暉. 教育信息化的發展轉型:從“數字校園”到“智慧校園”[J]. 中國電化教育,
2014(1): 35-39.