[摘 要] 云計算是IT技術重要的創新之一,該技術必將為各行業帶來巨大變革。因此,各行各業迫切需要云計算方面的高素質人才,而高校開設云計算相關課程正順應這一趨勢。作為全新的課程,它不僅需要教師深入理解云計算相關理論知識,同時還應具備相應實驗技能。該文就高校云計算課程的教學與實驗方法展開討論,給出基于云平臺OpenStack的教學和實驗方法。通過對云平臺OpenStack的學習,學生能理論聯系實際,最終提升對云計算的理解和實際運用能力。
[關鍵詞] 云計算;OpenStack;教學
[作者簡介] 劉志才(1978—),男,四川瀘州人,西華大學計算機與軟件工程學院教師,主要從事機器學習、軟集理論、物聯網安全研究。
[中圖分類號] G642.41 ? ?[文獻標識碼] A ? ?[文章編號] 1674-9324(2020)17-0385-02 ? ?[收稿日期] 2020-03-09
一、引言
云計算是這樣一種模式,它允許用戶通過便捷的網絡接入到一個可動態配置的共享計算資源池,并以最小的管理代價即可獲取這些資源的使用權[1]。云計算有五大特征和三種模式。其特征為:按需獲得自助服務、廣泛的網絡接入、資源池化、彈性伸縮及可計量的服務。其三種模式是:基礎設施即服務(IaaS),平臺即服務(PaaS),及軟件即服務(SaaS)。云計算使得人們“可以像用水、電那樣使用計算資源”。由此特性,可預見在不遠的未來它必將為各行各業帶來巨大的變革。
OpenStack被譽為云操作系統,它將計算、網絡、存儲等資源整合起來以服務形式提供給使用者。OpenStack作為云計算領域的佼佼者,其用戶群不乏著名的企業和機構,如CERN、華為等。云計算課程開設的目的是使學生通過該課程的學習在實際中能運用“云”解決實際問題。本文以OpenStack為基礎,就云計算的教學與實踐問題展開討論。課程涉及云計算的基本概念、系統架構;云平臺的使用;部署OpenStack;使用平云臺自行構建私有云。
二、教學要求
1.云計算教學中存在的問題。云計算涉及廣泛的理論體系,實際教學過程中發現大致存在以下問題:(1)教材種類繁多。因云計算涉及的領域非常廣,所以教材種類多種多樣。且側重點各不相同,有的側重某種虛擬化軟件;有的側重于大數據存儲等。不同學校在教材選擇上也存在差異。(2)理論教學多于實踐教學。很多教材偏重于理論,缺乏系統的實驗指導。本科教學是希望培養出實際動手能力強的學生。因此,教學中理論和實踐相結合才能讓學生有章可循,加深理解。(3)教學方法單一。當前常用的方式是以講授為主,該方式有利于教師控制課程內容,但學生處于被動狀態,不利于發揮主動性和創造性。
2.改進措施。高校是人才培養的基地,結合我校的培養方案,該課程涵蓋三個部分的內容,首先是掌握云計算的基本概念、系統架構;其次是了解云計算的關鍵技術;最后是能采用已有的方案構建云平臺。云計算涉及廣泛的內容,如虛擬化技術、存儲技術、網絡技術等。如何將這些分散的理論體系聯系起來?答案是OpenStack。它作為一個云操作系統,是云計算教學非常理想的工具。通過讓學生學習和部署OpenStack系統,可以提高對云計算的理解和實際操作能力。OpenStack擁有眾多的組件系統,如Horizon,Glance、Neutron、Nova等。通過實際動手研究這些組件,則對虛擬化技術、網絡技術、存儲技術都能有一個更為深入的了解。
三、OpenStack教學內容設置
根據教學目標規劃教學內容如下:首先是云計算的認知與體驗,即了解其發展趨勢,認識其對產業鏈的影響。其次是云平臺的部署。最后是擴展相關應用,采用云平臺構建人工智能應用。
1.初識云計算。該部分將講述云計算基礎理論知識。使用公有云平臺IaaS服務進行教學,如AWS EC2等公有云平臺均可采用。在實際使用過程中補充理論知識,讓學生了解云計算的基本概念、系統架構以及云計算的發展趨勢;云計算的關鍵技術、資源架構;云計算給IT服務管理帶來的影響和變更。學生通過云服務的初步體驗,在使用中明白云計算的意義(“像用水、電般使用計算資源”),由此能自行總結云計算的五大特征。
2.構建云平臺。通過已初步掌握的云計算基本概念,對常用云平臺已能熟練使用。那么“云”是如何實現的?這是本部分需要解決的問題。進而引導學生自己動手搭建云計算平臺OpenStack,明白云技術的設計與實現。OpenStack模塊繁多,Keystone、Glance、Neutrion、Cinder是OpenStack核心組件,必須完整學習。所有的組件由手工配置,全部模塊安裝至同一虛擬機。Linux安裝命令繁多,故實驗手冊應盡量詳盡;聯網安裝的模式最好自行搭建本地yum服務器;OpenStack不同版本之間存在差異,實驗手冊的編制應以官方[2]為主。(1)本課程基于CentOS 7.5、OpenStack Queue。亦可使用Ubuntu、Debian等系統,但不同版本間存在差異,所以應固定使用其中一個版本。即可減少出錯的幾率,亦可在出現問題時方便解答。安裝OpenStack網絡拓撲采用單一主機模式,即控制節點、計算節點、存儲節點都由同一臺主機擔任。(2)部署OpenStack基本環境。在Linux Server上部署基本環境需要配置域名解析;配置時間同步;配置相yum源;安裝數據庫;安裝消息隊列;安裝Memcached;安裝Etcd服務。(3)部署Keystone認證服務器。在控制節點創建Keystone數據庫;安裝相關軟件包;初始化Keystone數據庫;初始化Fernet令牌庫;配置啟動Apache;初始化Keystone認證服務;創建Keystone實例。Keystone是身份認證模塊,任何需要認證的模塊均依賴于此,故Keystone先于其他組件安裝。(4)部署鏡像服務組件。創建Glance數據庫;在Keystone上注冊Glance;安裝相關軟件;同步Glance數據庫;啟動鏡像服務;對Glance組件進行驗證。Glance鏡像組件用于注冊、檢索所需的鏡像文件。Glance是創建虛擬機的前提,應先于Nova組件進行配置。(5)部署Nova控制組件。創建Nova數據庫;在Keystone上面注冊Nova;在控制節點安裝Nova相關服務;安裝相關軟件包;同步Nova數據;啟動Nova服務;最后以相同方式安裝計算節點的Nova組件。Nova負責實例的生命周期管理,即虛擬機的創建、啟動、銷毀等由Nova組件負責。(6)配置Neutron網絡服務。任務主要內容為在Keystone中注冊Neutron相關服務;在控制節點安裝Neutron網絡組件;同步數據庫;啟動Neutron服務并驗證。Neutron組件用于網絡的創建、修改、刪除等操作,實現網絡虛擬化功能,它支持OpenvSwitch、Linuxbridge等虛擬化網絡技術。計算資源類組件部署完成,可開始創建虛擬機服務。至此,OpenStack所有重要組件學習完畢。作為擴充,可基于已學的云知識構建深度學習平臺等。
四、結語
本文討論了云計算平臺OpenStack的實驗和教學方法,分析了當前教學中遇到的問題并闡述了我們的方法和教學思路。實際中我們發現,通過本課程的學習,學生更容易對云計算有系統和全面的了解,并且能迅速掌握架構云平臺所必需的基本知識和基本技能。
參考文獻
[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