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