許 天,文敏華,羅 萱
(上海交通大學網絡信息中心,上海 200240)
近年來,云計算、大數據和人工智能技術的快速發展推動了高校信息化建設與改革,越來越多的高校開展了信息化實驗室建設工程,將理論教學與實驗教學相結合,加強學生創新意識和創新能力培養。傳統方案基于物理設備,靈活性差、安全性難以保障,需要大量的人力及時間部署環境。云計算整合計算、存儲、網絡、軟件等資源,具備按需分配、獲取迅速、訪問便捷等特點,簡化了實驗教學資源管理工作,提高了實驗教學效率[1-5]。
很多高校開展了云上教學探索,在校園云平臺上以云基礎設施服務(Infrastructure as a Service,IaaS)實現物理資源在云上的虛擬化分配。文獻[6]針對高校教學中工程學科和商學科的實驗仿真環節設計云計算科研環境,滿足計算和存儲資源擴展要求;文獻[7]結合硬件建設、云平臺建設、教學資源建設和信息化系統建設等4 個環節,設計一種云平臺實驗教學中心建設方案;文獻[8]以H3C CAS 云計算平臺搭建數據中心,在此基礎上探索虛擬實驗室控制系統和虛擬實驗室用戶平臺實現;文獻[9]提出在高校網絡中心現有計算機、網絡等硬件設施基礎上,使用云服務提供商應用軟件構建云計算實驗平臺,以滿足大學計算機基礎課程實驗教學需要;文獻[10]基于OpenStack 框架搭建云計算實驗平臺,從教師初始配置、投資效費比、實驗室開放、教師實驗管理和學生準備時間5 個維度對云計算實驗平臺效果作綜合分析。
上述相關研究中,根據具體實驗課程要求對實驗環境定制化部署,并以資源實際利用情況為依據進行資源配置的彈性調整很難達成。出于實驗室信息安全考慮,一般對實驗環境的外網訪問和數據存放加以限制,對用戶實驗造成不便。2020 年上半年受新型冠狀病毒疫情影響,各大高校紛紛采用遠程線上教學模式。為滿足遠程實驗課程教學需求,筆者基于校園云平臺設計并實施了計算機實驗教學支持方案。該方案在實現云平臺基本計算、網絡和存儲功能基礎上,以自主式用戶門戶和課程對應項目等設計向用戶提供更為自由和便捷的使用方式,部署監控系統以便于資源池容量和資源配置的動態調整,并通過安全管控保障自由使用方式下的信息數據安全。
針對計算機實驗教學需求,大多數高校建立了計算機實驗室并安排管理人員為實驗課程提供統一開放的實驗環境。隨著個人電腦的普及和性價比提升,越來越多學生將個人電腦用于課程實驗。但由于計算機實驗室資源擴展性、使用靈活性、個人電腦的軟件環境配置、網絡共享等問題,將個人電腦用于實驗課程會造成諸多不便[11-16]。
(1)資源擴展。計算機實驗室一般要求在建設初期對實驗類型和規模進行規劃,根據規劃內容實施室內裝修布線、選擇計算機型號、硬件配置和網絡架構。這樣的“統一式”規劃容易導致資源擴展性較差,部分實驗內容如模型仿真對計算機硬件配置有較高要求,實驗室難以滿足該類實驗需求。
(2)使用限制。計算機實驗室通常以課程為單位提前預定,當學生數量較少時會造成資源閑置,學生數量較多時會超出單個實驗室承載能力。因此,在課程較為集中的時間段容易產生資源緊張或資源利用率低的情況,且可用的實驗時間段受到較為嚴格的限制。
(3)軟件環境。實驗課程一般涉及到多種軟件,要求實驗室管理員或實驗教師在實驗室多臺計算機上安裝,工作量大且耗時長,而后期的軟件版本更新同樣需要投入人力及時間維護[17-18]。
(4)管理維護。實驗室計算機向多名用戶開放,為保護個人數據隱私,通常會在使用后還原計算機數據硬盤,對用戶作業連續性造成影響。因此,很多用戶會利用移動存儲設備或網盤導入導出作業,由于計算機之間通常采用內部局域網的網絡架構,這種方式容易造成病毒在實驗室內傳播。
(1)軟件環境。相對于計算機實驗室需要為每臺物理計算機安裝軟件,由學生在自己的個人電腦上進行軟件安裝可減少實驗室管理員或課程助教工作。但由于個人電腦硬件型號配置、驅動程序、預裝插件等存在較大差異,經常出現在某臺個人電腦上正常安裝運行的軟件在其它個人電腦上無法安裝或運行失敗的情況,這類問題增加了個人電腦用于計算機實驗的難度。
(2)網絡連接。部分實驗內容如多媒體、網絡通信分析模擬等要求實驗環境中的計算機處于同一局域網內。個人電腦由于本地防火墻、校園網的安全設置等不支持這些功能。
校園云上計算機實驗環境架構如圖1 所示。云平臺基于虛擬化、軟件定義網絡等核心技術,對底層計算、存儲和網絡資源聚合統一管理,根據需求從資源池中分配相應資源,集成鏡像、數據庫等服務模塊提高平臺定制化能力及數據管理分析能力。

