金永霞, 孫 寧
(河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院, 江蘇 常州 213022)
?
基于OpenStack的云計(jì)算實(shí)驗(yàn)平臺(tái)建設(shè)與應(yīng)用
金永霞, 孫寧
(河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院, 江蘇 常州213022)
基于OpenStack構(gòu)建了適用于教學(xué)和科研實(shí)驗(yàn)的云計(jì)算平臺(tái),彈性分配計(jì)算資源,提供虛擬桌面、分布式計(jì)算等應(yīng)用開發(fā)環(huán)境支持。平臺(tái)的控制節(jié)點(diǎn)部署大部分控制服務(wù),這些控制服務(wù)運(yùn)行在兩個(gè)獨(dú)立的虛擬機(jī)CC和NC中。利用控制節(jié)點(diǎn)上的xCAT工具對(duì)計(jì)算節(jié)點(diǎn)集群進(jìn)行管理和部署,計(jì)算節(jié)點(diǎn)為OpenStack虛擬機(jī)的運(yùn)行提供基礎(chǔ)硬件和管理環(huán)境。該平臺(tái)能有效管理云資源,為云計(jì)算應(yīng)用的研發(fā)提供平臺(tái)級(jí)服務(wù)。
云計(jì)算實(shí)驗(yàn)平臺(tái); OpenStack; 虛擬桌面; 大數(shù)據(jù)應(yīng)用
隨著云計(jì)算技術(shù)的發(fā)展和云服務(wù)的廣泛應(yīng)用,國內(nèi)有很多高校在開設(shè)云計(jì)算相關(guān)課程的同時(shí),也構(gòu)建了基于云計(jì)算的科研實(shí)驗(yàn)教學(xué)平臺(tái),為課程教學(xué)和研發(fā)應(yīng)用提供支持[1-3]。在云計(jì)算的3種服務(wù)模式(IaaS、PaaS、SaaS)中,由于基礎(chǔ)架構(gòu)服務(wù)平臺(tái)IaaS可以按照不同的需求提供不同資源類型的虛擬主機(jī),以滿足云計(jì)算應(yīng)用對(duì)基礎(chǔ)設(shè)施資源的需求,因此,構(gòu)建IaaS云平臺(tái)是為高校師生提供教學(xué)科研實(shí)驗(yàn)環(huán)境和計(jì)算服務(wù)的基礎(chǔ),也是對(duì)這些云資源進(jìn)行有效管理的現(xiàn)實(shí)需要。
OpenStack是主流的開源IaaS云平臺(tái)架構(gòu),已被廣泛驗(yàn)證過并得到諸多廠家的認(rèn)可,因此成為高校構(gòu)建實(shí)驗(yàn)教學(xué)云平臺(tái)的首選。本文基于OpenStack架構(gòu)搭建了面向教學(xué)和科研實(shí)驗(yàn)的云計(jì)算平臺(tái),實(shí)現(xiàn)資源共享、按需分配的彈性計(jì)算服務(wù),為課程教學(xué)、科研和工程應(yīng)用開發(fā)提供實(shí)驗(yàn)支持。
云計(jì)算實(shí)驗(yàn)平臺(tái)是為教學(xué)、科研提供實(shí)驗(yàn)環(huán)境和展示服務(wù)的系統(tǒng),要求能根據(jù)用戶的需求快速創(chuàng)建實(shí)驗(yàn)環(huán)境、提供應(yīng)用開發(fā)和環(huán)境管理服務(wù)。為滿足科研與工程項(xiàng)目實(shí)驗(yàn)對(duì)大數(shù)據(jù)處理技術(shù)的要求,該平臺(tái)還應(yīng)提供大數(shù)據(jù)應(yīng)用環(huán)境,實(shí)現(xiàn)分布式數(shù)據(jù)處理與存儲(chǔ)。采用“IBM OpenStack Solution for System X”解決方案,對(duì)云平臺(tái)進(jìn)行模塊化、自動(dòng)化安裝和部署,并對(duì)云平臺(tái)的運(yùn)行狀況進(jìn)行實(shí)時(shí)監(jiān)控。
1.1云平臺(tái)拓?fù)浣Y(jié)構(gòu)
云計(jì)算實(shí)驗(yàn)平臺(tái)拓?fù)浣Y(jié)構(gòu)如圖1所示。

