OpenStack開(kāi)源的云計(jì)算管理平臺(tái)項(xiàng)目介紹
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
OpenStack是一個(gè)開(kāi)源的云計(jì)算管理平臺(tái)項(xiàng)目,是一系列軟件開(kāi)源項(xiàng)目的組合。由NASA(美國(guó)國(guó)家航空航天局)和Rackspace合作研發(fā)并發(fā)起,以Apache許可證(Apache軟件基金會(huì)發(fā)布的一個(gè)自由軟件許可證)授權(quán)。 [1] OpenStack為私有云和公有云提供可擴(kuò)展的彈性的云計(jì)算服務(wù)。項(xiàng)目目標(biāo)是提供實(shí)施簡(jiǎn)單、可大規(guī)模擴(kuò)展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計(jì)算管理平臺(tái)。 [1] 中文名:OpenStack云計(jì)算管理平臺(tái) 外文名:OpenStack 開(kāi)發(fā)者:NASA,Rackspace 編程語(yǔ)言:Python 遵循標(biāo)準(zhǔn):Open 、AMQP、SQLAlchemy 目錄 1、簡(jiǎn)介 2、發(fā)展歷程 3、發(fā)展趨勢(shì) 4、工作流程 5、管理流程 ? QEMU ? Libvirt 6、核心項(xiàng)目 1、簡(jiǎn)介 Openstack是一個(gè)云平臺(tái)管理的項(xiàng)目,它不是一個(gè)軟件。這個(gè)項(xiàng)目由幾個(gè)主要的組件組合起來(lái)完成一些具體的工作。Openstack是一個(gè)旨在為公共及私有云的建設(shè)與管理提供軟件的開(kāi)源項(xiàng)目。它的社區(qū)擁有超過(guò)130家企業(yè)及1350位開(kāi)發(fā)者,這些機(jī)構(gòu)與個(gè)人將 Openstack作為基礎(chǔ)設(shè)施即服務(wù)資源的通用前端。Openstack項(xiàng)目的首要任務(wù)是簡(jiǎn)化云的部署過(guò)程并為其帶來(lái)良好的可擴(kuò)展性。本文希望通過(guò)提供必要的指導(dǎo)信息,幫助大家利用 Openstack前端來(lái)設(shè)置及管理自己的公共云或私有云。 [2] Openstack是由 Rackspace和NASA共同開(kāi)發(fā)的云計(jì)算平臺(tái),幫助服務(wù)商和企業(yè)內(nèi)部實(shí)現(xiàn)類(lèi)似于 Amazon ec2和S3的云基礎(chǔ)架構(gòu)服務(wù)( Infrastructure as a Service)。 Openstack包括兩個(gè)主要模塊:Nova和 Swift。前者是NASA開(kāi)發(fā)的虛擬服務(wù)器部署和業(yè)務(wù)計(jì)算模塊;后者是 Backpack開(kāi)發(fā)的分布式云存儲(chǔ)模塊,兩者可以一起用,也可以分開(kāi)單獨(dú)用。 Openstack是開(kāi)源項(xiàng)目,除了有 Rackspace和NASA的大力支持外,后面還有包括Dell、 Citrix、 Cisco Canonical這些重量級(jí)公司的貢獻(xiàn)和支持,發(fā)展速度非??欤腥〈硪粋€(gè)業(yè)界領(lǐng)先開(kāi)源云臺(tái) Eucalyptus的態(tài)勢(shì)。 [2] 2、發(fā)展歷程 Openstack項(xiàng)目雖然誕生時(shí)間不長(zhǎng),但其發(fā)展之迅速,在云計(jì)算領(lǐng)域的影響力擴(kuò)展,使得這個(gè)年輕的項(xiàng)目成為業(yè)內(nèi)所有人都不得不關(guān)注的焦點(diǎn)。 [2] 2010年 Openstack項(xiàng)目成立。該項(xiàng)目由美國(guó)國(guó)家航空航天局(NASA)和 Rackspace合作研發(fā), Apache許可證開(kāi)源。目前為止共有以下版本: [2] (1) Austin——Openstack發(fā)布的第一個(gè)版本,這是第一個(gè)開(kāi)源的云計(jì)算平臺(tái)。 [2] (2) Bexar——Openstack發(fā)布的第二個(gè)版本,添加了IPv6的支持、影像傳遞技術(shù),以及Hyper-V和Xen等虛擬服務(wù)器功能。 [2] (3) Catus——Openstack發(fā)布的第三個(gè)版本,添加了虛擬化功能、自動(dòng)化功能以及一個(gè)服務(wù)目錄。 [2] (4) Diablo——Openstack發(fā)布的第四個(gè)版本,增加了新的圖形化用戶界面和統(tǒng)一身份識(shí)別管理系統(tǒng)。 [2] (5) Essex——Openstack發(fā)布的第五個(gè)版本,完善了 Keystone認(rèn)證,刪除了對(duì) Windows Hyper-V支持的相關(guān)代碼。 [2] (6) Folsom——2012年9月 Open Stack發(fā)布的第六版。 Folsom包括了 Nova swift、 Horizon Keystone、 Glance原有的五個(gè)子項(xiàng)目之外,又多增 Quantum和 Cinder兩項(xiàng)。 Quantum支持了數(shù)個(gè)現(xiàn)有的虛擬網(wǎng)絡(luò)套件,如 Open vSwitch、Ryu網(wǎng)絡(luò)操作系統(tǒng)( Network Operation System,NOS)等,也包括了 Cisco、 Nicira和NEC等廠商提供的虛擬網(wǎng)絡(luò)套件等, Quantun可以讓Open Stack的IaS平臺(tái)能采用軟件定義網(wǎng)絡(luò)( Software Defined network,SDN)的技術(shù),如OpenFlow。Cinder則加強(qiáng)了區(qū)塊( Block)與磁盤(pán)區(qū)( Volume)的儲(chǔ)存能力。 [2] (7)Grizly——2013年4月Open Stack基金會(huì)發(fā)布的第七個(gè)版本。 Grizzly新增近230個(gè)新功能,涉及計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)和共享服務(wù)等方面。例如 Open Stack計(jì)算虛擬化-計(jì)算使用“Cells”管理分布式集群,使用“NoDB”主機(jī)架構(gòu),以減少對(duì)中央數(shù)據(jù)庫(kù)的依賴。 [2] (8) Havana——2013年10月 Open Stack基金會(huì)發(fā)布的第八個(gè)版本。 Havana除了增加Open Stack Metering( Ceilometer)和 Open Stack Orchestration(Heat)兩個(gè)新組件外,還完成了400多個(gè)特性計(jì)劃,修補(bǔ)了3000多補(bǔ)丁。 [2] (9) Icehouse——2014年4月 Open Stack基金會(huì)發(fā)布的第九個(gè)版本。新版本提高了項(xiàng)目的穩(wěn)定性與成熟度,提升用戶體驗(yàn)的一致性,特別是針對(duì)存儲(chǔ)方面。聯(lián)合身份驗(yàn)證將允許用戶通過(guò)相同認(rèn)證信息同時(shí)訪問(wèn) Open Stack私有云與共有云。新項(xiàng)目 Trove( DB as a service)現(xiàn)在已經(jīng)成為版本中的組成部分,它允許用戶在 Open Stack環(huán)境中管理關(guān)系數(shù)據(jù)庫(kù)服務(wù)。 [2] (10)Juno——2014年10月 OpenStack基金會(huì)發(fā)布的第十個(gè)版本。新增包括圍繞 Hadoop和 Spark集群管理和監(jiān)控的自動(dòng)化服務(wù)和支持軟件開(kāi)發(fā)、大數(shù)據(jù)分析和大規(guī)模應(yīng)用架構(gòu)在內(nèi)的342個(gè)功能點(diǎn),標(biāo)志著 Open Stack正向大范圍支持的成熟云平臺(tái)快速前進(jìn)。自 Openstack項(xiàng)目成立以來(lái),超過(guò)200個(gè)公司加入了該項(xiàng)目,其中包括AT&T、AMD、 Cisco、Dell、IBM、 Intel、 Red hat等。目前參與 Openstack項(xiàng)目的開(kāi)發(fā)人員有17000,來(lái)自139個(gè)國(guó)家,這一數(shù)字還在不斷增長(zhǎng)中。來(lái)自咨詢機(jī)構(gòu) Forrester的分析表示, OpenStack已經(jīng)逐步成為事實(shí)上( de facto)的基礎(chǔ)架構(gòu)云(IaaS)標(biāo)準(zhǔn)。 [2] 3、發(fā)展趨勢(shì) 盡管 Open Stack從誕生到現(xiàn)在已經(jīng)變得日漸成熟,基本上已經(jīng)能夠滿足云計(jì)算用戶的大部分的需求。但隨著云計(jì)算技術(shù)的發(fā)展, Open Stack必然也需要不斷地完善。Open Stack已經(jīng)逐漸成為市場(chǎng)上主流的一個(gè)云計(jì)算平臺(tái)解決方案。結(jié)合業(yè)界的一般觀點(diǎn)和調(diào)查中關(guān)于 Open Stack用戶的意見(jiàn), Open Stack需要完善的部分大體上可以歸納為以下幾個(gè)方面: [3] (1)增強(qiáng)動(dòng)態(tài)遷移:雖然 Open Stack的Nova組件支持動(dòng)態(tài)遷移,但實(shí)質(zhì)上 Open Stack尚未實(shí)現(xiàn)真正意義上的動(dòng)態(tài)遷移。在 Open Stack中因?yàn)闆](méi)有共存儲(chǔ)只能做塊遷移,共享遷移只能在有共享存儲(chǔ)的情況下才被使用。 [3] (2)數(shù)據(jù)安全:安全問(wèn)題一直是整個(gè)云計(jì)算行業(yè)的問(wèn)題,盡管 Open Stack中存在對(duì)用戶身份信息的驗(yàn)證等安全措施,甚至劃分出可以單獨(dú)或合并表征安全信任等級(jí)的域,但隨著用戶需求的變化和發(fā)展,安全問(wèn)題仍然不可小覷。 [3] (3)計(jì)費(fèi)和數(shù)據(jù)監(jiān)控:隨著 Open Stack在公有云平臺(tái)中的進(jìn)一步部署,計(jì)費(fèi)和監(jiān)控成為公有云運(yùn)營(yíng)中的一個(gè)重要環(huán)節(jié)。云平臺(tái)的管理者和云計(jì)算服務(wù)的提供者必然會(huì)進(jìn)一步開(kāi)發(fā)Open Stack的商業(yè)價(jià)值。盡管 Open Stack中已經(jīng)有 Ceilometer計(jì)量組件,通過(guò)它提供的API接口可以實(shí)現(xiàn)收集云計(jì)算里面的基本數(shù)據(jù)和其他信息,但這項(xiàng)工程目前尚處于完善和測(cè)試階段,還需要大量的技術(shù)人員予以維護(hù)和支持。 [3] 4、工作流程 Open Stack的各個(gè)服務(wù)之間通過(guò)統(tǒng)一的REST風(fēng)格的API調(diào)用,實(shí)現(xiàn)系統(tǒng)的松耦合。它內(nèi)部組件的工作過(guò)程是一個(gè)有序的整體。諸如計(jì)算資源分配、控制調(diào)度、網(wǎng)絡(luò)通信等都通過(guò)AMQP實(shí)現(xiàn)。 Open Stack的上層用戶是程序員、一般用戶和 Horizon界面等模塊。這三者都是采用 Open Stack各個(gè)組件提供的API接口進(jìn)行交互,而它們之間則是通過(guò)AMQP進(jìn)行互相調(diào)用,它們共同利用底層的虛擬資源為上層用戶和程序提供云計(jì)算服務(wù)。 [3] 5、管理流程 OpenStack既然是一個(gè)開(kāi)源的云平臺(tái)項(xiàng)目,它的主要任務(wù)是給用戶提供IaaS服務(wù)。 [3] QEMU QEMU是一個(gè)純軟件的計(jì)算機(jī)硬件仿真器。通過(guò)單獨(dú)運(yùn)行QEMU來(lái)模擬物理計(jì)算機(jī),具有非常靈活和可移植的特點(diǎn),利用它能夠達(dá)到使用軟件取代硬件的效果。 [3] 一般情況下,OpenStack可以部署在Ubuntu的Linux操作系統(tǒng)上,為了進(jìn)一步提高QEMU的運(yùn)行效率,往往會(huì)增加一個(gè)KVM硬件加速模塊。KVM內(nèi)嵌在Linux操作系統(tǒng)內(nèi)核之中,能夠直接參與計(jì)算機(jī)硬件的調(diào)度,這一點(diǎn)是QEMU所不具備的。一般的QEMU程序的執(zhí)行必然要經(jīng)過(guò)程序從用戶態(tài)向內(nèi)核態(tài)的轉(zhuǎn)變,這必然會(huì)在一定程度上降低效率。所以QEMU雖然能夠通過(guò)轉(zhuǎn)換對(duì)硬件進(jìn)行訪問(wèn),但在OpenStack中往往采用KVM進(jìn)行輔助,使得OpenStack的性能表現(xiàn)得更為良好。 [3] 但需要說(shuō)明的是KVM需要良好的硬件支持,有些硬件本身如果不支持虛擬化的時(shí)候,KVM則不能使用。 [3] Libvirt Libvirt是一個(gè)開(kāi)源的、支持Linux下虛擬化工具的函數(shù)庫(kù)。實(shí)質(zhì)上它就是為構(gòu)建虛擬化管理工具的API函數(shù)。Libvirt是為了能夠更方便地管理平臺(tái)虛擬化技術(shù)而設(shè)計(jì)的開(kāi)放源代碼的應(yīng)用程序接口,它不僅提供了對(duì)虛擬化客戶機(jī)的管理,也提供了對(duì)虛擬化網(wǎng)絡(luò)和存儲(chǔ)的管理。 [3] 最初的 Libvirt是只針對(duì)Xen而設(shè)計(jì)的一系列管理和調(diào)度Xen下的虛擬化資源的API函數(shù),目前高版本的 Libvirt可以支持多種虛擬化方案,包括KVM、QEMU、Xen、 VMware、 VirtualBox等在內(nèi)的平臺(tái)虛擬化方案,又支持 Openvz、LXC等 Linux容器虛擬化系統(tǒng),還支持用戶態(tài)Linux(UML)的虛擬化,它能夠?qū)μ摂M化方案中的Hypervisor進(jìn)行適配,讓底層 Hypervisor對(duì)上層用戶空間的管理工具可以做到完全透明。 [3] 6、核心項(xiàng)目 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)目。每個(gè)項(xiàng)目都有自己的委員會(huì)和項(xiàng)目技術(shù)主管,而且每個(gè)項(xiàng)目都不是一成不變的,孵化項(xiàng)目可以根據(jù)發(fā)展的成熟度和重要性,轉(zhuǎn)變?yōu)楹诵捻?xiàng)目。截止到Icehouse版本,下面列出了10個(gè)核心項(xiàng)目(即OpenStack服務(wù))。 [1] 1、計(jì)算(Compute):Nova。一套控制器,用于為單個(gè)用戶或使用群組管理虛擬機(jī)實(shí)例的整個(gè)生命周期,根據(jù)用戶需求來(lái)提供虛擬服務(wù)。負(fù)責(zé)虛擬機(jī)創(chuàng)建、開(kāi)機(jī)、關(guān)機(jī)、掛起、暫停、調(diào)整、遷移、重啟、銷(xiāo)毀等操作,配置CPU、內(nèi)存等信息規(guī)格。自Austin版本集成到項(xiàng)目中。 [1] 2、對(duì)象存儲(chǔ)(Object Storage):Swift。一套用于在大規(guī)??蓴U(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)目中。 [1] 3、鏡像服務(wù)(Image Service):Glance。一套虛擬機(jī)鏡像查找及檢索系統(tǒng),支持多種虛擬機(jī)鏡像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有創(chuàng)建上傳鏡像、刪除鏡像、鏡像基本信息的功能。自Bexar版本集成到項(xiàng)目中。 [1] 4、身份服務(wù)(Identity Service):Keystone。為OpenStack其他服務(wù)提供身份驗(yàn)證、服務(wù)規(guī)則和服務(wù)令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到項(xiàng)目中。 [1] 5、網(wǎng)絡(luò)&地址管理(Network):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)目中。 [1] 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)目中。 [1] 7、UI 界面 (Dashboard):Horizon。OpenStack中各種服務(wù)的Web管理門(mén)戶,用于簡(jiǎn)化用戶對(duì)服務(wù)的操作,例如:?jiǎn)?dòng)實(shí)例、分配IP地址、配置訪問(wèn)控制等。自Essex版本集成到項(xiàng)目中。 [1] 8、測(cè)量 (Metering):Ceilometer。像一個(gè)漏斗一樣,能把OpenStack內(nèi)部發(fā)生的幾乎所有的事件都收集起來(lái),然后為計(jì)費(fèi)和監(jiān)控以及其它服務(wù)提供數(shù)據(jù)支撐。自Havana版本集成到項(xiàng)目中。 [1] 9、部署編排 (Orchestration):Heat。提供了一種通過(guò)模板定義的協(xié)同部署方式,實(shí)現(xiàn)云基礎(chǔ)設(shè)施軟件運(yùn)行環(huán)境(計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源)的自動(dòng)化部署。自Havana版本集成到項(xiàng)目中。 [1] 10、數(shù)據(jù)庫(kù)服務(wù)(Database Service):Trove。為用戶在OpenStack的環(huán)境提供可擴(kuò)展和可靠的關(guān)系和非關(guān)系數(shù)據(jù)庫(kù)引擎服務(wù)。自Icehouse版本集成到項(xiàng)目中。 [1] 參考資料 1、許豪主編.云計(jì)算導(dǎo)論.西安電子科技大學(xué)出版社.2015.12.第124頁(yè) 2、劉黎明,楊晶主編;王娟,屠曉云,蔣占生,張磊,岳小冰,郭春璐副主編.云計(jì)算應(yīng)用基礎(chǔ).西南交通大學(xué)出版社.2015.01.第250頁(yè) 3、韓璞主編;陳可副主編;劉黎明主審.技術(shù)原理與實(shí)戰(zhàn).西安電子科技大學(xué)出版社.2016.04.第22頁(yè) 學(xué)術(shù)論文內(nèi)容來(lái)自 李小寧,李磊,金連文,黎德生. 基于OpenStack構(gòu)建私有云計(jì)算平臺(tái).《CNKI》,2012Antonio Corradi等. VM consolidation: A real case based on OpenStack Cloud.《Elsevier Science Publishers B. V.》,2014Sefraoui等. OpenStack: Toward an Open-Source Solution for Cloud Computing.《International Journal of Computer Applications》,2012Xiaolong Wen等. Comparison of open-source cloud management platforms: OpenStack and OpenNebula.《IEEE》,2012Antonio等. VM consolidation: A real case based on OpenStack Cloud.《EBSCO_bsp》,2014 該文章在 2024/12/11 10:02:51 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |