[摘 要] 云計(jì)算是IT技術(shù)重要的創(chuàng)新之一,該技術(shù)必將為各行業(yè)帶來(lái)巨大變革。因此,各行各業(yè)迫切需要云計(jì)算方面的高素質(zhì)人才,而高校開(kāi)設(shè)云計(jì)算相關(guān)課程正順應(yīng)這一趨勢(shì)。作為全新的課程,它不僅需要教師深入理解云計(jì)算相關(guān)理論知識(shí),同時(shí)還應(yīng)具備相應(yīng)實(shí)驗(yàn)技能。該文就高校云計(jì)算課程的教學(xué)與實(shí)驗(yàn)方法展開(kāi)討論,給出基于云平臺(tái)OpenStack的教學(xué)和實(shí)驗(yàn)方法。通過(guò)對(duì)云平臺(tái)OpenStack的學(xué)習(xí),學(xué)生能理論聯(lián)系實(shí)際,最終提升對(duì)云計(jì)算的理解和實(shí)際運(yùn)用能力。
[關(guān)鍵詞] 云計(jì)算;OpenStack;教學(xué)
[作者簡(jiǎn)介] 劉志才(1978—),男,四川瀘州人,西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院教師,主要從事機(jī)器學(xué)習(xí)、軟集理論、物聯(lián)網(wǎng)安全研究。
[中圖分類號(hào)] G642.41 ? ?[文獻(xiàn)標(biāo)識(shí)碼] A ? ?[文章編號(hào)] 1674-9324(2020)17-0385-02 ? ?[收稿日期] 2020-03-09
一、引言
云計(jì)算是這樣一種模式,它允許用戶通過(guò)便捷的網(wǎng)絡(luò)接入到一個(gè)可動(dòng)態(tài)配置的共享計(jì)算資源池,并以最小的管理代價(jià)即可獲取這些資源的使用權(quán)[1]。云計(jì)算有五大特征和三種模式。其特征為:按需獲得自助服務(wù)、廣泛的網(wǎng)絡(luò)接入、資源池化、彈性伸縮及可計(jì)量的服務(wù)。其三種模式是:基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺(tái)即服務(wù)(PaaS),及軟件即服務(wù)(SaaS)。云計(jì)算使得人們“可以像用水、電那樣使用計(jì)算資源”。由此特性,可預(yù)見(jiàn)在不遠(yuǎn)的未來(lái)它必將為各行各業(yè)帶來(lái)巨大的變革。
OpenStack被譽(yù)為云操作系統(tǒng),它將計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)等資源整合起來(lái)以服務(wù)形式提供給使用者。OpenStack作為云計(jì)算領(lǐng)域的佼佼者,其用戶群不乏著名的企業(yè)和機(jī)構(gòu),如CERN、華為等。云計(jì)算課程開(kāi)設(shè)的目的是使學(xué)生通過(guò)該課程的學(xué)習(xí)在實(shí)際中能運(yùn)用“云”解決實(shí)際問(wèn)題。本文以O(shè)penStack為基礎(chǔ),就云計(jì)算的教學(xué)與實(shí)踐問(wèn)題展開(kāi)討論。課程涉及云計(jì)算的基本概念、系統(tǒng)架構(gòu);云平臺(tái)的使用;部署OpenStack;使用平云臺(tái)自行構(gòu)建私有云。
二、教學(xué)要求
1.云計(jì)算教學(xué)中存在的問(wèn)題。云計(jì)算涉及廣泛的理論體系,實(shí)際教學(xué)過(guò)程中發(fā)現(xiàn)大致存在以下問(wèn)題:(1)教材種類繁多。因云計(jì)算涉及的領(lǐng)域非常廣,所以教材種類多種多樣。且側(cè)重點(diǎn)各不相同,有的側(cè)重某種虛擬化軟件;有的側(cè)重于大數(shù)據(jù)存儲(chǔ)等。不同學(xué)校在教材選擇上也存在差異。(2)理論教學(xué)多于實(shí)踐教學(xué)。很多教材偏重于理論,缺乏系統(tǒng)的實(shí)驗(yàn)指導(dǎo)。本科教學(xué)是希望培養(yǎng)出實(shí)際動(dòng)手能力強(qiáng)的學(xué)生。因此,教學(xué)中理論和實(shí)踐相結(jié)合才能讓學(xué)生有章可循,加深理解。(3)教學(xué)方法單一。當(dāng)前常用的方式是以講授為主,該方式有利于教師控制課程內(nèi)容,但學(xué)生處于被動(dòng)狀態(tài),不利于發(fā)揮主動(dòng)性和創(chuàng)造性。
2.改進(jìn)措施。高校是人才培養(yǎng)的基地,結(jié)合我校的培養(yǎng)方案,該課程涵蓋三個(gè)部分的內(nèi)容,首先是掌握云計(jì)算的基本概念、系統(tǒng)架構(gòu);其次是了解云計(jì)算的關(guān)鍵技術(shù);最后是能采用已有的方案構(gòu)建云平臺(tái)。云計(jì)算涉及廣泛的內(nèi)容,如虛擬化技術(shù)、存儲(chǔ)技術(shù)、網(wǎng)絡(luò)技術(shù)等。如何將這些分散的理論體系聯(lián)系起來(lái)?答案是OpenStack。它作為一個(gè)云操作系統(tǒng),是云計(jì)算教學(xué)非常理想的工具。通過(guò)讓學(xué)生學(xué)習(xí)和部署OpenStack系統(tǒng),可以提高對(duì)云計(jì)算的理解和實(shí)際操作能力。OpenStack擁有眾多的組件系統(tǒng),如Horizon,Glance、Neutron、Nova等。通過(guò)實(shí)際動(dòng)手研究這些組件,則對(duì)虛擬化技術(shù)、網(wǎng)絡(luò)技術(shù)、存儲(chǔ)技術(shù)都能有一個(gè)更為深入的了解。
三、OpenStack教學(xué)內(nèi)容設(shè)置
根據(jù)教學(xué)目標(biāo)規(guī)劃教學(xué)內(nèi)容如下:首先是云計(jì)算的認(rèn)知與體驗(yàn),即了解其發(fā)展趨勢(shì),認(rèn)識(shí)其對(duì)產(chǎn)業(yè)鏈的影響。其次是云平臺(tái)的部署。最后是擴(kuò)展相關(guān)應(yīng)用,采用云平臺(tái)構(gòu)建人工智能應(yīng)用。
1.初識(shí)云計(jì)算。該部分將講述云計(jì)算基礎(chǔ)理論知識(shí)。使用公有云平臺(tái)IaaS服務(wù)進(jìn)行教學(xué),如AWS EC2等公有云平臺(tái)均可采用。在實(shí)際使用過(guò)程中補(bǔ)充理論知識(shí),讓學(xué)生了解云計(jì)算的基本概念、系統(tǒng)架構(gòu)以及云計(jì)算的發(fā)展趨勢(shì);云計(jì)算的關(guān)鍵技術(shù)、資源架構(gòu);云計(jì)算給IT服務(wù)管理帶來(lái)的影響和變更。學(xué)生通過(guò)云服務(wù)的初步體驗(yàn),在使用中明白云計(jì)算的意義(“像用水、電般使用計(jì)算資源”),由此能自行總結(jié)云計(jì)算的五大特征。
2.構(gòu)建云平臺(tái)。通過(guò)已初步掌握的云計(jì)算基本概念,對(duì)常用云平臺(tái)已能熟練使用。那么“云”是如何實(shí)現(xiàn)的?這是本部分需要解決的問(wèn)題。進(jìn)而引導(dǎo)學(xué)生自己動(dòng)手搭建云計(jì)算平臺(tái)OpenStack,明白云技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)。OpenStack模塊繁多,Keystone、Glance、Neutrion、Cinder是OpenStack核心組件,必須完整學(xué)習(xí)。所有的組件由手工配置,全部模塊安裝至同一虛擬機(jī)。Linux安裝命令繁多,故實(shí)驗(yàn)手冊(cè)應(yīng)盡量詳盡;聯(lián)網(wǎng)安裝的模式最好自行搭建本地yum服務(wù)器;OpenStack不同版本之間存在差異,實(shí)驗(yàn)手冊(cè)的編制應(yīng)以官方[2]為主。(1)本課程基于CentOS 7.5、OpenStack Queue。亦可使用Ubuntu、Debian等系統(tǒng),但不同版本間存在差異,所以應(yīng)固定使用其中一個(gè)版本。即可減少出錯(cuò)的幾率,亦可在出現(xiàn)問(wèn)題時(shí)方便解答。安裝OpenStack網(wǎng)絡(luò)拓?fù)洳捎脝我恢鳈C(jī)模式,即控制節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)都由同一臺(tái)主機(jī)擔(dān)任。(2)部署OpenStack基本環(huán)境。在Linux Server上部署基本環(huán)境需要配置域名解析;配置時(shí)間同步;配置相yum源;安裝數(shù)據(jù)庫(kù);安裝消息隊(duì)列;安裝Memcached;安裝Etcd服務(wù)。(3)部署Keystone認(rèn)證服務(wù)器。在控制節(jié)點(diǎn)創(chuàng)建Keystone數(shù)據(jù)庫(kù);安裝相關(guān)軟件包;初始化Keystone數(shù)據(jù)庫(kù);初始化Fernet令牌庫(kù);配置啟動(dòng)Apache;初始化Keystone認(rèn)證服務(wù);創(chuàng)建Keystone實(shí)例。Keystone是身份認(rèn)證模塊,任何需要認(rèn)證的模塊均依賴于此,故Keystone先于其他組件安裝。(4)部署鏡像服務(wù)組件。創(chuàng)建Glance數(shù)據(jù)庫(kù);在Keystone上注冊(cè)Glance;安裝相關(guān)軟件;同步Glance數(shù)據(jù)庫(kù);啟動(dòng)鏡像服務(wù);對(duì)Glance組件進(jìn)行驗(yàn)證。Glance鏡像組件用于注冊(cè)、檢索所需的鏡像文件。Glance是創(chuàng)建虛擬機(jī)的前提,應(yīng)先于Nova組件進(jìn)行配置。(5)部署Nova控制組件。創(chuàng)建Nova數(shù)據(jù)庫(kù);在Keystone上面注冊(cè)Nova;在控制節(jié)點(diǎn)安裝Nova相關(guān)服務(wù);安裝相關(guān)軟件包;同步Nova數(shù)據(jù);啟動(dòng)Nova服務(wù);最后以相同方式安裝計(jì)算節(jié)點(diǎn)的Nova組件。Nova負(fù)責(zé)實(shí)例的生命周期管理,即虛擬機(jī)的創(chuàng)建、啟動(dòng)、銷毀等由Nova組件負(fù)責(zé)。(6)配置Neutron網(wǎng)絡(luò)服務(wù)。任務(wù)主要內(nèi)容為在Keystone中注冊(cè)Neutron相關(guān)服務(wù);在控制節(jié)點(diǎn)安裝Neutron網(wǎng)絡(luò)組件;同步數(shù)據(jù)庫(kù);啟動(dòng)Neutron服務(wù)并驗(yàn)證。Neutron組件用于網(wǎng)絡(luò)的創(chuàng)建、修改、刪除等操作,實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化功能,它支持OpenvSwitch、Linuxbridge等虛擬化網(wǎng)絡(luò)技術(shù)。計(jì)算資源類組件部署完成,可開(kāi)始創(chuàng)建虛擬機(jī)服務(wù)。至此,OpenStack所有重要組件學(xué)習(xí)完畢。作為擴(kuò)充,可基于已學(xué)的云知識(shí)構(gòu)建深度學(xué)習(xí)平臺(tái)等。
四、結(jié)語(yǔ)
本文討論了云計(jì)算平臺(tái)OpenStack的實(shí)驗(yàn)和教學(xué)方法,分析了當(dāng)前教學(xué)中遇到的問(wèn)題并闡述了我們的方法和教學(xué)思路。實(shí)際中我們發(fā)現(xiàn),通過(guò)本課程的學(xué)習(xí),學(xué)生更容易對(duì)云計(jì)算有系統(tǒng)和全面的了解,并且能迅速掌握架構(gòu)云平臺(tái)所必需的基本知識(shí)和基本技能。
參考文獻(xiàn)
[1]P.Mell,T.Grance,et al.,"The nist definition of cloud computing.(2011)," NIST special publication,vol.800,p.145,2011.
[2]OpenStack,"Openstack install." https://docs.openstack.org/train/install/,2020.
Abstract:Cloud computing is one of the most important innovations in IT technology,which will bring significant changes in all industries.Therefore,our country urgently needs high-quality talents in cloud computing.As a result,the course of cloud computing in colleges and universities meets this demand.This paper discusses the teaching and experimental methods of cloud computing courses in our colleges and gives the teaching and experimental methods based on OpenStack.By learning OpenStack,students can integrate theory with practice,and finally improve their understanding of cloud computing and their ability to actually use cloud computing.
Key words:cloud computing;OpenStack;teaching method