潘正軍,趙蓮芬,袁麗娜
(1.廣州大學(xué)華軟軟件學(xué)院軟件工程系,廣州 510990;2.廣州大學(xué)華軟軟件學(xué)院網(wǎng)絡(luò)技術(shù)系,廣州 510990)
基于OpenStack的云計算和大數(shù)據(jù)實驗教學(xué)平臺應(yīng)用研究
潘正軍1,趙蓮芬2,袁麗娜1
(1.廣州大學(xué)華軟軟件學(xué)院軟件工程系,廣州 510990;2.廣州大學(xué)華軟軟件學(xué)院網(wǎng)絡(luò)技術(shù)系,廣州 510990)
針對高校傳統(tǒng)云計算和大數(shù)據(jù)實驗教學(xué)平臺不能滿足實踐教學(xué)的要求,基于開源OpenStack設(shè)計和實現(xiàn)適用于云計算和大數(shù)據(jù)的實驗教學(xué)平臺,該平臺在有效利用現(xiàn)有實驗室軟硬件資源的基礎(chǔ)上,通過虛擬化技術(shù),能實現(xiàn)資源的彈性分配和有效管理,最大化的實現(xiàn)資源的有效利用和共享,滿足云計算和大數(shù)據(jù)實驗教學(xué)的管理以及開發(fā)和測試等問題,也能夠為云計算和大數(shù)據(jù)科研提供一定的支持。
云計算和大數(shù)據(jù);實驗教學(xué)平臺;OpenStack
云計算是一種商業(yè)計算模型。它將計算任務(wù)分布在大量計算機構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計算資源、存儲空間和信息服務(wù)。簡單說云計算就是通過網(wǎng)絡(luò)按需提供可動態(tài)伸縮的廉價計算服務(wù)。云計算以超大規(guī)模、虛擬化、高可靠、通用性、高可伸縮性、按需服務(wù)和及其廉價的特點提供了基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)三類服務(wù)模型。
OpenStack是一個管理計算、存儲和網(wǎng)絡(luò)資源的數(shù)據(jù)中心云計算開放平臺,通過一個儀表板,為管理員提供了所有的管理控制,同時通過Web界面為其用戶提供資源。該開源軟件提供了一個部署云的操作平臺和工具集。用OpenStack易于構(gòu)建虛擬計算或存儲服務(wù)的云,既可以為公有云,也可以為私有云提供可擴展和靈活的云計算服務(wù)。OpenStack主要提供三種管理服務(wù):計算資源管理、存儲資源管理和網(wǎng)絡(luò)資源管理。其中,計算資源管理可以規(guī)劃并管理大量虛擬機,從而允許企業(yè)或服務(wù)提供商按需提供計算資源;存儲資源管理可以為云服務(wù)或云應(yīng)用提供所需的對象及塊存儲資源;網(wǎng)絡(luò)資源管理提供真正高擴展、高自動化地管理下一代網(wǎng)絡(luò)的功能。
隨著OpenStack和云計算技術(shù)的發(fā)展和應(yīng)用,國內(nèi)很多高?;贠penStack構(gòu)建了適用于云計算應(yīng)用的實驗教學(xué)平臺,解決了云計算實驗教學(xué)的相關(guān)問題,也為相應(yīng)的科研提供了一定的支持。金永霞等[1]對基于OpenStack云計算實驗平臺的架構(gòu)、構(gòu)建和應(yīng)用做了詳細的分析和設(shè)計;袁夢雪等[2]對基于OpenStack的云計算實驗平臺的管理、構(gòu)建和未來發(fā)展做了詳細闡述;李磊等[3]對基于OpenStack的科研教學(xué)云計算實驗平臺的構(gòu)建和應(yīng)用做了詳細的分析。但是云計算和大數(shù)據(jù)是分不開的,大數(shù)據(jù)應(yīng)用的落地需要云計算作為基礎(chǔ)和支撐,云計算技術(shù)的發(fā)展為大數(shù)據(jù)應(yīng)用的快速發(fā)展提供了必要的基礎(chǔ)條件,二者相輔相成,缺一不可。目前國內(nèi)對基于OpenStack的云計算和大數(shù)據(jù)實驗教學(xué)應(yīng)用一體化研究還比較少,因此,研究基于OpenStack的云計算和大數(shù)據(jù)實驗教學(xué)平臺,提高學(xué)生的實踐動手能力和學(xué)習(xí)興趣與效率,提高實驗的管理效率和節(jié)約資源,都具有十分重要的意義。
傳統(tǒng)實驗室的管理效率低下,實驗機房重復(fù)建設(shè),給某一類型的課程確定固定的機房,實驗室軟硬件的更新及其緩慢,加之硬件的更新速度更快,這些軟硬件環(huán)境根本不適合云計算和大數(shù)據(jù)應(yīng)用的實驗要求,每年實驗室管理員都要對每一個特定的實驗室和每一臺機器進行檢查,對不適合實驗要求的軟件進行升級維護,管理起來相當(dāng)麻煩[4-5]。
目前,很多高校開設(shè)了云計算和大數(shù)據(jù)相關(guān)課程,不同于其它計算機類課程各實驗之間相對比較獨立,這些課程的一個難點是實驗之間的關(guān)聯(lián)性比較強,實驗比較難做,簡單點說就是不同實驗之間需要共享資源和數(shù)據(jù)才能得到實驗結(jié)果,達到相應(yīng)的實驗效果。否則,學(xué)生很難理解實驗內(nèi)容,實驗效果大打折扣,影響學(xué)生的學(xué)習(xí)興趣和積極性。而且,現(xiàn)在很多高校在做云計算和大數(shù)據(jù)相關(guān)實驗時,依然采取偽分布式或單機模式,在這樣的實驗環(huán)境下做出的云計算和大數(shù)據(jù)應(yīng)用實驗缺少統(tǒng)一的管理和過程跟蹤,很難理解實驗之間的關(guān)聯(lián)性,得出的實驗數(shù)據(jù)也很難和實際相符,學(xué)生學(xué)習(xí)和教師管理率都比較低下。
有部分高?;谠破脚_構(gòu)建了云計算和大數(shù)據(jù)實驗教學(xué)平臺,正是充分利用了云平臺在實現(xiàn)資源共享、按需分配、統(tǒng)一管理的高效率,既節(jié)約實驗室軟硬件資源,又減輕軟件升級維護的壓力,也為云計算和大數(shù)據(jù)應(yīng)用實驗教學(xué)、項目實訓(xùn)和科研提供了平臺級的服務(wù)[6-8]。
云計算和大數(shù)據(jù)實驗平臺是為數(shù)據(jù)科學(xué)和大數(shù)據(jù)應(yīng)用技術(shù)相關(guān)課程教學(xué)提供實驗環(huán)境和實驗結(jié)果展示的綜合應(yīng)用平臺,要求能夠根據(jù)不同課程的需求,按需快速的創(chuàng)建實驗環(huán)境,提供實驗管理和應(yīng)用開發(fā)、測試等服務(wù),滿足實驗教學(xué)和項目實訓(xùn)等實踐學(xué)科對云計算和大數(shù)據(jù)技術(shù)的要求,并提供海量分布式數(shù)據(jù)處理與存儲以及大數(shù)據(jù)實驗應(yīng)用等相關(guān)環(huán)境。
本文采用Mirantis OpenStack Fuel 9.0作為IaaS服務(wù)的解決方案,實現(xiàn)對云平臺進行模塊化、自動化安裝和部署,并對云平臺的運行狀況進行實時監(jiān)控和管理。Fuel是Mirantis公司開發(fā)的自動化部署Open-Stack集群的工具,它把OpenStack所有的部署Web化,功能涵蓋以PXE方式自動安裝OS、DHCP服務(wù)、Puppet配置管理服務(wù)等,提供安裝前的硬件自動檢查、網(wǎng)絡(luò)可通性檢查,以及安裝后的自動測試和對Open-Stack的健康檢查。支持包括CentOS、Ubuntu在內(nèi)的多種Linux版本,也支持多種OpenStack版本。
該云計算和大數(shù)據(jù)應(yīng)用實驗平臺采用虛擬化技術(shù),在現(xiàn)有實驗室軟硬件資源的基礎(chǔ)上,基于Open-Stack設(shè)計為一個控制節(jié)點主機和多個計算和存儲節(jié)點主機,各節(jié)點主機服務(wù)器之間可以簡單的進行水平擴展并且不影響原有節(jié)點所提供的正常服務(wù)。其中控制節(jié)點主機主要是將OpenStack的控制服務(wù)運行于主節(jié)點服務(wù)器中,計算和存儲節(jié)點主機主要運行Open-Stack所創(chuàng)建的虛擬機,并為各虛擬機分配網(wǎng)絡(luò),計算資源和存儲空間。各節(jié)點服務(wù)器資源可以在Open-Stack的控制和管理中相互通信,共享資源和存儲數(shù)據(jù)。
該平臺包括三個網(wǎng)絡(luò),分別是管理網(wǎng)絡(luò)、存儲網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)。其中,管理網(wǎng)絡(luò)用于OpenStack各組件和操作系統(tǒng)之間進行通信;存儲網(wǎng)絡(luò)主要用于對各種數(shù)據(jù)進行分布式存儲,包括結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù);數(shù)據(jù)網(wǎng)絡(luò)主要提供虛擬服務(wù)器上的云計算和大數(shù)據(jù)應(yīng)用服務(wù)。
OpenStack作為構(gòu)建IaaS服務(wù)的開源項目,為公有云和私有云的構(gòu)建和管理提供了完整的解決方案,可以有效的管理各類虛擬的計算、存儲和網(wǎng)絡(luò)資源,簡化云的部署過程并帶來良好的可擴展性和維護性?;贠penStack的云計算和大數(shù)據(jù)實驗平臺的架構(gòu)設(shè)計如圖1所示。
圖1 基于OpenStack的云計算和大數(shù)據(jù)實驗平臺架構(gòu)設(shè)計圖
云計算和大數(shù)據(jù)平臺的硬件資源包括計算、存儲和網(wǎng)絡(luò)等設(shè)備,通過使用虛擬化技術(shù)統(tǒng)一對底層的各種硬件進行管理,形成統(tǒng)一的計算資源池、存儲資源池和網(wǎng)絡(luò)資源池,然后實現(xiàn)按需分配,資源共享。該平臺的核心是OpenStack所提供的7個核心子系統(tǒng),各子系統(tǒng)功能獨立且可以相互協(xié)作,共同完成對虛擬資源的管理,統(tǒng)一對外提供服務(wù)。OpenStack各子系統(tǒng)提供的功能如表1所示。
表1 OpenStack子系統(tǒng)功能說明
該平臺為不同的操作和管理任務(wù)提供統(tǒng)一的用戶界面。通過統(tǒng)一界面對云平臺進行部署和配置管理,還可以監(jiān)控云平臺運行的各種狀態(tài),對終端用戶也以Web界面的形式提供了友好的訪問入口,方便了該平臺的使用。
OpenStack云平臺的實現(xiàn)有多種方式,一般有2種安裝方案和3種安裝方法。安裝方案分為all-in-one安裝和多節(jié)點安裝;安裝方法分為腳本安裝、源碼安裝和自動化工具快速安裝。本平臺采用Fuel自動化工具進行快速多節(jié)點安裝的方式實現(xiàn)云計算和大數(shù)據(jù)應(yīng)用平臺的構(gòu)建,這種實現(xiàn)方式的優(yōu)點是實現(xiàn)簡單,易于部署、配置和維護?;贠penStack云計算和大數(shù)據(jù)服務(wù)平臺實現(xiàn)結(jié)構(gòu)如圖2所示。
該平臺有2種用戶角色,管理員用戶和普通云用戶,每種用戶角色具有不同的訪問權(quán)限。管理員通過主節(jié)點進行整個云平臺的后臺管理,包括云服務(wù)狀態(tài)監(jiān)控和查看,虛擬CPU、內(nèi)存,硬盤等各種資源的監(jiān)控管理,以及云端用戶的管理。普通用戶可以創(chuàng)建虛擬機模板、實例、鏡像、快照等,并查看這些資源的詳細信息;還可以進行虛擬機的遷移以及查看自己申請的虛擬機的配額情況等。
圖2 OpenStack云計算和大數(shù)據(jù)平臺實現(xiàn)結(jié)構(gòu)圖
平臺的安裝配置和部署分為主節(jié)點、控制節(jié)點、計算節(jié)點和存儲節(jié)點。各節(jié)點的安裝和部署如下所述。
(1)主節(jié)點安裝與部署
主節(jié)點和控制節(jié)點是進行平臺控制服務(wù)的虛擬機,是平臺的管理節(jié)點。主要部署實時監(jiān)控工具和配置管理工具的客戶端,以及OpenStack的鏡像、網(wǎng)絡(luò)和訪問服務(wù)。統(tǒng)一對管理員和云端用戶提供對外訪問入口。
(2)控制節(jié)點安裝與部署
控制節(jié)點的核心任務(wù)是部署大部分控制服務(wù),為上層的主節(jié)點提供服務(wù),相互協(xié)作,完成對各種資源的控制服務(wù),實現(xiàn)資源的彈性分配和共享。本節(jié)點的部署采用自動化安裝配置方式,安裝成功后需要對網(wǎng)絡(luò)進行相關(guān)參數(shù)的配置,主要配置節(jié)點的管理網(wǎng)絡(luò)網(wǎng)卡以及網(wǎng)絡(luò)相關(guān)信息,IMM管理網(wǎng)絡(luò)配置,NTP服務(wù)器和DNS服務(wù)相關(guān)配置等。
(3)計算、存儲節(jié)點安裝與部署
計算節(jié)點和存儲節(jié)點為OpenStack虛擬機運行提供基礎(chǔ)硬件、存儲服務(wù)和管理環(huán)境。計算節(jié)點和存儲節(jié)點可以為一個或者多個,也可以根據(jù)需求方便的進行擴展。計算節(jié)點和存儲節(jié)點也通過Fuel自動化安裝的方式進行部署。
該平臺在實驗教學(xué)方面的典型應(yīng)用主要體現(xiàn)在基于虛擬化技術(shù)的桌面云系統(tǒng)和大數(shù)據(jù)應(yīng)用環(huán)境的快速創(chuàng)建和部署?;贠penStack采用虛擬化技術(shù)創(chuàng)建桌面云系統(tǒng),為終端用戶提供了自主創(chuàng)建和管理虛擬機的實驗環(huán)境。管理員可以根據(jù)不同課程的實驗內(nèi)容,將實驗所需的軟件環(huán)境提前制作成鏡像,當(dāng)啟用的時候再該給鏡像分配虛擬的硬件資源,從而實現(xiàn)將實驗教學(xué)所需的軟硬件資源分配給終端用戶,而終端用戶只需要獲取權(quán)限通過虛擬桌面登錄到自己的虛擬機,就可以在虛擬環(huán)境下進行相關(guān)的實驗,體驗和自己的傳統(tǒng)的PC桌面是一樣的,用戶也不必關(guān)心自己是在哪臺機器上完成的實驗,所有的實驗內(nèi)容都是永久存儲在自己的虛擬環(huán)境中,可以隨時隨地跟蹤和查看。管理員也可以隨時進行跟蹤和管理。提高了教師的管理效率和學(xué)生的學(xué)習(xí)效率。這種方式的優(yōu)點是可以快速的部署需要的實驗環(huán)境,而且平臺的快照功能對內(nèi)容的備份和恢復(fù)也提供了強大的支持。
云平臺提供的計算、存儲和網(wǎng)絡(luò)等資源為大數(shù)據(jù)應(yīng)用的落地提供了極大的支持?;谠破脚_來構(gòu)建大數(shù)據(jù)應(yīng)用環(huán)境是目前比較高效的處理方式之一。大數(shù)據(jù)實驗需要超大的計算和存儲能力,云平臺正好可以提供這種支持,在云平臺上部署Hadoop大數(shù)據(jù)集群,可以提高資源的利用率,易于管理和維護。而且用戶可以在云計算平臺上通過參數(shù)配置可以快速構(gòu)建Hadoop集群,通過集群的配置來快速構(gòu)建大數(shù)據(jù)實驗應(yīng)用環(huán)境,提高大數(shù)據(jù)應(yīng)用實驗的管理和完成效率,為大數(shù)據(jù)相關(guān)課程的實踐教學(xué)和科研提供支持。
本文基于OpenStack構(gòu)建了云計算和大數(shù)據(jù)實驗應(yīng)用平臺,該平臺可以滿足云計算和大數(shù)據(jù)實驗教學(xué)的實踐需求,提供了統(tǒng)一管理實驗所需的軟硬件資源,實現(xiàn)資源的按需分配和高效共享,提高了教師的管理效率和學(xué)生的學(xué)習(xí)效率,也為云計算和大數(shù)據(jù)相關(guān)課程的實驗教學(xué)平臺的構(gòu)建提供了參考。
[1]金永霞,孫寧.基于OpenStack的云計算實驗平臺建設(shè)與應(yīng)用[J].實驗技術(shù)與管理,2016(6):145-147.
[2]袁夢雪,朱海燕等.基于OpenStack構(gòu)建高效實驗室云計算管理平臺的實現(xiàn)[J].科技展望,2016(7):14-15.
[3]李磊.基于OpenStack的科研教學(xué)云計算平臺的構(gòu)建與運用[J].實驗技術(shù)與管理,2014(6):127-130.
[4]楊華.基于云計算的科研教學(xué)應(yīng)用平臺研發(fā)[D].長沙:湖南大學(xué),2013.
[5]李志強.云計算教育服務(wù)平臺模型分析和應(yīng)用研究[D].廣州:廣東技術(shù)師范學(xué)院,2013.
[6]楊焱超,熊盛武等.基于云計算的計算機類實驗教學(xué)平臺搭建與應(yīng)用[J].實驗技術(shù)與管理,2016(10):147-150.
[7]董尚燕.應(yīng)用云計算構(gòu)建高校計算機課程實驗教學(xué)環(huán)境[J].電腦知識與技術(shù),2016(11):104-105.
[8]林瑜華.云計算環(huán)境下高校實驗教學(xué)模式的創(chuàng)新與實踐[J].實驗室研究與探索,2011(8):271-273.
Application and Research on Cloud Computing and Big Data Experimental Teaching Platform Based on OpenStack
PAN Zheng-jun1,ZHAO Lian-fen2,YUAN Li-na1
(1.Department of Software Engineering of South China Institute of Software Engineering,Guangzhou 510990;2.Department of Network Technology of South China Institute of Software Engineering,Guangzhou 510990)
In view of the traditional cloud computing and big data platform of experimental teaching practice can not meet the requirements of teaching,open source OpenStack design and implementation of the experimental teaching platform for cloud computing and big data on the basis of the platform in the effective use of existing laboratory hardware resources,through virtualization technology,can realize the flexible allocation of resources and effective management,to achieve efficient use of resources to maximize the sharing and meet the problem of cloud computing and data management of experiment teaching and development and testing,and can also provide some support for cloud computing and big data research.
Cloud Computing and Big Data;Experimental Teaching Platform;OpenStack
廣州大學(xué)華軟軟件學(xué)院專業(yè)實驗教學(xué)改革項目(No.ZYJG201702)、廣東省信息工程專業(yè)綜合改革試點項目(粵[2015]133-150)
1007-1423(2017)31-0053-05
10.3969/j.issn.1007-1423.2017.31.014
潘正軍(1981-),男,河南正陽人,碩士研究生,講師,研究方向為云計算與大數(shù)據(jù)應(yīng)用技術(shù)
趙蓮芬(1982-),女,河南三門峽人,碩士研究生,講師,研究方向為移動互聯(lián)網(wǎng)應(yīng)用技術(shù)
袁麗娜(1978-),女,湖南邵陽人,碩士研究生,講師,研究方向為云計算與大數(shù)據(jù)應(yīng)用技術(shù)
2017-08-22 < class="emphasis_bold">修稿日期:2
2017-10-10