王湘渝 黃蓉
摘要:針對(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)管理不便等問(wè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ì)算”王者歸來(lái)[1]。在此背景下,越來(lái)越多的用戶正逐步將自己的IT系統(tǒng)從傳統(tǒng)架構(gòu)向“云”架構(gòu)遷移[2],既帶來(lái)了IT基礎(chǔ)設(shè)施和應(yīng)用的革新,也帶來(lái)了對(duì)云計(jì)算人才的渴求[3,4]。
國(guó)家教育部于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è),帶來(lái)了實(shí)訓(xùn)室建設(shè)和其管理等迫切需要解決的問(wèn)題。[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萬(wàn)左右[7,8]。如果按照1套設(shè)備提供給4-6個(gè)同學(xué)使用,一個(gè)班按照55人計(jì)算,至少需要購(gòu)買10套云計(jì)算設(shè)備,總價(jià)格200多萬(wàn)。目前,已開設(shè)云計(jì)算專業(yè)的部分學(xué)校計(jì)劃采購(gòu)了用于教學(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í)間長(zhǎng),連貫性高,采用了學(xué)生分組輪流操作的形式管理,勢(shì)必造成部分同學(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)鍵問(wèn)題。云計(jì)算實(shí)訓(xùn)平臺(tái)教學(xué)模式如圖1所示。
2.1云計(jì)算平臺(tái)選擇
目前,市場(chǎng)上代表性的云計(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則是市場(chǎng)上使用非常多的商業(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)購(gòu)買。
2.3機(jī)房安裝虛擬化軟件
在實(shí)訓(xùn)機(jī)房的計(jì)算機(jī)上安裝VMware Workstation 12,通過(guò)VMware創(chuàng)建的虛擬機(jī)來(lái)配置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)的訪問(wèn)以及平臺(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)行原理和配置過(guò)程,但手工配置步驟多,容易出錯(cuò),排錯(cuò)比較困難。腳本安裝則配置快,出錯(cuò)少,一次寫成,反復(fù)使用。
教學(xué)中我們選擇Openstack一到兩個(gè)模塊進(jìn)行手工安裝,其余模塊采用腳本安裝。本文以O(shè)penstack的Glance鏡像存儲(chǔ)為例,列出手工和腳本安裝方法。Glance鏡像存儲(chǔ)手工安裝配置步驟為:安裝Glance基本組件;創(chuàng)建Glance數(shù)據(jù)庫(kù)并授權(quán)在Keystone注冊(cè)Glance服務(wù);修改Glance配置文件;啟動(dòng)Glance服務(wù)[15]。從手工安裝步驟可以看出,配置重點(diǎn)主要在修改配置文件,這也是手工安裝最容易出錯(cuò)的地方。
充分利用腳本安裝在修改配置文件數(shù)據(jù)上的優(yōu)勢(shì),設(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ù)庫(kù)
su -s /bin/sh -c "glance-manage db_sync" glance //同步數(shù)據(jù)庫(kù),為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ù)訪問(wèn)端點(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í)可直接通過(guò)快照進(jìn)入相應(yīng)模塊的配置操作。
(1) 控制節(jié)點(diǎn)快照管理
控制節(jié)點(diǎn)需要安裝keystone、鏡像存儲(chǔ)、計(jì)算服務(wù)、網(wǎng)絡(luò)服務(wù)、Dashboard訪問(wèn)服務(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)后,就可以通過(guò)命令和瀏覽器訪問(wèn)云平臺(tái),并根據(jù)用戶需求發(fā)布云主機(jī)、分配云存儲(chǔ)資源和進(jìn)行SDN網(wǎng)絡(luò)運(yùn)維管理操作。
(1)通過(guò)瀏覽器訪問(wèn)云平臺(tái)
在瀏覽器地址欄輸入控制節(jié)點(diǎn)dashboard地址,通過(guò)keystone驗(yàn)證,就可以訪問(wèn)云平臺(tái),進(jìn)行管理操作,如圖6所示。
(2)運(yùn)維云平臺(tái)發(fā)布的云主機(jī)
在云平臺(tái)上發(fā)布一個(gè)云主機(jī),通過(guò)浮動(dòng)地址訪問(wèn)云主機(jī),就可以進(jìn)行云主機(jī)操作,如圖7所示。
(3)運(yùn)維鏡像存儲(chǔ)
通過(guò)上傳本地鏡像文件和從網(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ò)的訪問(wèn),如圖9所示。
3 結(jié)語(yǔ)
本方案構(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ì)已購(gòu)買新服務(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è)周期長(zhǎng),教學(xué)管理不方便的問(wèn)題。本方案還可作為技能大賽的訓(xùn)練平臺(tái),云計(jì)算技術(shù)全國(guó)大賽大部分功能都可以在這個(gè)平臺(tái)上實(shí)現(xiàn),近兩年我校采用該平臺(tái)進(jìn)行賽前實(shí)訓(xùn),在競(jìng)賽中多次獲得省賽和國(guó)賽獎(jiǎng)項(xiàng)。
參考文獻(xiàn):
[1]武志學(xué).云計(jì)算虛擬化技術(shù)的發(fā)展與趨勢(shì)[J].計(jì)算機(jī)應(yīng)用,2017,37(4):915-923.
[2]中國(guó)信息通信研究院[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ì)國(guó)家首批高職示范校的調(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開源云王者歸來(lái)[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.