圖1 云平臺(tái)拓?fù)浣Y(jié)構(gòu)圖
云計(jì)算實(shí)驗(yàn)平臺(tái)由一個(gè)控制節(jié)點(diǎn)主機(jī)和多個(gè)計(jì)算節(jié)點(diǎn)主機(jī)組成,使用支持CPU虛擬化技術(shù)的64位服務(wù)器。采用多節(jié)點(diǎn)模式易于通過增加計(jì)算節(jié)點(diǎn)的數(shù)量來水平擴(kuò)展云平臺(tái),在擴(kuò)展云系統(tǒng)的同時(shí)不影響提供的服務(wù)。
平臺(tái)規(guī)劃了兩個(gè)網(wǎng)絡(luò):管理網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)。管理網(wǎng)絡(luò)用于OpenStack組件與操作系統(tǒng)的通信;數(shù)據(jù)網(wǎng)絡(luò)用于虛擬服務(wù)器上的應(yīng)用。因此,服務(wù)器至少有兩個(gè)網(wǎng)口,分別用于管理網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)。由于云平臺(tái)主要用于課程和科研實(shí)驗(yàn)展示,對(duì)存儲(chǔ)要求不高,因此存儲(chǔ)方式采用服務(wù)器本地硬盤。
云平臺(tái)的控制節(jié)點(diǎn)上主要運(yùn)行2臺(tái)虛擬機(jī),分別為CC(Cloud Controller,云控制器)和NC(Network Controller,網(wǎng)絡(luò)控制器)。OpenStack的控制服務(wù)運(yùn)行于這兩個(gè)虛擬機(jī)中,并伴隨控制節(jié)點(diǎn)系統(tǒng)一起啟動(dòng)。用虛擬機(jī)運(yùn)行控制服務(wù)的優(yōu)勢(shì)在于:易于調(diào)整服務(wù)需要的資源;控制服務(wù)可通過快照來進(jìn)行備份;在虛擬機(jī)損壞時(shí),很容易更換和修補(bǔ);在物理機(jī)更換和維護(hù)時(shí),易于將控制服務(wù)遷移到其他物理主機(jī)[4]。此外,控制節(jié)點(diǎn)上空閑的計(jì)算資源還可以根據(jù)需要運(yùn)行其他虛擬機(jī),如運(yùn)行集群管理和配置軟件的虛擬機(jī)、運(yùn)行快速安裝工具的虛擬機(jī)等。云平臺(tái)中的計(jì)算節(jié)點(diǎn)主要運(yùn)行OpenStack創(chuàng)建的虛擬機(jī),并為虛擬機(jī)分配網(wǎng)絡(luò),計(jì)算節(jié)點(diǎn)的存儲(chǔ)空間還可以為虛擬機(jī)提供非持久性存儲(chǔ)。
1.2云平臺(tái)架構(gòu)設(shè)計(jì)
OpenStack是一個(gè)基礎(chǔ)架構(gòu)云開源項(xiàng)目,為公共云和私有云的建設(shè)與管理提供軟件,用以有效地管理各類計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源,簡化云的部署過程并為其帶來良好的可擴(kuò)展性。考慮到云環(huán)境的部署效率以及云平臺(tái)的運(yùn)行維護(hù),在云計(jì)算實(shí)驗(yàn)平臺(tái)中除了部署OpenStack的服務(wù)組件以提供實(shí)驗(yàn)所需的軟硬件資源管理外,還安裝了對(duì)云平臺(tái)運(yùn)行狀況進(jìn)行實(shí)時(shí)監(jiān)控的網(wǎng)絡(luò)資源監(jiān)控工具,以及實(shí)現(xiàn)自動(dòng)化部署的服務(wù)器配置管理工具。云計(jì)算實(shí)驗(yàn)平臺(tái)的架構(gòu)設(shè)計(jì)如圖2所示。

圖2 云平臺(tái)架構(gòu)圖
云平臺(tái)的硬件資源包括網(wǎng)絡(luò)、計(jì)算和存儲(chǔ)設(shè)備等,通過使用虛擬化技術(shù)KVM對(duì)底層硬件進(jìn)行虛擬化[5],形成統(tǒng)一的虛擬資源池。云平臺(tái)的核心部分是OpenStack提供的各種服務(wù)。
OpenStack框架由核心項(xiàng)目和擴(kuò)展的項(xiàng)目構(gòu)成,云計(jì)算實(shí)驗(yàn)平臺(tái)中部署了以下6個(gè)核心子項(xiàng)目,這些項(xiàng)目協(xié)作完成特定的功能。
(1) 計(jì)算服務(wù)Nova,它是云計(jì)算系統(tǒng)的結(jié)構(gòu)控制器,根據(jù)用戶需求提供虛擬服務(wù),負(fù)責(zé)管理虛擬機(jī)實(shí)例的整個(gè)生命周期。
(2) 鏡像服務(wù)Glance,它提供虛擬磁盤鏡像的目錄分類管理以及鏡像庫存儲(chǔ)管理。
(3) 網(wǎng)絡(luò)服務(wù)Neutron,實(shí)現(xiàn)虛擬機(jī)的網(wǎng)絡(luò)資源管理,為OpenStack其他服務(wù)提供網(wǎng)絡(luò)連接服務(wù)。
(4) 認(rèn)證服務(wù)Keystone,它為OpenStack所有的系統(tǒng)提供統(tǒng)一的授權(quán)和身份驗(yàn)證服務(wù)。
(5) 塊存儲(chǔ)服務(wù)Cinder,用以實(shí)現(xiàn)對(duì)塊存儲(chǔ)的管理,為虛擬機(jī)提供云硬盤(塊設(shè)備)服務(wù)。
(6) Web界面服務(wù)Horizon,它是基于OpenStack API接口開發(fā)的Web呈現(xiàn),是用戶使用云平臺(tái)的界面。
為了對(duì)云平臺(tái)的運(yùn)行狀況及性能進(jìn)行實(shí)時(shí)監(jiān)控,及時(shí)發(fā)現(xiàn)問題、排除故障,在云平臺(tái)中設(shè)置開源的網(wǎng)絡(luò)資源監(jiān)控工具Ganglia和Nagios。Ganglia用以監(jiān)控系統(tǒng)資源負(fù)荷情況,為云計(jì)算系統(tǒng)提供重要的性能度量數(shù)據(jù)。其監(jiān)測的性能指標(biāo)包括CPU、內(nèi)存使用情況、硬盤利用率、網(wǎng)絡(luò)負(fù)載情況等,支持多種視圖和選擇過濾顯示。Nagios用以監(jiān)控云平臺(tái)的主機(jī)、網(wǎng)絡(luò)和服務(wù)狀態(tài),并提供異常通知功能。
此外,為了實(shí)現(xiàn)云環(huán)境的自動(dòng)化安裝,在云平臺(tái)中設(shè)置了服務(wù)器配置管理工具Chef,用以快速安裝軟件及其依賴包。Chef使用服務(wù)器-客戶端模式管理所有需要配置的設(shè)備,部署時(shí)只要將系統(tǒng)配置通過腳本寫出來并存放在服務(wù)器上,客戶端從服務(wù)器端獲取腳本并執(zhí)行,按照腳本中的配置信息進(jìn)行自我配置。Chef對(duì)經(jīng)過配置的服務(wù)器具有遠(yuǎn)程控制的能力,可以隨時(shí)對(duì)系統(tǒng)進(jìn)行查詢和修改配置項(xiàng)。
云平臺(tái)為不同的操作和管理任務(wù)提供相應(yīng)的用戶界面。通過用戶界面可以監(jiān)控云平臺(tái)的運(yùn)行狀況、使用Chef部署和配置服務(wù)器、對(duì)虛擬資源進(jìn)行管理等。云平臺(tái)對(duì)終端用戶提供Horizon和API兩類訪問入口,用戶通過圖形化Web界面和命令行界面兩種方式使用云平臺(tái)的服務(wù)。
OpenStack云平臺(tái)的構(gòu)建可以采用腳本安裝、源碼安裝或借助自動(dòng)化部署工具快速安裝等方式。本文基于“IBM OpenStack Solution for System X”云平臺(tái)解決方案部署云計(jì)算實(shí)驗(yàn)平臺(tái),通過執(zhí)行腳本進(jìn)行自動(dòng)化安裝,安裝過程中只有少量的人工操作。云計(jì)算實(shí)驗(yàn)平臺(tái)服務(wù)部署的基本結(jié)構(gòu)如圖3所示。

