OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個方面。它是一個正在開發(fā)中的云計算平臺項目,根據(jù)成熟及重要程度的不同,被分解成核心項目、孵化項目,以及支持項目和相關(guān)項目。每個項目都有自己的委員會和項目技術(shù)主管,而且每個項目都不是一成不變的,孵化項目可以根據(jù)發(fā)展的成熟度和重要性,轉(zhuǎn)變?yōu)楹诵捻椖俊?strong>最新版本Mitaka共16個核心項目(即OpenStack服務(wù))。
創(chuàng)新互聯(lián)建站基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺為眾多戶提供光華機房服務(wù)器托管 四川大帶寬租用 成都機柜租用 成都服務(wù)器租用。
Openstack體系結(jié)構(gòu)圖(僅包括了幾個重要的組件)
計算(Compute):Nova。一套控制器,用于為單個用戶或使用群組管理虛擬機實例的整個生命周期,根據(jù)用戶需求來提供虛擬服務(wù)。負(fù)責(zé)虛擬機創(chuàng)建、開機、關(guān)機、掛起、暫停、調(diào)整、遷移、重啟、銷毀等操作,配置CPU、內(nèi)存等信息規(guī)格。
對象存儲(Object Storage):Swift。一套用于在大規(guī)模可擴展系統(tǒng)中通過內(nèi)置冗余及高容錯機制實現(xiàn)對象存儲的系統(tǒng),允許進(jìn)行存儲或者檢索文件??蔀镚lance提供鏡像存儲,為Cinder提供卷備份服務(wù)。自Austin版本集成到項目中。
塊存儲 (Block Storage):Cinder。為運行實例提供穩(wěn)定的數(shù)據(jù)塊存儲服務(wù),它的插件驅(qū)動架構(gòu)有利于塊設(shè)備的創(chuàng)建和管理,如創(chuàng)建卷、刪除卷,在實例上掛載和卸載卷。自Folsom版本集成到項目中。
鏡像服務(wù)(Image Service):Glance。一套虛擬機鏡像查找及檢索系統(tǒng),支持多種虛擬機鏡像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有創(chuàng)建上傳鏡像、刪除鏡像、編輯鏡像基本信息的功能。自Bexar版本集成到項目中。
身份服務(wù)(Identity Service):Keystone。為OpenStack其他服務(wù)提供身份驗證、服務(wù)規(guī)則和服務(wù)令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到項目中。
網(wǎng)絡(luò)服務(wù)(Network):Neutron。提供云計算的網(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版本集成到項目中。
Openstack UI面板(Dashboard):Horizon。OpenStack中各種服務(wù)的Web管理門戶,用于簡化用戶對服務(wù)的操作,例如:啟動實例、分配IP地址、配置訪問控制等。對于很多用戶來說,了解Openstack基本都是從Horizon開始。從這個角度來看,他在Openstack各個項目里,顯得非常重要。
這是實現(xiàn)監(jiān)控和計量的組件。Ceilometer項目創(chuàng)建時最初的目的是實現(xiàn)一個能為計費系統(tǒng)采集數(shù)據(jù)的框架。在G版的開發(fā)中,社區(qū)已經(jīng)更新了他們的目標(biāo),新目標(biāo)是希望Ceilometer成為OpenStack里數(shù)據(jù)采集(監(jiān)控數(shù)據(jù)、計費數(shù)據(jù))的唯一基礎(chǔ)設(shè)施,采集到的數(shù)據(jù)提供給監(jiān)控、計費、面板等項目使用。
對于云計算來說,自動化管理是一個必不可少的部分。AWS的EC2是通過提供CloudFormation格式的模版來實現(xiàn)Orchestration 。Heat是這部分功能的開源實現(xiàn)。Heat不僅100%兼容CloudFormation格式,同時支持自己的Hot (Heat Orchestration Template)格式。
https://wiki.openstack.org/wiki/Heat
對于云計算平臺來說,只有計算、網(wǎng)絡(luò)與存儲這三大服務(wù)往往是不太夠的,在目前互聯(lián)網(wǎng)應(yīng)用百花齊放的背景下,幾乎所有應(yīng)用都使用到數(shù)據(jù)庫,而數(shù)據(jù)庫承載的往往是應(yīng)用最核心的數(shù)據(jù)。此外,在大數(shù)據(jù)分析越來越盛行的背景下,對數(shù)據(jù)庫的可靠便捷管理也變得更為重要。因此,DBase as a Service(DBaaS,數(shù)據(jù)庫服務(wù))也就順理成章地成為了云計算平臺為用戶創(chuàng)造價值的一個重要服務(wù)。
對比Amazon AWS中各種關(guān)于數(shù)據(jù)的服務(wù),其中最著名的是RDS(SQL-base)和DynamoDB(NOSQL),除了實現(xiàn)了基本的數(shù)據(jù)管理能力,還具備良好的伸縮能力、容災(zāi)能力和不同規(guī)格的性能表現(xiàn)。因此,對于最炙手可熱的開源云計算平臺Openstack來說,也從Icehouse版加入了DBaaS服務(wù),代號Trove。直到Openstack Mitaka版本,Trove已經(jīng)經(jīng)過了5個版本的迭代發(fā)布,目前已經(jīng)成為Openstack官方可選的核心服務(wù)之一。
2013年4月,OpenStack社區(qū)知名廠商Mirantis正式宣布了基于OpenStack的開源BDaaS(BigData-as-a-Service)項目——Sahara(原名Savanna),正式開始了在OpenStack上構(gòu)建大數(shù)據(jù)服務(wù)能力的努力。
Sahara旨在為用戶提供簡單部署Hadoop集群的能力,比如通過簡單的配置:Hadoop版本、集群結(jié)構(gòu)、節(jié)點硬件信息等。在用戶提供了這些參數(shù)后,Sahara迅速把Hadoop集群部署起來。同時也支持集群的擴容和減容。
OpenStack管理虛擬機已經(jīng)非常成熟,通過Nova我們可以快速自動化地創(chuàng)建虛擬機。但是在這之前需要搭建物理環(huán)境,需要人工地管理多臺設(shè)備,OpenStack并沒有提供物理環(huán)境的管理,我們依然需要解決這些基礎(chǔ)環(huán)境的搭建問題,由此Ironic應(yīng)運而生,解決物理機的添加、刪除、電源管理、操作系統(tǒng)部署等問題。Ironic讓OpenStack不僅停留在軟件層面解決云計算問題。供應(yīng)商可以對應(yīng)自己的服務(wù)器開發(fā)Ironic插件。
Zaqar的消息和通知服務(wù)為Openstack允許構(gòu)建可伸縮、可靠和高性能的應(yīng)用程序。開發(fā)人員可以通過REST API在他們的云應(yīng)用的不同的組件中通過不同的通信模式,如生產(chǎn)者/消費者或發(fā)布者/訂閱者來傳輸消息。
Manila項目全稱是File Share Service,文件共享即服務(wù)。是OpenStack的子項目之一,用來提供云上的文件共享,支持CIFS協(xié)議和NFS協(xié)議。
OpenStack Designate提供了DNSaaS(DNS即服務(wù))的功能,其目標(biāo)就是要賦予OpenStack提供這種云域名系統(tǒng)的能力,云服務(wù)商可以使用Designate就能夠很容易建造一個云域名管理系統(tǒng)來托管租戶的公有域名。