秦宇
【摘 要】在當(dāng)前的云計算平臺中,OpenStack占據(jù)了重要的地位。在高等學(xué)校的教學(xué)中,運用云計算技術(shù)為學(xué)習(xí)者提供一個多功能的學(xué)校平臺,具有重要的意義。本文分析了OpenStack系統(tǒng)的原理,設(shè)計和實現(xiàn)了基于OpenStack的云教學(xué)平臺。
【關(guān)鍵詞】OpenStack;云平臺;教學(xué)
中圖分類號: TP393.09 文獻標(biāo)識碼: 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 前言
隨著云計算技術(shù)的日益發(fā)展,如何利用云計算技術(shù)提高教學(xué)質(zhì)量,優(yōu)化教學(xué)資源,成為了當(dāng)前高校教學(xué)中的一個重要課題。高校的教學(xué)具有課程多,信息化程度高的特點,云計算技術(shù)和傳統(tǒng)教學(xué)的融合顯得尤為重要。
1 分析和設(shè)計
在所有的云計算框架中,OpenStack以其開源和兼容性的優(yōu)點占據(jù)了主要的市場。因此,本文選擇其作為云教學(xué)平臺的基礎(chǔ)框架。為了讓用戶在臺式機和移動終端上都能夠使用到云平臺提供的服務(wù),采用網(wǎng)頁瀏覽器的方式提供云平臺服務(wù)。
平臺實現(xiàn)的功能如下:
(1)注冊登錄模塊
(2)教學(xué)班級管理模塊
(3)日常教學(xué)資源
(4)云主機資源
(5)競賽平臺模塊
(6)云盤資源
實現(xiàn)云平臺需要準(zhǔn)備的硬件資源;
(1)內(nèi)存16G以上的服務(wù)器8臺
(2)集中式存儲10T以上
(3)交換機3臺
所需要準(zhǔn)備的軟件資源:
(1)Django網(wǎng)站框架
(2)Bootstrap前段框架
(3)Centos操作系統(tǒng)
(4)OpenStack框架
OpenStack主要由認證(keystone)組件,計算(nova)組件,面板(dashboard)鏡像(glance)組件,網(wǎng)絡(luò)(neutron)組件,對象存儲(swift)組件構(gòu)成,這些組件可以分別部署到不同的服務(wù)器上,也可以只部署到單臺服務(wù)器上,本平臺把認證組件和網(wǎng)絡(luò)組件以及面板組件,鏡像組件部署在一臺服務(wù)器上,計算組件部署到其它多臺服務(wù)器上。平臺框架總體結(jié)構(gòu)圖如下圖1。
網(wǎng)站框架使用Django。Python下有許多款不同的 Web 框架。Django是重量級選手中最有代表性的一位。許多成功的網(wǎng)站和APP都基于Django。 Django是一個開放源代碼的Web應(yīng)用框架,由Python寫成。OpenStack也是由Python開發(fā)的,其面板組件就是基于Django框架,所以本云平臺使用Django框架開發(fā)網(wǎng)站能夠有比較好的兼容性。
Django框架遵循MVC設(shè)計,并且發(fā)展了屬于自己的專有架構(gòu):MVT。
OpenStack的各個節(jié)點內(nèi)部創(chuàng)建192的內(nèi)網(wǎng)網(wǎng)段,外網(wǎng)訪問通過網(wǎng)絡(luò)節(jié)點進行。網(wǎng)絡(luò)組件可以基于不同的網(wǎng)橋技術(shù)構(gòu)建網(wǎng)絡(luò)本平臺各個節(jié)點均采用linux網(wǎng)橋技術(shù)。
圖1 云教學(xué)平臺總體結(jié)構(gòu)
為了準(zhǔn)備不同類型的云主機,需要制作各種類型的鏡像上傳到鏡像組件進行統(tǒng)一管理。鏡像的制作,可以到各個官方網(wǎng)站下載不同版本的鏡像,有iso格式的也有qcow2格式的鏡像提供下載,根據(jù)需要進行下載。下載后,利用linux下的kvm虛擬機管理系統(tǒng)生成虛擬機后,在操作系統(tǒng)上安裝日常課程所需要的軟件,再把虛擬機硬盤上傳到鏡像組件,生成新的鏡像,此時的鏡像已經(jīng)安裝好了日常課程所需要的各種軟件。然后利用此鏡像在OpenStack系統(tǒng)里面生成新的虛擬機,在default的安全配置文件中放開相應(yīng)的訪問端口,在虛擬機操作系統(tǒng)中也要注意關(guān)閉相應(yīng)的防火墻端口。對于日常課程,為了提高資源利用率和節(jié)省資源,讓更多的用戶可以使用,可以采用在一臺虛擬機系統(tǒng)里面設(shè)置多用戶登錄。批量創(chuàng)建多用戶,允許不同的用戶同時使用一個虛擬機系統(tǒng),充分發(fā)揮了虛擬機的系統(tǒng)資源,滿足了大量用戶同時使用的需求。
對于需要使用云主機服務(wù)的用戶,由于用戶需要單獨擁有一臺虛擬機,所以對于每個用戶單獨生成一臺虛擬機。
由于云教學(xué)平臺需要提供給用戶定制的網(wǎng)頁操作界面,所以需要利用OpenStack提供的API對OpenStack進行二次開發(fā),以及對OpenStack的源碼進行改進。OpenStack的各個組件之間溝通的首要環(huán)節(jié)就是進行認證,所有的認證信息存儲在keystone組件里面,利用具有管理員權(quán)限的賬號和密碼向keystone申請口令token,獲取到token后,生成計算(nova)對象以及各個組件的相關(guān)對象,就可以進行相關(guān)后續(xù)操作。
在日常教學(xué)模塊中,在同一個網(wǎng)頁上同時提供操作步驟文檔和實驗資源,并提供實驗報告,及時收集用戶的反饋信息。
在日常課程的考試系統(tǒng)中,提供選擇題,判斷題,填空題,簡答題等各種題型,并且在網(wǎng)站后端設(shè)計了自動批改模塊,及時批改作業(yè)讓教學(xué)者能夠及時了解到當(dāng)堂課的教學(xué)效果,方便安排后續(xù)課程。對于學(xué)習(xí)者的考試時間做出限制,可以防止參加考試人員違法考場紀(jì)律的行為。
除了日常課程外,對于一些大型的競賽項目,利用云教學(xué)平臺的動態(tài)資源分配功能可以臨時分配較多的資源給競賽模塊,競賽結(jié)束后,可以回收這些臨時的資源,極大提高了資源利用率。
云平臺首頁如下圖:
2 結(jié)論
本文基于OpenStack云平臺框架和Django網(wǎng)站框架,設(shè)計和搭建了云教學(xué)平臺。實現(xiàn)了集中式和遠程管理,減輕了教師的勞動強度,提高了教學(xué)效率。針對各種教學(xué)環(huán)境,采取了不同的資源分配方案,提高了資源利用率,滿足了廣大師生的需求。
【參考文獻】
[1]王海霞.基于openstack的高職教學(xué)實驗云平臺研究與搭建[J].教育現(xiàn)代化,2018(11):94-95.
[2]崔軼.基于OpenStack的高職教學(xué)資源云平臺構(gòu)建研究[J].河北青年管理干部,2018,3:65-67.
[3]邱紅飛.基于OpenStack的離線桌面云系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代計算機,2018,7.