圖3 云平臺(tái)服務(wù)部署基本結(jié)構(gòu)
2.1控制節(jié)點(diǎn)的安裝和配置
控制節(jié)點(diǎn)部署大部分控制服務(wù),這些控制服務(wù)運(yùn)行在兩個(gè)獨(dú)立的虛擬機(jī)CC和NC中。控制節(jié)點(diǎn)采用腳本安裝方式,通過DVD光盤或IMM2遠(yuǎn)程掛載ISO在物理服務(wù)器上自動(dòng)安裝。按照腳本設(shè)置,操作系統(tǒng)安裝完成后系統(tǒng)自動(dòng)重啟,此時(shí)需要人工干預(yù),設(shè)置網(wǎng)絡(luò)配置參數(shù)。
(1) 配置管理網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)卡。用于管理網(wǎng)絡(luò)的網(wǎng)卡默認(rèn)是eth0,用于數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)卡默認(rèn)是eth1,這些默認(rèn)配置可以修改。
(2) 配置管理網(wǎng)絡(luò)信息。配置參數(shù)包括IP地址范圍(指定起止地址)、動(dòng)態(tài)IP地址范圍(指定起止地址),這4個(gè)IP地址必須在同一個(gè)網(wǎng)段,2個(gè)地址的范圍不能沖突。此外還需配置網(wǎng)絡(luò)掩碼、路由器地址、子網(wǎng)地址、廣播地址等參數(shù)。
(3) 配置IMM網(wǎng)絡(luò)管理。配置參數(shù)包括IMM網(wǎng)絡(luò)起始IP地址、IMM網(wǎng)絡(luò)掩碼、IMM網(wǎng)絡(luò)路由器地址。
(4) 配置NTP服務(wù)器和DNS服務(wù)器的IP地址,設(shè)置主機(jī)域名和主機(jī)名、用以發(fā)送和接收系統(tǒng)故障信息的郵件地址、郵件服務(wù)器地址。
(5) 配置是否需要高可用性(HA)部署,如果選擇HA部署,則當(dāng)前配置的主機(jī)自動(dòng)成為主節(jié)點(diǎn),從節(jié)點(diǎn)通過指定MAC地址在其他主機(jī)中確定。
參數(shù)配置完成后生成一個(gè)配置文件(/opt/lbs/conf/cloud.profile)。在控制節(jié)點(diǎn)上檢查配置文件,如果參數(shù)配置正確,則執(zhí)行腳本在節(jié)點(diǎn)上安裝CC、NC和xCAT。
CC和NC是兩個(gè)運(yùn)行控制服務(wù)的虛擬機(jī)。CC部署了用戶所需管理和交互的所有服務(wù),包括Web界面服務(wù)、實(shí)時(shí)監(jiān)控工具和配置管理工具的服務(wù)端、快速安裝工具、DNS服務(wù)器、NTP服務(wù)器以及OpenStack的計(jì)算服務(wù)、塊存儲(chǔ)調(diào)度程序等。NC部署了數(shù)據(jù)庫服務(wù)和消息隊(duì)列服務(wù)等基礎(chǔ)組件,實(shí)時(shí)監(jiān)控工具和配置管理工具的客戶端,以及OpenStack的鏡像、網(wǎng)絡(luò)和認(rèn)證等服務(wù)。
安裝時(shí)對(duì)OpenStack服務(wù)的組織和配置使用Chef工具來實(shí)現(xiàn),Chef服務(wù)器完成網(wǎng)絡(luò)配置、創(chuàng)建Nova集群、開啟/關(guān)閉計(jì)算節(jié)點(diǎn)服務(wù)、配置Mysql服務(wù)器和Apache服務(wù)器、配置應(yīng)用服務(wù)程序等功能。云計(jì)算實(shí)驗(yàn)平臺(tái)設(shè)計(jì)了多個(gè)計(jì)算節(jié)點(diǎn),為了對(duì)這些節(jié)點(diǎn)實(shí)現(xiàn)集群化管理和部署,在控制節(jié)點(diǎn)配置一臺(tái)虛擬機(jī)用以安裝和運(yùn)行集群管理和配置軟件xCAT(Extreme Cloud Administration Toolkit)。xCAT是基于C/S架構(gòu)的開源軟件,能夠通過一個(gè)管理節(jié)點(diǎn)控制整個(gè)集群系統(tǒng),在簡化集群管理的同時(shí),還能夠?qū)崿F(xiàn)集群的快速擴(kuò)展[6]。安裝xCAT工具的目的是以控制節(jié)點(diǎn)作為管理節(jié)點(diǎn),對(duì)高性能的計(jì)算節(jié)點(diǎn)進(jìn)行快速部署和配置。
CC和NC虛擬機(jī)部署完成后,在控制節(jié)點(diǎn)上設(shè)置DNS和NTP服務(wù)器的地址為CC的IP地址。分別登錄到NC和CC虛擬機(jī),檢查配置文件(/opt/lbs/conf/node.profile),設(shè)置節(jié)點(diǎn)角色、節(jié)點(diǎn)類型、IP地址等信息。
2.2計(jì)算節(jié)點(diǎn)的部署
計(jì)算節(jié)點(diǎn)為OpenStack虛擬機(jī)的運(yùn)行提供基礎(chǔ)硬件和管理環(huán)境。云計(jì)算實(shí)驗(yàn)平臺(tái)中有多個(gè)計(jì)算節(jié)點(diǎn),利用控制節(jié)點(diǎn)上的xCAT工具對(duì)計(jì)算節(jié)點(diǎn)集群進(jìn)行管理和部署。
首先,將計(jì)算節(jié)點(diǎn)的腳本安裝鏡像導(dǎo)入到xCAT虛擬機(jī),配置xCAT上的節(jié)點(diǎn)屬性,啟動(dòng)xCAT服務(wù)以及DHCP/HTTP/TFTP服務(wù);然后,登錄到等待安裝的計(jì)算節(jié)點(diǎn),進(jìn)入BIOS設(shè)置并從網(wǎng)絡(luò)啟動(dòng);最后,當(dāng)計(jì)算節(jié)點(diǎn)開啟后選擇從網(wǎng)絡(luò)PXE啟動(dòng)系統(tǒng),xCAT自動(dòng)獲取計(jì)算節(jié)點(diǎn)IP地址,對(duì)計(jì)算節(jié)點(diǎn)進(jìn)行自動(dòng)化安裝部署。
2.3云平臺(tái)用戶權(quán)限
訪問云平臺(tái)的用戶有普通用戶和管理員用戶兩種類型,他們對(duì)云平臺(tái)具有不同權(quán)限的操作。
管理員用戶在云平臺(tái)可以進(jìn)行以下操作:使用Nagios查看云節(jié)點(diǎn)狀態(tài)、云節(jié)點(diǎn)后臺(tái)管理程序狀態(tài)以及OpenStack服務(wù)狀態(tài);使用Ganglia查看CPU、內(nèi)存、磁盤等使用情況;使用Chef開啟或停止計(jì)算節(jié)點(diǎn)服務(wù);使用Glance鏡像工具增加或變更預(yù)設(shè)的鏡像;使用Nova創(chuàng)建或更改云用戶、虛擬網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)等。
普通用戶在云平臺(tái)的功能有:查看鏡像或虛擬機(jī)列表;查看某一鏡像或虛擬機(jī)的詳細(xì)信息;創(chuàng)建鏡像或虛擬機(jī);虛擬機(jī)的遷移;為可運(yùn)行的虛擬機(jī)創(chuàng)建快照;在Web界面顯示主機(jī)和配額使用情況。
3.1基于OpenStack的桌面云系統(tǒng)
桌面云是利用虛擬化技術(shù)和遠(yuǎn)程桌面協(xié)議對(duì)計(jì)算機(jī)的桌面環(huán)境進(jìn)行虛擬化,所有的桌面虛擬機(jī)都運(yùn)行在數(shù)據(jù)中心服務(wù)器上,用戶通過客戶端訪問云端的客戶桌面和應(yīng)用程序。采用VDI(virtual desktop instructure,虛擬桌面架構(gòu))模式構(gòu)建桌面云系統(tǒng),為用戶提供自主創(chuàng)建和管理虛擬機(jī)的實(shí)驗(yàn)環(huán)境。云平臺(tái)將實(shí)驗(yàn)所需的軟件環(huán)境制作為鏡像,需要時(shí)再利用這些鏡像創(chuàng)建虛擬機(jī)并分配VCPU、內(nèi)存等硬件資源,從而將實(shí)驗(yàn)所需的軟硬件環(huán)境提供給用戶。用戶只需獲得使用權(quán)限,通過虛擬桌面方式登錄到虛擬機(jī),就可在虛擬機(jī)環(huán)境下進(jìn)行實(shí)驗(yàn)。
基于OpenStack的桌面云架構(gòu)如圖4所示。云平臺(tái)在計(jì)算節(jié)點(diǎn)為每個(gè)用戶準(zhǔn)備專用的虛擬機(jī),并在其中部署用戶所需的操作系統(tǒng)和各種應(yīng)用,通過桌面顯示協(xié)議將虛擬機(jī)桌面交付給遠(yuǎn)程用戶使用。用戶獨(dú)享該虛擬機(jī)的CPU、內(nèi)存等資源,能夠獲得完整桌面環(huán)境的使用體驗(yàn)。虛擬桌面分配采用一對(duì)一映射關(guān)系管理,每個(gè)用戶對(duì)應(yīng)使用一個(gè)固定的虛擬桌面。當(dāng)用戶與虛擬桌面之間的連接斷開,或者用戶從虛擬桌面注銷后,用戶的數(shù)據(jù)不會(huì)被清除,虛擬桌面也不會(huì)被重新分配給其他的用戶。VDI架構(gòu)中的一個(gè)核心組件是Connection Broker,是連接前端用戶和后端資源的樞紐,它一方面向前端用戶(虛擬桌面管理者和虛擬桌面使用者)提供對(duì)虛擬桌面的管理和連接功能,另一方面基于前端用戶請(qǐng)求,向后端資源(虛擬化服務(wù)器、網(wǎng)絡(luò)資源、存儲(chǔ)資源)實(shí)施虛擬桌面的管理和連接操作[7]。訪問遠(yuǎn)程桌面可以通過VNC(virtual network computer)或Spice協(xié)議來實(shí)現(xiàn)[8]。和VNC相比,Spice具有支持圖形和音頻傳輸、支持視頻播放、USB通過網(wǎng)絡(luò)傳輸、通信可以使用SSL加密等優(yōu)點(diǎn),因此云平臺(tái)下的桌面虛擬化選擇Spice協(xié)議。

