秦宇
【摘 要】在當前的云計算平臺中,OpenStack占據了重要的地位。在高等學校的教學中,運用云計算技術為學習者提供一個多功能的學校平臺,具有重要的意義。本文分析了OpenStack系統的原理,設計和實現了基于OpenStack的云教學平臺。
【關鍵詞】OpenStack;云平臺;教學
中圖分類號: TP393.09 文獻標識碼: A 文章編號: 2095-2457(2018)34-0180-002
DOI:10.19694/j.cnki.issn2095-2457.2018.34.073
Design and Implementation of Cloud Teaching Platform Based on OpenStack
QIN Yu
(Guangdong Teachers College of Foreign Language and Arts, Guangzhou Guangdong 510640, China)
【Abstract】OpenStack plays an important role in the current cloud computing platform. In the teaching of colleges and universities, using cloud computing technology to provide a multi-functional teaching platform for learners is of great significance. This paper analyses the principle of OpenStack system, designs and implements the cloud teaching platform based on OpenStack.
【Key words】OpenStack; Cloud computing; Teaching platform
0 前言
隨著云計算技術的日益發展,如何利用云計算技術提高教學質量,優化教學資源,成為了當前高校教學中的一個重要課題。高校的教學具有課程多,信息化程度高的特點,云計算技術和傳統教學的融合顯得尤為重要。
1 分析和設計
在所有的云計算框架中,OpenStack以其開源和兼容性的優點占據了主要的市場。因此,本文選擇其作為云教學平臺的基礎框架。為了讓用戶在臺式機和移動終端上都能夠使用到云平臺提供的服務,采用網頁瀏覽器的方式提供云平臺服務。
平臺實現的功能如下:
(1)注冊登錄模塊
(2)教學班級管理模塊
(3)日常教學資源
(4)云主機資源
(5)競賽平臺模塊
(6)云盤資源
實現云平臺需要準備的硬件資源;
(1)內存16G以上的服務器8臺
(2)集中式存儲10T以上
(3)交換機3臺
所需要準備的軟件資源:
(1)Django網站框架
(2)Bootstrap前段框架
(3)Centos操作系統
(4)OpenStack框架
OpenStack主要由認證(keystone)組件,計算(nova)組件,面板(dashboard)鏡像(glance)組件,網絡(neutron)組件,對象存儲(swift)組件構成,這些組件可以分別部署到不同的服務器上,也可以只部署到單臺服務器上,本平臺把認證組件和網絡組件以及面板組件,鏡像組件部署在一臺服務器上,計算組件部署到其它多臺服務器上。平臺框架總體結構圖如下圖1。
網站框架使用Django。Python下有許多款不同的 Web 框架。Django是重量級選手中最有代表性的一位。許多成功的網站和APP都基于Django。 Django是一個開放源代碼的Web應用框架,由Python寫成。OpenStack也是由Python開發的,其面板組件就是基于Django框架,所以本云平臺使用Django框架開發網站能夠有比較好的兼容性。
Django框架遵循MVC設計,并且發展了屬于自己的專有架構:MVT。
OpenStack的各個節點內部創建192的內網網段,外網訪問通過網絡節點進行。網絡組件可以基于不同的網橋技術構建網絡本平臺各個節點均采用linux網橋技術。
圖1 云教學平臺總體結構
為了準備不同類型的云主機,需要制作各種類型的鏡像上傳到鏡像組件進行統一管理。鏡像的制作,可以到各個官方網站下載不同版本的鏡像,有iso格式的也有qcow2格式的鏡像提供下載,根據需要進行下載。下載后,利用linux下的kvm虛擬機管理系統生成虛擬機后,在操作系統上安裝日常課程所需要的軟件,再把虛擬機硬盤上傳到鏡像組件,生成新的鏡像,此時的鏡像已經安裝好了日常課程所需要的各種軟件。然后利用此鏡像在OpenStack系統里面生成新的虛擬機,在default的安全配置文件中放開相應的訪問端口,在虛擬機操作系統中也要注意關閉相應的防火墻端口。對于日常課程,為了提高資源利用率和節省資源,讓更多的用戶可以使用,可以采用在一臺虛擬機系統里面設置多用戶登錄。批量創建多用戶,允許不同的用戶同時使用一個虛擬機系統,充分發揮了虛擬機的系統資源,滿足了大量用戶同時使用的需求。
對于需要使用云主機服務的用戶,由于用戶需要單獨擁有一臺虛擬機,所以對于每個用戶單獨生成一臺虛擬機。
由于云教學平臺需要提供給用戶定制的網頁操作界面,所以需要利用OpenStack提供的API對OpenStack進行二次開發,以及對OpenStack的源碼進行改進。OpenStack的各個組件之間溝通的首要環節就是進行認證,所有的認證信息存儲在keystone組件里面,利用具有管理員權限的賬號和密碼向keystone申請口令token,獲取到token后,生成計算(nova)對象以及各個組件的相關對象,就可以進行相關后續操作。
在日常教學模塊中,在同一個網頁上同時提供操作步驟文檔和實驗資源,并提供實驗報告,及時收集用戶的反饋信息。
在日常課程的考試系統中,提供選擇題,判斷題,填空題,簡答題等各種題型,并且在網站后端設計了自動批改模塊,及時批改作業讓教學者能夠及時了解到當堂課的教學效果,方便安排后續課程。對于學習者的考試時間做出限制,可以防止參加考試人員違法考場紀律的行為。
除了日常課程外,對于一些大型的競賽項目,利用云教學平臺的動態資源分配功能可以臨時分配較多的資源給競賽模塊,競賽結束后,可以回收這些臨時的資源,極大提高了資源利用率。
云平臺首頁如下圖:
2 結論
本文基于OpenStack云平臺框架和Django網站框架,設計和搭建了云教學平臺。實現了集中式和遠程管理,減輕了教師的勞動強度,提高了教學效率。針對各種教學環境,采取了不同的資源分配方案,提高了資源利用率,滿足了廣大師生的需求。
【參考文獻】
[1]王海霞.基于openstack的高職教學實驗云平臺研究與搭建[J].教育現代化,2018(11):94-95.
[2]崔軼.基于OpenStack的高職教學資源云平臺構建研究[J].河北青年管理干部,2018,3:65-67.
[3]邱紅飛.基于OpenStack的離線桌面云系統的設計與實現[J].現代計算機,2018,7.