openstack云平台简述
OpenStack是一個(gè)由NASA(美國(guó)國(guó)家航空航天局)和Rackspace合作研發(fā)并發(fā)起的,以Apache許可證授權(quán)的自由軟件和開(kāi)放源代碼項(xiàng)目。
OpenStack 是一個(gè)開(kāi)源的云計(jì)算管理平臺(tái)項(xiàng)目,由幾個(gè)主要的組件組合起來(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è)及1350位開(kāi)發(fā)者,這些機(jī)構(gòu)與個(gè)人都將OpenStack作為基礎(chǔ)設(shè)施即服務(wù)(IaaS)資源的通用前端。OpenStack項(xiàng)目的首要任 務(wù)是簡(jiǎn)化云的部署過(guò)程并為其帶來(lái)良好的可擴(kuò)展性。本文希望通過(guò)提供必要的指導(dǎo)信息,幫助大家利用OpenStack前端來(lái)設(shè)置及管理自己的公共云或私有 云。
OpenStack云計(jì)算平臺(tái),幫助服務(wù)商和企業(yè)內(nèi)部實(shí)現(xiàn)類似于 Amazon EC2 和 S3 的云基礎(chǔ)架構(gòu)服務(wù)(Infrastructure as a Service, IaaS)。OpenStack 包含兩個(gè)主要模塊:Nova 和 Swift,前者是 NASA 開(kāi)發(fā)的虛擬服務(wù)器部署和業(yè)務(wù)計(jì)算模塊;后者是 Rackspace開(kāi)發(fā)的分布式云存儲(chǔ)模塊,兩者可以一起用,也可以分開(kāi)單獨(dú)用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,還有包括 Dell、Citrix、 Cisco、 Canonical等重量級(jí)公司的貢獻(xiàn)和支持,發(fā)展速度非???#xff0c;有取代另一個(gè)業(yè)界領(lǐng)先開(kāi)源云平臺(tái) Eucalyptus 的態(tài)勢(shì)。
以下是5個(gè)OpenStack的重要構(gòu)成部分:
l Nova - 計(jì)算服務(wù)
l Swift - 存儲(chǔ)服務(wù)
l Glance - 鏡像服務(wù)
l Keystone - 認(rèn)證服務(wù)
l Horizon - UI服務(wù)
(一)OpenStack概要
OpenStack是一整套開(kāi)源軟件項(xiàng)目的綜合,它允許企業(yè)或服務(wù)提供者建立、運(yùn)行自己的云計(jì)算和存儲(chǔ)設(shè)施。Rackspace與NASA是最初重要的兩個(gè)貢獻(xiàn)者,前者提供了“云文件”平臺(tái)代碼,該平臺(tái)增強(qiáng)了OpenStack對(duì)象存儲(chǔ)部分的功能,而后者帶來(lái)了“Nebula”平臺(tái)形成了OpenStack其余的部分。而今,OpenStack基金會(huì)已經(jīng)有150多個(gè)會(huì)員,包括很多知名公司如“Canonical、DELL、Citrix”等。
以下是5個(gè)OpenStack的重要構(gòu)成部分:
l Nova - 計(jì)算服務(wù)
l Swift - 存儲(chǔ)服務(wù)
l Glance - 鏡像服務(wù)
l Keystone - 認(rèn)證服務(wù)
l Horizon - UI服務(wù)
下圖展示了Keystone、Dashboard二者與其它OpenStack部分的交互。
(二)OpenStack計(jì)算設(shè)施----Nova
Nova是OpenStack計(jì)算的彈性控制器。OpenStack云實(shí)例生命期所需的各種動(dòng)作都將由Nova進(jìn)行處理和支撐,這就意味著Nova以管理平臺(tái)的身份登場(chǎng),負(fù)責(zé)管理整個(gè)云的計(jì)算資源、網(wǎng)絡(luò)、授權(quán)及測(cè)度。雖然Nova本身并不提供任何虛擬能力,但是它將使用libvirt API與虛擬機(jī)的宿主機(jī)進(jìn)行交互。Nova通過(guò)Web服務(wù)API來(lái)對(duì)外提供處理接口,而且這些接口與Amazon的Web服務(wù)接口是兼容的。
功能及特點(diǎn)
l 實(shí)例生命周期管理
l 計(jì)算資源管理
l 網(wǎng)絡(luò)與授權(quán)管理
l 基于REST的API
l 異步連續(xù)通信
l 支持各種宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V
OpenStack計(jì)算部件
l Nova彈性云包含以下主要部分:
l API Server(nova-api)
l 消息隊(duì)列(rabbit-mq server)
l 運(yùn)算工作站(nova-compute)
l 網(wǎng)絡(luò)控制器(nova-network)
l 卷管理(nova-volume)
l 調(diào)度器(nova-scheduler)
API服務(wù)器(nova-api)
API服務(wù)器提供了云設(shè)施與外界交互的接口,它是外界用戶對(duì)云實(shí)施管理的唯一通道。通過(guò)使用web服務(wù)來(lái)調(diào)用各種EC2的API,接著API服務(wù)器便通過(guò)消息隊(duì)列把請(qǐng)求送達(dá)至云內(nèi)目標(biāo)設(shè)施進(jìn)行處理。作為對(duì)EC2-api的替代,用戶也可以使用OpenStack的原生API,我們把它叫做“OpenStack API”。
消息隊(duì)列(Rabbit MQ Server)
OpenStack內(nèi)部在遵循AMQP(高級(jí)消息隊(duì)列協(xié)議)的基礎(chǔ)上采用消息隊(duì)列進(jìn)行通信。Nova對(duì)請(qǐng)求應(yīng)答進(jìn)行異步調(diào)用,當(dāng)請(qǐng)求接收后便則立即觸發(fā)一個(gè)回調(diào)。由于使用了異步通信,不會(huì)有用戶的動(dòng)作被長(zhǎng)置于等待狀態(tài)。例如,啟動(dòng)一個(gè)實(shí)例或上傳一份鏡像的過(guò)程較為耗時(shí),API調(diào)用就將等待返回結(jié)果而不影響其它操作,在此異步通信起到了很大作用,使整個(gè)系統(tǒng)變得更加高效。
運(yùn)算工作站(nova-compute)
運(yùn)算工作站的主要任務(wù)是管理實(shí)例的整個(gè)生命周期。他們通過(guò)消息隊(duì)列接收請(qǐng)求并執(zhí)行,從而對(duì)實(shí)例進(jìn)行各種操作。在典型實(shí)際生產(chǎn)環(huán)境下,會(huì)架設(shè)許多運(yùn)算工作站,根據(jù)調(diào)度算法,一個(gè)實(shí)例可以在可用的任意一臺(tái)運(yùn)算工作站上部署。網(wǎng)絡(luò)控制器(nova-network)
網(wǎng)絡(luò)控制器處理主機(jī)的網(wǎng)絡(luò)配置,例如IP地址分配,配置項(xiàng)目VLAN,設(shè)定安全群組以及為計(jì)算節(jié)點(diǎn)配置網(wǎng)絡(luò)。
卷工作站(nova-volume)
卷工作站管理基于LVM的實(shí)例卷,它能夠?yàn)橐粋€(gè)實(shí)例創(chuàng)建、刪除、附加卷,也可以從一個(gè)實(shí)例中分離卷。卷管理為何如此重要?因?yàn)樗峁┝艘环N保持實(shí)例持續(xù)存儲(chǔ)的手段,比如當(dāng)結(jié)束一個(gè)實(shí)例后,根分區(qū)如果是非持續(xù)化的,那么對(duì)其的任何改變都將丟失??墒?#xff0c;如果從一個(gè)實(shí)例中將卷分離出來(lái),或者為這個(gè)實(shí)例附加上卷的話,即使實(shí)例被關(guān)閉,數(shù)據(jù)仍然保存其中。這些數(shù)據(jù)可以通過(guò)將卷附加到原實(shí)例或其他實(shí)例的方式而重新訪問(wèn)。
因此,為了日后訪問(wèn),重要數(shù)據(jù)務(wù)必要寫(xiě)入卷中。這種應(yīng)用對(duì)于數(shù)據(jù)服務(wù)器實(shí)例的存儲(chǔ)而言,尤為重要。
調(diào)度器(nova-scheduler)
調(diào)度器負(fù)責(zé)把nova-API調(diào)用送達(dá)給目標(biāo)。調(diào)度器以名為“nova-schedule”的守護(hù)進(jìn)程方式運(yùn)行,并根據(jù)調(diào)度算法從可用資源池中恰當(dāng)?shù)剡x擇運(yùn)算服務(wù)器。有很多因素都可以影響調(diào)度結(jié)果,比如負(fù)載、內(nèi)存、子節(jié)點(diǎn)的遠(yuǎn)近、CPU架構(gòu)等等。強(qiáng)大的是nova調(diào)度器采用的是可插入式架構(gòu)。
目前nova調(diào)度器使用了幾種基本的調(diào)度算法:
隨機(jī)化:主機(jī)隨機(jī)選擇可用節(jié)點(diǎn);
可用化:與隨機(jī)相似,只是隨機(jī)選擇的范圍被指定;
簡(jiǎn)單化:應(yīng)用這種方式,主機(jī)選擇負(fù)載最小者來(lái)運(yùn)行實(shí)例。負(fù)載數(shù)據(jù)可以從別處獲得,如負(fù)載均衡服務(wù)器。
(三)OpenStack鏡像服務(wù)器----Glance
OpenStack鏡像服務(wù)器是一套虛擬機(jī)鏡像發(fā)現(xiàn)、注冊(cè)、檢索系統(tǒng),我們可以將鏡像存儲(chǔ)到以下任意一種存儲(chǔ)中:
本地文件系統(tǒng)(默認(rèn))
l OpenStack對(duì)象存儲(chǔ)
l S3直接存儲(chǔ)
l S3對(duì)象存儲(chǔ)(作為S3訪問(wèn)的中間渠道)
l HTTP(只讀)
功能及特點(diǎn)
提供鏡像相關(guān)服務(wù)
Glance構(gòu)件
l Glance控制器
l Glance注冊(cè)器
(四)OpenStack存儲(chǔ)設(shè)施----Swift
Swift為OpenStack提供一種分布式、持續(xù)虛擬對(duì)象存儲(chǔ),它類似于Amazon Web Service的S3簡(jiǎn)單存儲(chǔ)服務(wù)。Swift具有跨節(jié)點(diǎn)百級(jí)對(duì)象的存儲(chǔ)能力。Swift內(nèi)建冗余和失效備援管理,也能夠處理歸檔和媒體流,特別是對(duì)大數(shù)據(jù)(千兆字節(jié))和大容量(多對(duì)象數(shù)量)的測(cè)度非常高效。
功能及特點(diǎn)
l 海量對(duì)象存儲(chǔ)
l 大文件(對(duì)象)存儲(chǔ)
l 數(shù)據(jù)冗余管理
l 歸檔能力-----處理大數(shù)據(jù)集
l 為虛擬機(jī)和云應(yīng)用提供數(shù)據(jù)容器
l 處理流媒體
l 對(duì)象安全存儲(chǔ)
l 備份與歸檔
l 良好的可伸縮性
Swift組件
l Swift賬戶
l Swift容器
l Swift對(duì)象
l Swift代理
l Swift RING
Swift代理服務(wù)器
用戶都是通過(guò)Swift-API與代理服務(wù)器進(jìn)行交互,代理服務(wù)器正是接收外界請(qǐng)求的門(mén)衛(wèi),它檢測(cè)合法的實(shí)體位置并路由它們的請(qǐng)求。
此外,代理服務(wù)器也同時(shí)處理實(shí)體失效而轉(zhuǎn)移時(shí),故障切換的實(shí)體重復(fù)路由請(qǐng)求。
Swift對(duì)象服務(wù)器
對(duì)象服務(wù)器是一種二進(jìn)制存儲(chǔ),它負(fù)責(zé)處理本地存儲(chǔ)中的對(duì)象數(shù)據(jù)的存儲(chǔ)、檢索和刪除。對(duì)象都是文件系統(tǒng)中存放的典型的二進(jìn)制文件,具有擴(kuò)展文件屬性的元數(shù)據(jù)(xattr)。
注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并沒(méi)有有效測(cè)試證明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同樣能運(yùn)行良好。不過(guò),XFS被認(rèn)為是當(dāng)前最好的選擇。
Swift容器服務(wù)器
容器服務(wù)器將列出一個(gè)容器中的所有對(duì)象,默認(rèn)對(duì)象列表將存儲(chǔ)為SQLite文件(譯者注:也可以修改為MySQL,安裝中就是以MySQL為例)。容器服務(wù)器也會(huì)統(tǒng)計(jì)容器中包含的對(duì)象數(shù)量及容器的存儲(chǔ)空間耗費(fèi)。
Swift賬戶服務(wù)器
賬戶服務(wù)器與容器服務(wù)器類似,將列出容器中的對(duì)象。
Ring(索引環(huán))
Ring容器記錄著Swift中物理存儲(chǔ)對(duì)象的位置信息,它是真實(shí)物理存儲(chǔ)位置的實(shí)體名的虛擬映射,類似于查找及定位不同集群的實(shí)體真實(shí)物理位置的索引服務(wù)。這里所謂的實(shí)體指賬戶、容器、對(duì)象,它們都擁有屬于自己的不同的Rings。
(五)OpenStack認(rèn)證服務(wù)(Keystone)
Keystone為所有的OpenStack組件提供認(rèn)證和訪問(wèn)策略服務(wù),它依賴自身REST(基于Identity API)系統(tǒng)進(jìn)行工作,主要對(duì)(但不限于)Swift、Glance、Nova等進(jìn)行認(rèn)證與授權(quán)。事實(shí)上,授權(quán)通過(guò)對(duì)動(dòng)作消息來(lái)源者請(qǐng)求的合法性進(jìn)行鑒定。如下圖所示:
Keystone采用兩種授權(quán)方式,一種基于用戶名/密碼,另一種基于令牌(Token)。除此之外,Keystone提供以下三種服務(wù):
l 令牌服務(wù):含有授權(quán)用戶的授權(quán)信息
l 目錄服務(wù):含有用戶合法操作的可用服務(wù)列表
l 策略服務(wù):利用Keystone具體指定用戶或群組某些訪問(wèn)權(quán)限
認(rèn)證服務(wù)組件
服務(wù)入口:如Nova、Swift和Glance一樣每個(gè)OpenStack服務(wù)都擁有一個(gè)指定的端口和專屬的URL,我們稱其為入口(endpoints)。
l 區(qū)位:在某個(gè)數(shù)據(jù)中心,一個(gè)區(qū)位具體指定了一處物理位置。在典型的云架構(gòu)中,如果不是所有的服務(wù)都訪問(wèn)分布式數(shù)據(jù)中心或服務(wù)器的話,則也稱其為區(qū)位。
l 用戶:Keystone授權(quán)使用者
譯者注:代表一個(gè)個(gè)體,OpenStack以用戶的形式來(lái)授權(quán)服務(wù)給它們。用戶擁有證書(shū)(credentials),且可能分配給一個(gè)或多個(gè)租戶。經(jīng)過(guò)驗(yàn)證后,會(huì)為每個(gè)單獨(dú)的租戶提供一個(gè)特定的令牌。[來(lái)源:http://blog.sina.com.cn/s/blog_70064f190100undy.html ]
l 服務(wù):總體而言,任何通過(guò)Keystone進(jìn)行連接或管理的組件都被稱為服務(wù)。舉個(gè)例子,我們可以稱Glance為Keystone的服務(wù)。
l 角色:為了維護(hù)安全限定,就云內(nèi)特定用戶可執(zhí)行的操作而言,該用戶關(guān)聯(lián)的角色是非常重要的。
譯者注:一個(gè)角色是應(yīng)用于某個(gè)租戶的使用權(quán)限集合,以允許某個(gè)指定用戶訪問(wèn)或使用特定操作。角色是使用權(quán)限的邏輯分組,它使得通用的權(quán)限可以簡(jiǎn)單地分組并綁定到與某個(gè)指定租戶相關(guān)的用戶。
l 租間:租間指的是具有全部服務(wù)入口并配有特定成員角色的一個(gè)項(xiàng)目。
譯者注:一個(gè)租間映射到一個(gè)Nova的“project-id”,在對(duì)象存儲(chǔ)中,一個(gè)租間可以有多個(gè)容器。根據(jù)不同的安裝方式,一個(gè)租間可以代表一個(gè)客戶、帳號(hào)、組織或項(xiàng)目。
(六)OpenStack管理的Web接口----Horizon
Horizon是一個(gè)用以管理、控制OpenStack服務(wù)的Web控制面板,它可以管理實(shí)例、鏡像、創(chuàng)建密匙對(duì),對(duì)實(shí)例添加卷、操作Swift容器等。除此之外,用戶還可以在控制面板中使用終端(console)或VNC直接訪問(wèn)實(shí)例??傊?#xff0c;Horizon具有如下一些特點(diǎn):
l 實(shí)例管理:創(chuàng)建、終止實(shí)例,查看終端日志,VNC連接,添加卷等
l 訪問(wèn)與安全管理:創(chuàng)建安全群組,管理密匙對(duì),設(shè)置浮動(dòng)IP等
l 偏好設(shè)定:對(duì)虛擬硬件模板可以進(jìn)行不同偏好設(shè)定
l 鏡像管理:編輯或刪除鏡像
l 查看服務(wù)目錄
l 管理用戶、配額及項(xiàng)目用途
l 用戶管理:創(chuàng)建用戶等
l 卷管理:創(chuàng)建卷和快照
l 對(duì)象存儲(chǔ)處理:創(chuàng)建、刪除容器和對(duì)象
l 為項(xiàng)目下載環(huán)境變量
總結(jié)
以上是生活随笔為你收集整理的openstack云平台简述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 那些有意思的网站(二)
- 下一篇: 一中OJ #1438 航线设计 | LI