圖4 基于OpenStack的桌面云架構(gòu)圖
桌面云系統(tǒng)由服務(wù)器端程序和客戶端程序組成,服務(wù)器端程序部署在CC服務(wù)器上,客戶端程序部署在客戶端設(shè)備上。云平臺(tái)管理員批量創(chuàng)建若干個(gè)租戶(項(xiàng)目),并在每個(gè)租戶下創(chuàng)建一個(gè)用戶,這樣每個(gè)用戶都只能看到并訪問自己所創(chuàng)建的桌面虛擬機(jī),保證了用戶桌面的安全性。用戶獲得授權(quán)后用自己的用戶名和密碼登錄到云平臺(tái),創(chuàng)建各自的虛擬機(jī)實(shí)例(即虛擬桌面)。和傳統(tǒng)物理實(shí)驗(yàn)環(huán)境相比,云平臺(tái)下的虛擬機(jī)實(shí)驗(yàn)環(huán)境具有快速部署、易于備份和恢復(fù)的優(yōu)點(diǎn)。云平臺(tái)提供的虛擬機(jī)快照功能,能夠?qū)?shù)據(jù)進(jìn)行備份,用戶可以基于該快照重新啟動(dòng)虛擬機(jī),按照需要將數(shù)據(jù)恢復(fù)到某個(gè)可用的時(shí)間點(diǎn)狀態(tài)。
3.2基于OpenStack的大數(shù)據(jù)應(yīng)用環(huán)境
大數(shù)據(jù)需要超大的存儲(chǔ)容量和計(jì)算能力,基礎(chǔ)架構(gòu)云平臺(tái)提供了管理各類計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源的服務(wù)能力。因此,大數(shù)據(jù)在云計(jì)算平臺(tái)上運(yùn)行,是目前比較高效的大數(shù)據(jù)處理方法之一。
為了給大數(shù)據(jù)相關(guān)實(shí)驗(yàn)教學(xué)以及工程應(yīng)用實(shí)踐提供環(huán)境支持,在云計(jì)算實(shí)驗(yàn)平臺(tái)下部署了分布式數(shù)據(jù)處理和存儲(chǔ)環(huán)境Hadoop,充分利用云平臺(tái)中未被利用的計(jì)算資源,最大限度地提高服務(wù)器資源利用率。云平臺(tái)的Glance服務(wù)器存儲(chǔ)Hadoop虛擬機(jī)鏡像,每個(gè)鏡像都包含了已安裝的操作系統(tǒng)和Hadoop環(huán)境;而Hadoop集群的眾多節(jié)點(diǎn)被部署在云平臺(tái)管理的虛擬機(jī)上[9]。當(dāng)Hadoop集群的負(fù)載增加時(shí),可以通過云平臺(tái)動(dòng)態(tài)申請(qǐng)硬件資源,從而擴(kuò)展節(jié)點(diǎn)所在虛擬機(jī)的VCPU數(shù)量和磁盤空間。
將云平臺(tái)和Hadoop結(jié)合在一起產(chǎn)生了顯著的協(xié)作效應(yīng),如提升Hadoop集群的部署速度和Hadoop環(huán)境資源的利用率、集群易于維護(hù)、提供Hadoop的高可用性等[10]。在云計(jì)算實(shí)驗(yàn)平臺(tái)中,用戶通過指定一些參數(shù),如Hadoop版本、集群拓?fù)浣Y(jié)構(gòu)、節(jié)點(diǎn)硬件詳細(xì)信息等,就可以快速創(chuàng)建一個(gè)Hadoop集群;還可以根據(jù)需要,通過增減節(jié)點(diǎn)來調(diào)整已有集群的規(guī)模。在云平臺(tái)中可以配置多種Hadoop集群拓?fù)?如Job Tracker和NameNode進(jìn)程可以在一個(gè)虛擬機(jī)上運(yùn)行,也可以在兩個(gè)獨(dú)立的虛擬機(jī)上運(yùn)行。集群可以包含多種類型的工作節(jié)點(diǎn),工作節(jié)點(diǎn)可以同時(shí)運(yùn)行TaskTracker和DataNode,也可以扮演一個(gè)角色。用戶可以以這些選項(xiàng)的任意組合建立一個(gè)包含若干個(gè)DataNode節(jié)點(diǎn)和一個(gè)NameNode節(jié)點(diǎn)的集群,用以完成大數(shù)據(jù)處理的工作。
在云計(jì)算實(shí)驗(yàn)平臺(tái)中快速建立集群的基本流程是:選擇Hadoop版本;選擇包含預(yù)安裝Hadoop的基礎(chǔ)鏡像;定義集群配置,包括集群的拓?fù)浣Y(jié)構(gòu)和集群中節(jié)點(diǎn)的數(shù)量,并且設(shè)置不同的Hadoop參數(shù);部署集群,通過鏡像創(chuàng)建虛擬機(jī),這些虛擬機(jī)承擔(dān)Hadoop集群的不同角色和任務(wù);操作集群,如添加或刪除節(jié)點(diǎn);終止集群。
構(gòu)建集群的操作均可在云平臺(tái)的Web界面完成。
基于OpenStack的云計(jì)算實(shí)驗(yàn)平臺(tái)為學(xué)校的教學(xué)科研實(shí)驗(yàn)提供軟硬件資源管理和應(yīng)用開發(fā)環(huán)境支持,滿足了教學(xué)科研應(yīng)用的多樣化服務(wù)需求。它不僅提高了實(shí)驗(yàn)管理工作的效率,也為探索基于云計(jì)算的移動(dòng)實(shí)驗(yàn)?zāi)J教峁┝撕芎玫募夹g(shù)支撐[11]。
References)
[1] 陳冬林,付敏,陳玲.基于混合云的高校實(shí)驗(yàn)教學(xué)平臺(tái)建設(shè)模式研究[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(5):63-66.
[2] 李磊,李小寧,金連文.基于OpenStack的科研教學(xué)云計(jì)算平臺(tái)的構(gòu)建與運(yùn)用[J].實(shí)驗(yàn)技術(shù)與管理,2014,31(6):127-133.
[3] 李英壯,汪楠,李先毅.基于OpenStack開發(fā)云平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].武漢大學(xué)學(xué)報(bào):理學(xué)版,2012,58(增刊1):58-60.
[4] 張小斌.OpenStack企業(yè)云平臺(tái)架構(gòu)與實(shí)踐[M].北京:電子工業(yè)出版社,2015.
[5] William von Hagen.使用KVM虛擬化技術(shù)[EB/OL].(2014-03-24)[2015-11-12].https://www.ibm.com/developerworks/cn/linux/l-using-kvm/.
[6] xCAT[EB/OL].[2015-11-13].http://sourceforge.net/p/xcat/wiki/Main_Page/.
[7] 朱曉陽.桌面云中的Connection Broker[EB/OL].(2012-01-12)[2015-11-12].http://www.ibm.com/developerworks/cn/cloud/library/1112_zhuxy_connectionbroker/index.html.
[8] 張子凡.OpenStack部署實(shí)踐[M].北京:人民郵電出版社,2014.
[9] OpenStack子項(xiàng)目Savanna架構(gòu)[EB/OL].[2015-11-13].https://savanna.readthedocs.org/en/latest/architecture.html.
[10] Brown M C.云部署中的Hadoop[EB/OL].(2015-01-22)[2015-11-12].http://www.ibm.com/developerworks/cn/data/library/ba/ba-hadoop-in-cloud/.
[11] 李寧,王鐵峰.打造無圍墻的實(shí)驗(yàn)室:云計(jì)算時(shí)代高校計(jì)算機(jī)服務(wù)平臺(tái)建設(shè)模式探討[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(4):12-15.
Construction and application of cloud computing experimental platform based on OpenStack
Jin Yongxia, Sun Ning
(College of Internet of Things Engineering,Hohai University, Changzhou 213022, China)
Based on OpenStack framework,a cloud computing experimental platform has been constructed, which is suitable for teaching and scientific research. It allocates elastic computing resources and provides virtual desktop, distributed computing and other application development environment supports. Most of the control services are deployed to the control node on the platform. These services are running on two independent virtual machines,CC and NC. Extreme Cloud Administration Toolkit (xCAT) is used to manage and deploy the cluster composed of compute nodes . The compute nodes provide underlying hardware and management environment for OpenStack virtual machines. The platform manages cloud resources effectively, and also provides platform-level service for cloud computing application development.
cloud computing experimental platform; OpenStack; virtual desktop; big data applications
DOI:10.16791/j.cnki.sjg.2016.06.037
2015-11-18
江蘇高校品牌專業(yè)建設(shè)工程資助項(xiàng)目(PPZY2015B141);教育部-IBM產(chǎn)學(xué)合作專業(yè)綜合改革項(xiàng)目
金永霞(1973—),女,寧夏平羅,碩士,實(shí)驗(yàn)師,研究方向?yàn)樵朴?jì)算實(shí)踐與應(yīng)用.
TP393.02
A
1002-4956(2016)6-0145-05
計(jì)算機(jī)技術(shù)應(yīng)用