圖1 云平臺計算機實驗環境結構
云平臺后端調用API 為前端提供服務,向授課教師和課程助教等對底層架構不熟悉的用戶提供桌面化Web 界面服務窗口,實驗環境配置及資源管理可在界面上執行,降低普通用戶在云平臺操作的復雜性。在云平臺管理上,設置性能監控和安全檢測模塊,加強對實驗環節的管控調整,滿足用戶硬件配置、網絡訪問需求。
計算機實驗環境所需要的硬件如計算、存儲、網絡資源,由云基礎設施服務提供。每門課程的學生數量和資源需求量不同,云計算的虛擬化特色可將資源池中的資源分割,提供多種硬件配置模板(flavor),根據不同課程進行資源合理分配。現有資源的彈性伸縮可應對實驗課程在不同階段產生資源配置變動的需求。對于閑置的計算資源可通過云主機“擱置”功能暫時釋放,提高資源利用率[19-21]。
計算機實驗室和個人電腦由于采用物理設備,硬件故障會造成服務不可用甚至數據丟失。云平臺采用高可用性設計,云主機在所在宿主機故障時自動遷移至其它宿主機重新啟動,保障業務連續性。存儲池設定三副本冗余方案,保證單塊硬盤故障不會影響用戶數據。由于單臺云主機對應到學生或實驗小組,不設置每次使用后還原數據盤策略,避免了實驗后遺忘數據轉移造成的不便。
在云平臺服務(Platform as a Service,PaaS)層面,實驗環境所需要的標準組件如操作系統、程序庫、運行環境等以鏡像服務的方式提供給用戶,用戶在此基礎上根據實驗內容增加定制化組件。實驗課程產生的數據如課程項目、資源使用、資源利用、用戶操作日志等保存在數據庫中,利用這些數據對實驗教學狀態、進展和質量進行評價。
云平臺集成統一身份認證,用戶以校內統一身份認證賬號或通過審批的注冊用戶賬號登陸云平臺控制臺門戶進行自主式操作,如圖2 所示。每門實驗課程對應一個單獨的課程項目,實驗教師可以加入到自己所在的課程項目下,對項目中的資源進行配置調整和使用時間上的管理,各個課程項目間相互平行。為防止資源濫用,對每個課程項目可使用的資源總量采用配額限制,資源配額的擴展需要發送工單并由云平臺管理員審批,并通過資源定價和計費計量來控制資源的使用。

圖2 云平臺門戶界面
云平臺以云軟件服務(Software as a Service,SaaS)為部分已經購入授權或開源的學科通用型軟件提供模板式部署,由模板創建的云主機預置對應軟件的安裝,實驗課程中需要使用到的其它軟件可在該基礎上增量安裝。首次完成了云主機部署后,可將云主機作為模板制作鏡像,對其它云主機統一、批量、自動化創建。針對工程學科實驗環節中多種軟件的協同實驗需求,云平臺的軟件模板和鏡像服務簡化了在軟件安裝和實驗環境準備中的復雜流程。
完成實驗環境準備后,實驗教師將云主機的外網訪問方式、用戶名和密碼分配給學生,學生遠程連接云主機登錄操作,并在本地客戶端或校內超算平臺與云主機互傳數據或映射磁盤,無需接入移動存儲設備或使用網盤進行數據搬遷工作。課程項目內可將多臺云主機劃分至一個或多個內網,便于實驗小組內文件共享和小組間相互隔離。
為保障校園云上計算機實驗環境的穩定運行,本文基于Zabbix 和Grafana 設計了監控可視化模塊,云平臺運維人員根據實驗教學的資源負載情況做出資源池容量大小調整。課程項目下資源如CPU、內存、磁盤IOPS、磁盤吞吐量、網絡流量的使用趨勢對教師可見,以便對實驗進展客觀分析,做出資源配置的動態調整。圖3 以云平臺CPU 分配量為例展示云平臺資源監控,圖4 以云主機CPU 負載為例展示云主機參數監控。

圖3 云平臺CPU 分配量監控

圖4 云主機CPU 負載監控
課程項目下設置安全組,默認的安全組策略僅允許常用端口的訪問,降低受到網絡攻擊的可能性。此外,云平臺設置安全檢測模塊,以云主機為單位進行自動化的周期性安全檢測,對存在的安全隱患如弱口令、軟件漏洞、非法進程等信息通過郵件通知實驗老師。
2020 年春季學期共有13 門實驗課程在上海交通大學云平臺上開展。服務學生500 余名,累計使用到云主機551 臺,如圖5 所示。CPU 計算資源1750 核,存儲資源33.40 TB。經統計,單個學生的實驗環境部署平均時間少于5 分鐘。

圖5 春季學期教學云主機數量變化
針對高校傳統計算機實驗教學方案中存在的問題,本文提出校園云上的計算機實驗教學方案,并就當前相關研究中出現的難點如云計算實驗環境定制化部署、資源動態調整、平衡使用便捷和數據安全的關系等作出優化設計,旨在提升實驗教學的效率與質量。同時,隨著高校信息化教學的發展,如何在校園云上提供更豐富的教學支持方案,如實驗數據后處理、實驗報告一鍵式提交等,并與現有的云上實驗教學方案相整合,實現更為自動化和一體式的云上教學支持體系,將是下一步的研究方向。