王湘渝 黃蓉
摘要:針對(duì)高職學(xué)院新開設(shè)云計(jì)算技術(shù)專業(yè)實(shí)踐課程遇到的困難,提出了在學(xué)院普通機(jī)房搭建云計(jì)算實(shí)訓(xùn)環(huán)境,并在該實(shí)訓(xùn)環(huán)境上實(shí)現(xiàn)云計(jì)算平臺(tái)的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等主要功能的教學(xué)模式。該方案有助于解決高職院校新建云計(jì)算實(shí)訓(xùn)室建設(shè)成本高、實(shí)訓(xùn)管理不便等問題。
關(guān)鍵詞:云計(jì)算技術(shù)與應(yīng)用;OpenStack;虛擬仿真
中圖分類號(hào) TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)18-0097-04
The Study on the Practical Teaching Model of Cloud Computing Technology Specialty in Higher Vocational Education
WANG Xiang-yu, HUANG Rong
(Software Institute of Hunan Vocational College of Science And Technology, Changsha 410118,China)
Abstract: In view of some difficulties of opening new practical courses of Cloud Computing Technology and Application, this paper comes up with setting up the cloud computing training environment. It realizes the main teaching functions such as computing, storage, network and so on in the general computer room. This scheme is helpful to solve the problems of high cost and inconvenient management of new cloud computing training room in the higher vocational colleges.
Key words: cloud computing technology and application; OpenStack; virtualized simulation
互聯(lián)網(wǎng)技術(shù)蓬勃發(fā)展了20年,技術(shù)沉淀和創(chuàng)新積累已從量變發(fā)展到質(zhì)變,促成了當(dāng)今新的IT架構(gòu)“云計(jì)算”王者歸來[1]。在此背景下,越來越多的用戶正逐步將自己的IT系統(tǒng)從傳統(tǒng)架構(gòu)向“云”架構(gòu)遷移[2],既帶來了IT基礎(chǔ)設(shè)施和應(yīng)用的革新,也帶來了對(duì)云計(jì)算人才的渴求[3,4]。
國家教育部于2015年發(fā)布了2016年高職院校專業(yè)目錄,首次將“云計(jì)算技術(shù)與應(yīng)用”專業(yè)列入,標(biāo)志著云計(jì)算專業(yè)已進(jìn)入正式建設(shè)階段[5]。許多高職院校開設(shè)或正在籌劃開設(shè)云計(jì)算專業(yè),并將云計(jì)算的課程納入傳統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)、通信、計(jì)算機(jī)軟件、計(jì)算機(jī)應(yīng)用等IT專業(yè)的人才培養(yǎng)方案。云平臺(tái)的搭建和運(yùn)維能力是云計(jì)算技術(shù)專業(yè)重點(diǎn)培養(yǎng)的職業(yè)技能。隨著云計(jì)算技術(shù)專業(yè)和其相關(guān)課程的開設(shè),帶來了實(shí)訓(xùn)室建設(shè)和其管理等迫切需要解決的問題。[6]
1 云計(jì)算專業(yè)課程實(shí)踐環(huán)節(jié)困惑
1.1 云計(jì)算實(shí)訓(xùn)室建設(shè)成本高
搭建一套云計(jì)算平臺(tái),一般需要2臺(tái)高配置服務(wù)器、1臺(tái)存儲(chǔ)設(shè)備,價(jià)格在20萬左右[7,8]。如果按照1套設(shè)備提供給4-6個(gè)同學(xué)使用,一個(gè)班按照55人計(jì)算,至少需要購買10套云計(jì)算設(shè)備,總價(jià)格200多萬。目前,已開設(shè)云計(jì)算專業(yè)的部分學(xué)校計(jì)劃采購了用于教學(xué)的云計(jì)算硬件設(shè)備,而更多學(xué)校由于教學(xué)經(jīng)費(fèi)原因,面臨云計(jì)算專業(yè)開設(shè)困難的難題[9]。
1.2 教學(xué)管理不方便
云計(jì)算平臺(tái)實(shí)訓(xùn)內(nèi)容多,核心模塊安裝有先后順序,例如,要想完成云平臺(tái)存儲(chǔ)模塊安裝,就必須先完成驗(yàn)證服務(wù)keystone模塊安裝。教學(xué)時(shí),如果每次都從頭安裝就會(huì)花費(fèi)很多時(shí)間在重復(fù)操作上,浪費(fèi)了時(shí)間。而且,一個(gè)云計(jì)算實(shí)訓(xùn)室面臨多個(gè)年紀(jì)、多個(gè)班一起使用,由于實(shí)訓(xùn)內(nèi)容和進(jìn)度不同,經(jīng)常造成云計(jì)算實(shí)訓(xùn)室軟件刪除和配置文件破壞等意外情況,影響了正常的教學(xué)工作[10]。
1.3 服務(wù)器設(shè)備少,學(xué)生操作機(jī)會(huì)少
云計(jì)算的每個(gè)實(shí)訓(xùn)操作步驟多,實(shí)訓(xùn)時(shí)間長,連貫性高,采用了學(xué)生分組輪流操作的形式管理,勢必造成部分同學(xué)不能和老師同步操作,經(jīng)常處在等待狀態(tài)。[11]
2 云計(jì)算實(shí)訓(xùn)課程設(shè)計(jì)
本文以我校開設(shè)的云計(jì)算平臺(tái)安裝和運(yùn)維課程為例,介紹云平臺(tái)教學(xué)方向選擇;如何將普通機(jī)房配置成云計(jì)算實(shí)訓(xùn)機(jī)房;舉例介紹腳本安裝云平臺(tái)模塊,以及云平臺(tái)模塊快照管理和云平臺(tái)運(yùn)維操作等云計(jì)算實(shí)訓(xùn)室建設(shè)和管理關(guān)鍵問題。云計(jì)算實(shí)訓(xùn)平臺(tái)教學(xué)模式如圖1所示。
2.1云計(jì)算平臺(tái)選擇
目前,市場上代表性的云計(jì)算平臺(tái)有開源的Openstack和商業(yè)化的Vmware等云平臺(tái)。Openstack為一個(gè)開源的云計(jì)算解決方案可以為公司節(jié)省很多費(fèi)用,它由十多個(gè)模塊組成,各個(gè)模塊之間松耦合,便于擴(kuò)展,選擇一些主要的模塊安裝就可以實(shí)現(xiàn)一些基本功能的云平臺(tái),著名的京東電商云平臺(tái)就是采用Openstack搭建的[12]。Vmware則是市場上使用非常多的商業(yè)化云平臺(tái),各個(gè)模塊之間集成度非常高,安裝使用方便,在中小企業(yè)數(shù)據(jù)中心得到了廣泛應(yīng)用[13]。
教學(xué)時(shí),建議首先開設(shè)開源的Openstack云平臺(tái)課程,學(xué)習(xí)云平臺(tái)架構(gòu),理解各個(gè)模塊功能和搭建原理[14],后期課程里再講授商業(yè)化集成度高的Vmware等云平臺(tái),以更好滿足學(xué)生畢業(yè)實(shí)習(xí)和工作需要。
2.2云計(jì)算實(shí)訓(xùn)機(jī)房要求
我們以實(shí)現(xiàn)學(xué)生搭建基本功能云平臺(tái)和方便教師管理云平臺(tái)為目標(biāo),設(shè)計(jì)實(shí)現(xiàn)最小架構(gòu)的云平臺(tái)所需的硬件設(shè)備。該云計(jì)算平臺(tái)可以安裝在普通機(jī)房的一臺(tái)電腦上,每個(gè)學(xué)生都可以在電腦上單獨(dú)操作完成。
實(shí)訓(xùn)計(jì)算機(jī)硬件配置為2核4線程的I7處理器、8G內(nèi)存、100G的空余存儲(chǔ)空間,推薦配置為I7處理器,16G內(nèi)存,500G磁盤空間。以上這些計(jì)算機(jī)硬件設(shè)備配置已經(jīng)是高職院校普通機(jī)房的標(biāo)配,不需要額外經(jīng)費(fèi)購買。
2.3機(jī)房安裝虛擬化軟件
在實(shí)訓(xùn)機(jī)房的計(jì)算機(jī)上安裝VMware Workstation 12,通過VMware創(chuàng)建的虛擬機(jī)來配置Openstack的控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)??刂乒?jié)點(diǎn)內(nèi)存分配2G,計(jì)算節(jié)點(diǎn)內(nèi)存分配3G,處理器數(shù)量統(tǒng)一分配2核,并都啟動(dòng)虛擬化Intel VT-x/EPT或AMD-V/RVI(V)功能。
虛擬機(jī)節(jié)點(diǎn)的資源配置如下圖2。
2.4新建虛擬機(jī),搭建集群
云平臺(tái)包括一個(gè)控制節(jié)點(diǎn)和一個(gè)計(jì)算節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)可根據(jù)需要進(jìn)行增加。每個(gè)節(jié)點(diǎn)配置兩塊網(wǎng)卡,一塊用作內(nèi)網(wǎng)間的通信以及云平臺(tái)的管理;另一塊用作外部網(wǎng)絡(luò)對(duì)IaaS平臺(tái)的訪問以及平臺(tái)對(duì)外部用戶提供業(yè)務(wù)和服務(wù)。實(shí)訓(xùn)要求用到兩個(gè)軟件包,一個(gè)名為CentOS-6.5的鏡像文件,一個(gè)名為iaas-repo的OpenStack軟件包。云平臺(tái)虛擬服務(wù)器集群網(wǎng)絡(luò)拓?fù)淙鐖D3所示。
2.5設(shè)計(jì)腳本,分別安裝云平臺(tái)各模塊
OpenStack云平臺(tái)是由多個(gè)松耦合的模塊組成,安裝分為手工安裝和腳本安裝。手工安裝可以更加詳細(xì)了解云平臺(tái)模塊運(yùn)行原理和配置過程,但手工配置步驟多,容易出錯(cuò),排錯(cuò)比較困難。腳本安裝則配置快,出錯(cuò)少,一次寫成,反復(fù)使用。
教學(xué)中我們選擇Openstack一到兩個(gè)模塊進(jìn)行手工安裝,其余模塊采用腳本安裝。本文以O(shè)penstack的Glance鏡像存儲(chǔ)為例,列出手工和腳本安裝方法。Glance鏡像存儲(chǔ)手工安裝配置步驟為:安裝Glance基本組件;創(chuàng)建Glance數(shù)據(jù)庫并授權(quán)在Keystone注冊(cè)Glance服務(wù);修改Glance配置文件;啟動(dòng)Glance服務(wù)[15]。從手工安裝步驟可以看出,配置重點(diǎn)主要在修改配置文件,這也是手工安裝最容易出錯(cuò)的地方。
充分利用腳本安裝在修改配置文件數(shù)據(jù)上的優(yōu)勢,設(shè)計(jì)了腳本實(shí)現(xiàn)安裝配置,以下為核心腳本。
source /etc/xiandian/openrc.sh //運(yùn)行環(huán)境變量腳本
openstack-config --set /etc/glance/glance-api.conf database connection mysql://glance:$GLANCE_DBPASS@$HOST_NAME/glance //修改配置文件,連接數(shù)據(jù)庫
su -s /bin/sh -c "glance-manage db_sync" glance //同步數(shù)據(jù)庫,為Glance建表
source /etc/keystone/admin-openrc.sh //運(yùn)行環(huán)境變量腳本
keystone user-create --name=glance --pass=$GLANCE_PASS //創(chuàng)建Glance用戶和密碼
keystone user-role-add --user=glance --tenant=service --role=admin //修改用戶權(quán)限
keystone service-create --name=glance --type=image --description="OpenStack Image Service"
keystone endpoint-create --service-id=$(keystone service-list | awk '/ image / {print $2}') --publicurl=http://$HOST_NAME:9292 --internalurl=http://$HOST_NAME:9292 --adminurl=http://$HOST_NAME:9292 //設(shè)置服務(wù)訪問端點(diǎn)
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://$HOST_NAME:5000 //修改glance-api.conf配置文件
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_uri http://$HOST_NAME:5000
openstack-config --set /etc/glance/glance-api.conf DEFAULT notification_driver messaging
openstack-config --set /etc/glance/glance-api.conf DEFAULT rpc_backend qpid
chkconfig openstack-glance-api on //設(shè)計(jì)開機(jī)自啟動(dòng)
service openstack-glance-api start //啟動(dòng)服務(wù)
2.6為每個(gè)云計(jì)算模塊拍攝快照
為了減少大量重復(fù)操作的時(shí)間,我們?cè)O(shè)計(jì)在部署機(jī)房環(huán)境時(shí),按照教學(xué)順序?qū)惭b好的云計(jì)算各個(gè)平臺(tái)模塊采用快照形式進(jìn)行保存,學(xué)生在學(xué)習(xí)相應(yīng)模塊時(shí)可直接通過快照進(jìn)入相應(yīng)模塊的配置操作。
(1) 控制節(jié)點(diǎn)快照管理
控制節(jié)點(diǎn)需要安裝keystone、鏡像存儲(chǔ)、計(jì)算服務(wù)、網(wǎng)絡(luò)服務(wù)、Dashboard訪問服務(wù)、cinder塊存儲(chǔ)、swift對(duì)象存儲(chǔ)等模塊,每個(gè)模塊安裝好以后都進(jìn)行快照管理。控制節(jié)點(diǎn)快照如圖4所示。
(2) 計(jì)算節(jié)點(diǎn)快照管理
計(jì)算節(jié)點(diǎn)需要安裝計(jì)算服務(wù)、網(wǎng)絡(luò)服務(wù)、存儲(chǔ)等服務(wù),每個(gè)模塊安裝好后也需要進(jìn)行快照管理,計(jì)算節(jié)點(diǎn)快照如圖5所示。
2.7云計(jì)算平臺(tái)上運(yùn)維
搭建好云計(jì)算平臺(tái)后,就可以通過命令和瀏覽器訪問云平臺(tái),并根據(jù)用戶需求發(fā)布云主機(jī)、分配云存儲(chǔ)資源和進(jìn)行SDN網(wǎng)絡(luò)運(yùn)維管理操作。
(1)通過瀏覽器訪問云平臺(tái)
在瀏覽器地址欄輸入控制節(jié)點(diǎn)dashboard地址,通過keystone驗(yàn)證,就可以訪問云平臺(tái),進(jìn)行管理操作,如圖6所示。
(2)運(yùn)維云平臺(tái)發(fā)布的云主機(jī)
在云平臺(tái)上發(fā)布一個(gè)云主機(jī),通過浮動(dòng)地址訪問云主機(jī),就可以進(jìn)行云主機(jī)操作,如圖7所示。
(3)運(yùn)維鏡像存儲(chǔ)
通過上傳本地鏡像文件和從網(wǎng)站下載鏡像文件的方式完成創(chuàng)建、查詢、刪除和修改鏡像文件的運(yùn)維操作,如圖8所示。
(4)設(shè)計(jì)云平臺(tái)網(wǎng)絡(luò)
網(wǎng)絡(luò)運(yùn)維包括:創(chuàng)建網(wǎng)絡(luò)實(shí)現(xiàn)租戶子網(wǎng)和租戶之間以及租戶與外部網(wǎng)絡(luò)之間通信,租戶的實(shí)例資源接到對(duì)應(yīng)的租戶網(wǎng)段,從而實(shí)現(xiàn)網(wǎng)絡(luò)的訪問,如圖9所示。
3 結(jié)語
本方案構(gòu)建的云計(jì)算實(shí)訓(xùn)室具有實(shí)施效率高、通用性強(qiáng)、易于推廣的特點(diǎn),實(shí)踐內(nèi)容涵蓋了云計(jì)算平臺(tái)安裝和運(yùn)維等高職學(xué)生重點(diǎn)培養(yǎng)的職業(yè)技能,滿足了高職院校新開設(shè)云計(jì)算技術(shù)實(shí)訓(xùn)課程實(shí)訓(xùn)環(huán)境的需要,對(duì)已購買新服務(wù)器設(shè)備建成的云計(jì)算實(shí)訓(xùn)室教學(xué)管理也具有有益補(bǔ)充。
本方案在我校云計(jì)算技術(shù)和計(jì)算網(wǎng)絡(luò)專業(yè)云計(jì)算實(shí)踐教學(xué)上進(jìn)行了推廣,有效了彌補(bǔ)傳統(tǒng)實(shí)訓(xùn)室建設(shè)成本高,建設(shè)周期長,教學(xué)管理不方便的問題。本方案還可作為技能大賽的訓(xùn)練平臺(tái),云計(jì)算技術(shù)全國大賽大部分功能都可以在這個(gè)平臺(tái)上實(shí)現(xiàn),近兩年我校采用該平臺(tái)進(jìn)行賽前實(shí)訓(xùn),在競賽中多次獲得省賽和國賽獎(jiǎng)項(xiàng)。
參考文獻(xiàn):
[1]武志學(xué).云計(jì)算虛擬化技術(shù)的發(fā)展與趨勢[J].計(jì)算機(jī)應(yīng)用,2017,37(4):915-923.
[2]中國信息通信研究院[R].云計(jì)算白皮書(2017),2016-09.
[3]蔣建峰,劉源.蘇州高職院校云計(jì)算專業(yè)建設(shè)探索[J].蘇州市職業(yè)大學(xué)學(xué)報(bào),2016:85-88.
[4]石樂義.“云模式”IT專業(yè)校企合作人才培養(yǎng)模式探索[J].職教論壇,2014(2):72-74.
[5]王永祥,柳義筠.高職云計(jì)算技術(shù)與應(yīng)用專業(yè)課程體系的探索與構(gòu)建——基于對(duì)國家首批高職示范校的調(diào)研[J].職業(yè)技術(shù)教育,2017,38(8)29-31.
[6]金永霞.云計(jì)算技術(shù)與應(yīng)用課程的實(shí)驗(yàn)教學(xué)探索與實(shí)踐[J].計(jì)算機(jī)教育,2017(2):146:149.
[7]擑友.Openstack開源云王者歸來[M].北京:清華大學(xué)出版社,2014.
[8]張子凡.Openstack部署實(shí)踐.人民郵電出版社,2016.
[9]石慧,李俊杰.“互聯(lián)網(wǎng)+”環(huán)境下云計(jì)算技術(shù)與應(yīng)用專業(yè)實(shí)訓(xùn)室建設(shè)模式探索[J].高等職業(yè)教育,2017,26(6):24-28.
[10]華馳,顧曉燕.”互聯(lián)網(wǎng)+”背景下云計(jì)算技術(shù)與應(yīng)用專業(yè)實(shí)訓(xùn)基地設(shè)計(jì)及構(gòu)建[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(9):223-228.
[11]王湘渝.高職網(wǎng)絡(luò)技術(shù)專業(yè)實(shí)踐教學(xué)研究[J].實(shí)驗(yàn)科學(xué)與技術(shù),2013,11(1):103-105.
[12]史建燾.基于CloundStack的網(wǎng)絡(luò)攻防虛擬化實(shí)驗(yàn)云平臺(tái)[J],實(shí)驗(yàn)室研究與探索2017,36(5):85-88.
[13]蘇命峰.云計(jì)算環(huán)境下高校數(shù)據(jù)中心的虛擬化研究與實(shí)現(xiàn)[D].湖南大學(xué),2015.
[14]Keystone, the OpenStack Identity Service [EB/OL]. [2017-12-20]. https://docs.openstack.org/keystone/latest/.
[15] Sample configuration for Glance API [EB/OL],[2017-12] https://docs.openstack.org/glance/ocata/sample-configuration.html.