OpenStack是一個(gè)由NASA(美國(guó)國(guó)家航空航天局)和Rackspace合作研發(fā)并發(fā)起的,以Apache許可證授權(quán)的自由軟件和開(kāi)放源代碼項(xiàng)目。作為一個(gè)開(kāi)源的云計(jì)算管理平臺(tái)項(xiàng)目,由多個(gè)相關(guān)聯(lián)的組件組合起來(lái)完成具體工作钩杰。OpenStack支持幾乎所有類型的云環(huán)境,項(xiàng)目目標(biāo)是提供實(shí)施簡(jiǎn)單、可大規(guī)模擴(kuò)展羽历、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計(jì)算管理平臺(tái)淡喜。OpenStack通過(guò)各種互補(bǔ)的服務(wù)提供了基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案秕磷,每個(gè)服務(wù)提供API以進(jìn)行集成。
OpenStack是一個(gè)旨在為公有云及私有云的建設(shè)與管理提供軟件的開(kāi)源項(xiàng)目炼团。它目前的社區(qū)擁有超過(guò)130多家企業(yè)及1600多位開(kāi)發(fā)者跳夭,這些機(jī)構(gòu)與個(gè)人都將OpenStack作為基礎(chǔ)設(shè)施即服務(wù)(IaaS)資源的通用前端。OpenStack項(xiàng)目的首要任務(wù)是簡(jiǎn)化云的部署過(guò)程并為其帶來(lái)良好的可擴(kuò)展性们镜。
1 OpenStack三大核心組件
OpenStack因有計(jì)算币叹、網(wǎng)絡(luò)、存儲(chǔ)三大組件的支撐模狭,OpenStack能夠構(gòu)建出多種靈活的企業(yè)級(jí)云計(jì)算應(yīng)用平臺(tái)颈抚。有了OpenStack平臺(tái)通過(guò)對(duì)著三大組件的虛擬化,可以對(duì)用戶隱藏底層基礎(chǔ)設(shè)施的異構(gòu)性及其實(shí)現(xiàn)的細(xì)節(jié)嚼鹉,達(dá)到業(yè)務(wù)的靈活性和便捷性以及可擴(kuò)展性贩汉。
2 Openstack主要組件
OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化锚赤、操作系統(tǒng)匹舞、服務(wù)器等各個(gè)方面。它是一個(gè)正在開(kāi)發(fā)中的云計(jì)算平臺(tái)項(xiàng)目线脚,根據(jù)成熟及重要程度的不同赐稽,被分解成核心項(xiàng)目叫榕、孵化項(xiàng)目,以及支持項(xiàng)目和相關(guān)項(xiàng)目姊舵。主要項(xiàng)目包括計(jì)算晰绎、網(wǎng)絡(luò)、對(duì)象存儲(chǔ)括丁、塊存儲(chǔ)荞下、身份、鏡像服務(wù)史飞、門戶尖昏、測(cè)量、部署編排构资、數(shù)據(jù)庫(kù)服務(wù)等等抽诉,可以根據(jù)需要選擇安裝,組網(wǎng)結(jié)構(gòu)也靈活多樣蚯窥。每個(gè)項(xiàng)目都有自己的委員會(huì)和項(xiàng)目技術(shù)主管掸鹅,而且每個(gè)項(xiàng)目都不是一成不變的,孵化項(xiàng)目可以根據(jù)發(fā)展的成熟度和重要性拦赠,轉(zhuǎn)變?yōu)楹诵捻?xiàng)目巍沙。
下面列出了10個(gè)核心項(xiàng)目(即OpenStack核心服務(wù))。
(1)計(jì)算服務(wù)(Compute Service):即Nova項(xiàng)目荷鼠。一套控制器句携,用于為單個(gè)用戶或使用群組管理虛擬機(jī)實(shí)例的整個(gè)生命周期,根據(jù)用戶需求來(lái)提供虛擬服務(wù)允乐。負(fù)責(zé)虛擬機(jī)創(chuàng)建矮嫉、開(kāi)機(jī)、關(guān)機(jī)牍疏、掛起蠢笋、暫停、調(diào)整鳞陨、遷移昨寞、重啟、銷毀等操作厦滤,配置CPU援岩、內(nèi)存等信息規(guī)格。自Austin版本集成到項(xiàng)目中掏导。
(2)對(duì)象存儲(chǔ)(Object Storage):即Swift項(xiàng)目享怀。一套用于在大規(guī)模可擴(kuò)展系統(tǒng)中通過(guò)內(nèi)置冗余及高容錯(cuò)機(jī)制實(shí)現(xiàn)對(duì)象存儲(chǔ)的系統(tǒng)趟咆,允許進(jìn)行存儲(chǔ)或者檢索文件添瓷∶诽耄可為Glance提供鏡像存儲(chǔ),為Cinder提供卷備份服務(wù)仰坦。自Austin版本集成到項(xiàng)目中
(3)鏡像服務(wù)(Image Service):即Glance履植。一套虛擬機(jī)鏡像查找及檢索系統(tǒng)计雌,支持多種虛擬機(jī)鏡像格式(AKI悄晃、AMI、ARI凿滤、ISO妈橄、QCOW2、Raw翁脆、VDI眷蚓、VHD、VMDK)反番,有創(chuàng)建上傳鏡像沙热、刪除鏡像、編輯鏡像基本信息的功能罢缸。自Bexar版本集成到項(xiàng)目中篙贸。
(4)身份服務(wù)(Identity Service):即Keystone。為OpenStack其他服務(wù)提供身份驗(yàn)證枫疆、服務(wù)規(guī)則和服務(wù)令牌的功能爵川,管理Domains、Projects息楔、Users寝贡、Groups、Roles值依。自Essex版本集成到項(xiàng)目中圃泡。
(5)網(wǎng)絡(luò)管理服務(wù)(Networking Service):即Neutron。提供云計(jì)算的網(wǎng)絡(luò)虛擬化技術(shù)愿险,為OpenStack其他服務(wù)提供網(wǎng)絡(luò)連接服務(wù)颇蜡。為用戶提供接口,可以定義Network拯啦、Subnet澡匪、Router,配置DHCP褒链、DNS唁情、負(fù)載均衡、L3服務(wù)甫匹,網(wǎng)絡(luò)支持GRE甸鸟、VLAN惦费。插件架構(gòu)支持許多主流的網(wǎng)絡(luò)廠家和技術(shù),如OpenvSwitch抢韭。自Folsom版本集成到項(xiàng)目中薪贫。
(6)塊存儲(chǔ)(Block Storage):即Cinder。為運(yùn)行實(shí)例提供穩(wěn)定的數(shù)據(jù)塊存儲(chǔ)服務(wù)刻恭,它的插件驅(qū)動(dòng)架構(gòu)有利于塊設(shè)備的創(chuàng)建和管理瞧省,如創(chuàng)建卷、刪除卷鳍贾,在實(shí)例上掛載和卸載卷鞍匾。自Folsom版本集成到項(xiàng)目中。
(7)儀表盤(Dashboard):即Horizon骑科。OpenStack中各種服務(wù)的Web管理門戶橡淑,用于簡(jiǎn)化用戶對(duì)服務(wù)的操作,例如:?jiǎn)?dòng)實(shí)例咆爽、分配IP地址梁棠、配置訪問(wèn)控制等。自Essex版本集成到項(xiàng)目中斗埂。
(8)測(cè)量(Metering):即Ceilometer符糊。像一個(gè)漏斗一樣,能把OpenStack內(nèi)部發(fā)生的幾乎所有的事件都收集起來(lái)蜜笤,然后為計(jì)費(fèi)和監(jiān)控以及其它服務(wù)提供數(shù)據(jù)支撐濒蒋。自Havana版本集成到項(xiàng)目中。
(9)部署編排(Orchestration Service):即Heat把兔。提供了一種通過(guò)模板定義的協(xié)同部署方式沪伙,實(shí)現(xiàn)云基礎(chǔ)設(shè)施軟件運(yùn)行環(huán)境(計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源)的自動(dòng)化部署县好。自Havana版本集成到項(xiàng)目中围橡。
(10)數(shù)據(jù)庫(kù)服務(wù)(Database Service):即Trove。為用戶在OpenStack的環(huán)境提供可擴(kuò)展和可靠的關(guān)系和非關(guān)系數(shù)據(jù)庫(kù)引擎服務(wù)缕贡。自Icehouse版本集成到項(xiàng)目中翁授。
OpenStack版本名稱首字母根據(jù)字母表順序來(lái)的,從最開(kāi)始的Austin(A)一直到目前最新的Pike(P)版本晾咪。其中最新版本中涉及到的項(xiàng)目有上百個(gè)收擦,包括很多新項(xiàng)目,比如多后端支持谍倦、通用時(shí)間支持塞赂、存儲(chǔ)復(fù)制、容器網(wǎng)絡(luò)支持昼蛀、增量備份宴猾、IPv6和分布式SNAT等等圆存。關(guān)于其中的項(xiàng)目請(qǐng)參考官方網(wǎng)站https://www.openstack.org。
3 OpenStack主要組件的關(guān)系
OpenStack主要組件之間的關(guān)系如上圖仇哆,這里做個(gè)簡(jiǎn)單的說(shuō)明:
(1)用戶通過(guò)Horizon進(jìn)行介入訪問(wèn)沦辙,采用RESTful API方式
(2)通過(guò)Keystone進(jìn)行授權(quán)和認(rèn)證
(3)Nova為計(jì)算服務(wù),負(fù)責(zé)通過(guò)libvirt對(duì)整個(gè)虛擬機(jī)生命周期進(jìn)行管理
(4)Glance作為鏡像服務(wù)對(duì)虛擬機(jī)鏡像進(jìn)行管理
(5)Swift為虛擬機(jī)提供對(duì)象存儲(chǔ)讹剔,Cindor為虛擬機(jī)提供塊存儲(chǔ)
(6)組件之間的通信采用AMQP消息隊(duì)列進(jìn)行調(diào)用
(7)圖中的網(wǎng)絡(luò)服務(wù)組件Quantum服務(wù)在Havana版本更名為了Neutron油讯,用以對(duì)各個(gè)節(jié)點(diǎn)提供網(wǎng)絡(luò)服務(wù)