劉涌+韓偉+高震宇
摘要:《基于OpenStack的大數(shù)據(jù)平臺搭建方法的研究》主要通過對OpenStack重要組建的功能的分析,研究相關(guān)大數(shù)據(jù)平臺的搭建方法,簡單介紹了OpenStack的Swift、Quantum、Nova等三大功能模塊,并重點介紹了OpenStack單節(jié)點部署中Swift的簡單安裝流程。研究表明OpenStack具有廣闊的市場前景的同時,目前仍存在安裝比較繁瑣,模塊化集成度不高,入門起點較高等問題,表明該技術(shù)在市場潛力巨大的同時,具有較高的研究價值。
關(guān)鍵詞:OpenStack;Swift;quantum;Nova
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)28-0014-02
1 概述
隨著云計算的推廣與普及,人們對大數(shù)據(jù)、云計算的接受度越來越高,并且愿意嘗試使用云計算,從而實現(xiàn)利用新技術(shù)合理地管理、統(tǒng)計自己的數(shù)據(jù)。在云計算的眾多處理方案中,OpenStack作為目前最流行的云堆棧之一,是美國國家宇航局(NASA)和Rackspace合作開發(fā)的意在為公有云和私有云提供軟件支持的開源項目。
2010 年OpenStack首次發(fā)布第一版(Austin版本),之后陸續(xù)發(fā)布了Bexar、Cactus等基于Amazon的API接口的版本,從之后的Diablo版本開始,OpenStack更加強調(diào)模塊化與靈活性,但由于該版本的bug較多,不建議以Diablo為基礎(chǔ)進行二次開發(fā)。經(jīng)過Essex版后,最終Folsom版的出現(xiàn)標(biāo)志著OpenStack開始真正成熟,其中的Nova、Swift和Quantum為OpenStack的三大組件,分別負責(zé)云計算、云存儲和網(wǎng)絡(luò)虛擬化,下文將重點介紹這三大組件的功能與安裝方法。
2 模塊功能簡介
OpenStack通常由Keystone安全認(rèn)證服務(wù)、Swift存儲服務(wù)、Glance鏡像服務(wù)、Quantum虛擬網(wǎng)絡(luò)服務(wù)、Nova虛擬機管理系統(tǒng)和Dashboard Web界面六大模塊組成,每個模塊相互獨立,通常搭配MySQL來提供數(shù)據(jù)服務(wù):
2.1 Swift存儲服務(wù)
Swift是OpenStack云存儲服務(wù)的重要組件之一,它具有高可用性、持久性、分布式和大文件存儲等特點,在倡導(dǎo)綠色節(jié)能的云計算前提下,它支持一系列的價格便宜的硬件存儲設(shè)備,即最大程度地將運行成本降低,這也是整個OpenStack的魅力之一,諸如Dell、Intel、IBM、Cisco等公司之所以大力推廣OpenStack,經(jīng)濟因素也是重要的參考要素。
Swift主要有三種服務(wù)器:Authentication Node認(rèn)證節(jié)點、Proxy Node代理節(jié)點和Storage Node存儲節(jié)點。其中Authentication Node認(rèn)證節(jié)點盡在用戶想要單獨使用Swift時提供認(rèn)證服務(wù),在OpenStack中一般采用Keystone認(rèn)證;而Storage Node存儲節(jié)點根據(jù)則根據(jù)存儲對象的不同,分為Object Server對象服務(wù)、Container Server容器服務(wù)和Account Server賬戶服務(wù)三種,通常在部署Swift的時候這三種都會在存儲節(jié)點上運行,若硬件配置相同,則三種的地位也是相同的。
2.2 Quantum虛擬網(wǎng)絡(luò)服務(wù)
Quantum作為一個代理并不提供任何實質(zhì)的網(wǎng)絡(luò)資源,它僅負責(zé)鏈接虛擬機與物理機,以及虛擬機之間的通信。其主要任務(wù)主要有三條:
1)在底層調(diào)用第三方軟件,搭建虛擬網(wǎng)絡(luò)環(huán)境從而實現(xiàn)GRE隧道和VLAN虛擬局域網(wǎng)等,這種利用軟件來實現(xiàn)物理交換的方式,較之傳統(tǒng)的物理網(wǎng)絡(luò)搭建而言,無疑更加的靈活,成本也更加低廉;
2)通過數(shù)據(jù)庫對虛擬網(wǎng)絡(luò)進行維護,比如通過定義一系列的維護規(guī)則,定時同步本地端和數(shù)據(jù)庫端的數(shù)據(jù)是否一致,保證諸如DHCP等服務(wù)的正常運轉(zhuǎn);
3)利用RESTful API服務(wù)實現(xiàn)監(jiān)聽Nova,執(zhí)行查詢與管理操作,從而調(diào)用虛擬網(wǎng)絡(luò)資源。
2.3 Nova虛擬機管理系統(tǒng)
在整個OpenStack架構(gòu)中,Nova可以說是最為核心的模塊,云計算的運行本質(zhì)就是利用虛擬機實現(xiàn)資源的管理,而Nova正是一個虛擬機管理系統(tǒng),在大多數(shù)的概念中,Nova的簡單功能說明就是:計算。即相當(dāng)于一臺主機的CPU。云計算作為一個劃時代的先進理念,其核心就是更高效的利用物理資源,即CPU、磁盤存儲、內(nèi)存等,利用有限的物理資源更加有效地管理、存儲、交換信息資源,Nova就是這一整套系統(tǒng)的大管家。
Nova的作用,在于和OpenStack的其他每一個模塊進行配合從而分別實現(xiàn)相應(yīng)的配置、管理,諸如:
l 通過MySQL實現(xiàn)數(shù)據(jù)庫的建立與維護;
l 通過Keystone完成安全認(rèn)證服務(wù);
l 通過Glance、Swift完成虛擬機映像存儲服務(wù);
l 通過Cinder完成虛擬機塊存儲服務(wù);
l 通過Quantum完成虛擬網(wǎng)絡(luò)服務(wù);
l 通過Dashboard完成網(wǎng)絡(luò)UI用戶界面管理服務(wù)。
2.4 其他服務(wù)
除了以上三大組件,OpenStack還包含了若干其他服務(wù),如提供安全認(rèn)證的Keystone服務(wù)、提供鏡像服務(wù)的Glance服務(wù)、提供塊存儲服務(wù)的Cinder、提供UI界面的Dashboard等,以及更多的可以和Swift、Quantum、Nova搭配使用的第三方軟件、API等,幾乎每一種服務(wù)都起著不可替代的重要作用,在此不逐一贅述。
3 OpenStack平臺搭建指導(dǎo)
Folsom版的OpenStack較之早期的版本,功能強大、運行穩(wěn)定、可以有效地利用資源、合理地管理數(shù)據(jù),但作為一個復(fù)雜的新興技術(shù),OpenStack的普及仍然任重道遠,關(guān)鍵問題是OpenStack的搭建與維護盡管已經(jīng)盡量的簡易化,但仍然需要較高的專業(yè)能力與知識基礎(chǔ),并掌握一系列相當(dāng)復(fù)雜的安裝步驟。
OpenStack平臺的搭建在基本熟練使用Linux操作系統(tǒng)的前提下,仍需注意兩點:一、由于涉及到各個模塊的搭配使用、賬戶的安全管理、數(shù)據(jù)庫的調(diào)用等,因此需要嚴(yán)格按照安裝步驟逐個先后安裝,否則可能會造成各模塊間的不匹配;二、每一個模塊都或多或少的涉及到多個插件的安裝以實現(xiàn)該模塊的整體功能。
3.1 Swift安裝前準(zhǔn)備
作為一個經(jīng)過縝密開發(fā)的系統(tǒng),除各個模塊因個性功能特點造成的不同外,OpenStack的通用安裝步驟基本一致,下面僅以Swift的安裝為例,簡單介紹一下OpenStack單節(jié)點部署中的相關(guān)安裝步驟:
在安裝部署Swift前,首先須準(zhǔn)備好所有相關(guān)的安裝包,確立好合理的安裝目錄,設(shè)置好主機網(wǎng)絡(luò)并成功創(chuàng)建虛擬機,在正式開始安裝OpenStack后需要確認(rèn)MySQL和Keystone等服務(wù)均安裝正常。
3.2 Swift安裝步驟
1)配置localrc文件
參考下列代碼設(shè)置主機名、密碼、保存路徑等:
SWIFT_HOST=pyonline
SWIFT_NODE_IP=127.0.0.1 #單節(jié)點部署可用自循環(huán)IP地址
KEYSTONE_SWIFT_SERVICE_PASSWORD=pypassword
SWIFT_DISK_PATH=/dev/vdc
2)安裝Swift Proxy服務(wù)
安裝目錄下執(zhí)行命令./swift-proxy.sh
3)設(shè)置Swift分區(qū)
建議在前期創(chuàng)建虛擬機時準(zhǔn)備好/dev/vdc目錄,包括后續(xù)模塊所需目錄統(tǒng)一進行創(chuàng)建可較好避免遺忘某一目錄或造成目錄分配、命名、設(shè)置不合理。
4)安裝Swift Storage服務(wù)
安裝目錄下執(zhí)行命令./swift-storage.sh
3.3 Swift后續(xù)安裝組件
安裝完Swift后,可通過/var/log/swift查看日志文件檢查服務(wù)運行是否正常,或通過客戶端命令swift stat檢查是否出現(xiàn)問題。在正確安裝后,后續(xù)可繼續(xù)安裝Glance、Quantum、Nova、Dashboard等,最終可通過登陸Dashboard檢查OpenStack是否安裝配置正確。
4 結(jié)束語
單節(jié)點部署的OpenStack具有占用資源少、維護管理簡便、網(wǎng)絡(luò)結(jié)構(gòu)簡單、調(diào)試簡潔等優(yōu)點,但實用性較差且擴展困難,為了更貼近于真實應(yīng)用,滿足實際需求,在實際部署中常常進行多節(jié)點部署的方式,但這種方式較之前者部署和維護都更加的復(fù)雜。
在云計算日益流行的今天,對OpenStack的需求與應(yīng)用必將日益加大,隨之而來的將是其諸多缺點的暴露,如模塊化仍不完善,部署過于復(fù)雜,算法仍需進一步改善等,但相信這種高效、節(jié)能的管理技術(shù)必將逐步發(fā)展成熟,未來的OpenStack將更加簡潔,讓更多的人能夠管理屬于自己的一片云。
參考文獻:
[1] 張子凡. OpenStack部署實踐[M].北京:人民郵電出版社,2014:1-364.
[2] 鮑亮,李倩. 實戰(zhàn)大數(shù)據(jù)[M].北京:清華大學(xué)出版社,2014:1-327.
[3] 吳萍,朱晴婷. 算法與程序設(shè)計基礎(chǔ)(Python版)[M].北京:清華大學(xué)出版社,2015:30-270.