云計算導(dǎo)論大作業(yè)_第1頁
云計算導(dǎo)論大作業(yè)_第2頁
云計算導(dǎo)論大作業(yè)_第3頁
云計算導(dǎo)論大作業(yè)_第4頁
云計算導(dǎo)論大作業(yè)_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于OpenStack的云計算數(shù)據(jù)中心管理系統(tǒng)的設(shè)計與開發(fā) 南 陽 理 工 學(xué) 院 本科生畢業(yè)設(shè)計(論文)學(xué)院(系): 軟件學(xué)院 專 業(yè): 云計算3班 學(xué) 生: 王帥 指導(dǎo)教師: 陳可 完成日期: 2017 年 04 月南陽理工學(xué)院本科生課程設(shè)計報告基于OpenStack的云計算數(shù)據(jù)中心管理系統(tǒng)的設(shè)計與開發(fā)Design and development of cloud computing data center management system based on OpenStack總 計:畢業(yè)設(shè)計(論文) 57頁表 格: 2個插 圖: 67幅南 陽 理 工 學(xué) 院 本 科 畢 業(yè) 設(shè) 計(論

2、文)基于OpenStack的云計算數(shù)據(jù)中心管理系統(tǒng)的設(shè)計與開發(fā)Design and development of cloud computing data center management system based on OpenStack學(xué) 院(系): 軟件學(xué)院 專 業(yè): 云計算 學(xué) 生 姓 名: 王帥 學(xué) 號: 1515925717 指導(dǎo)教師(職稱): 陳可 講師 評 閱 教 師: 單平平 完 成 日 期: 2017年04月01日 南陽理工學(xué)院Nanyang Institute of Technology摘 要云計算是網(wǎng)格計算、分布式計算、并行計算、效用計算、聯(lián)機存儲技術(shù)、虛擬化、負載均

3、衡等一系列傳統(tǒng)計算機技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。它旨在通過網(wǎng)絡(luò)將多個成本低廉的計算實體整合成一個大型計算資源池,并借助SaaS、PaaS、IaaS等服務(wù)模式,將強大的計算能力分發(fā)到終端用戶手中。云計算的核心理念就是通過不斷提高“云”端處理能力,減輕用戶負擔,將一系列的IT能力以服務(wù)形式提供給用戶,簡化用戶終端的處理負擔,最終使用戶成為一個單純的輸入/輸出設(shè)備,享受“云”提供的強大計算處理及服務(wù)能力。OpenStack是一個開源的云計算項目和工具集,并且提供了關(guān)于基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案。OpenStack具有建設(shè)這樣資源池的能力,通過OpenStack的各種組件多種模式的排列組合

4、,可以搭建成各種規(guī)模的“云”,這些云可以是私有云、公有云、混合云。本文首先介紹了云計算的背景及其相關(guān)技術(shù),并深入了解OpenStack的架構(gòu)和其各種服務(wù),掌握各種服務(wù)實現(xiàn)原理,以及探討OpenStack如何實現(xiàn)對云計算數(shù)據(jù)中心的管理,最后動手搭建OpenStack云平臺和嘗試對功能的擴展。由于OpenStack云計算平臺在國內(nèi)的研究起步較晚,在安裝部署過程中會出現(xiàn)若干問題。本文就出現(xiàn)的問題加以匯總并給出解決方法,可以在安裝部署OpenStack時提供參考。Abstract Cloud computing is the product of the integration of traditio

5、nal computer technology and network technology, such as grid computing, distributed computing, parallel computing, utility computing, online storage technology, virtualization, load balancing and so on. It aims to integrate a number of low-cost computing entities through the network into a large poo

6、l of computing resources, and with the help of SaaS, PaaS, IaaS and other service models, will be distributed to the end of the powerful computing power. The core idea of cloud computing is that by improving the "cloud" end treatment ability, reduce the burden of the users, a series of IT

7、capabilities in the form of service to users, simplify the processing burden on the user terminal, the user becomes a simple input / output devices, enjoy the "cloud" provides powerful computing and service ability. OpenStack is an open source cloud computing project and toolset, and provi

8、des solutions for infrastructure as a service (IaaS). OpenStack has the ability to build such a pool of resources, through the various components of a variety of modes of OpenStack combination, can be built into all kinds of large-scale "cloud", these clouds can be a private cloud, hybrid

9、cloud, Gong Youyun. This paper first introduces the background of cloud computing and related technologies, and in-depth understanding of the structure of OpenStack and its various services, implementation of the principle of mastering all kinds of services, and discusses how to realize the OpenStac

10、k of cloud computing data center management, finally to build OpenStack cloud platform and attempts to extend the function of. Due to the late start of the domestic research on OpenStack cloud computing platform, there will be some problems in the process of installation and deployment. This paper s

11、ummarizes the problems and gives solutions, which can provide reference when installing OpenStack. 目 錄第一章 緒論61.1 openstack背景與意義61.2什么是openstack?61.3國內(nèi)外發(fā)展現(xiàn)狀121.4論文組織結(jié)構(gòu)14第二章 IaaS及關(guān)鍵技術(shù)相關(guān)介紹152.1 Iaas概述152.2 IaaS的基本抽象模型152.3IaaS技術(shù)架構(gòu)152.4 IaaS關(guān)鍵技術(shù)介紹182.4.1 虛擬化技術(shù)182.4.2 KVM與QEMU182.4.3 數(shù)據(jù)存儲技術(shù)192.4.4 資源管理技術(shù)

12、202.4.5 能耗管理技術(shù)202.5 本章小結(jié)21第三章 OpenStack相關(guān)介紹213.1 OpenStack簡介213.2 OpenStack核心項目223.3 OpenStack內(nèi)容詳解233.4 OpenStack構(gòu)建私有云243.5服務(wù)中心243.5.1概述243.5.2系統(tǒng)構(gòu)成253.5.3服務(wù)內(nèi)容253.5.4服務(wù)體驗253.5.5服務(wù)價值263.6 本章小結(jié)26第四章 OpenStack云管理平臺的搭建264.1 單節(jié)點安裝部署OpenStack264.1.1 實驗環(huán)境及實驗拓展264.1.2 構(gòu)建過程274.2 云平臺搭建主要過程和問題解決284.2.1 Keystone

13、的安裝與問題分析284.2.2 Glance的安裝與問題分析294.2.3 Cinder的安裝與問題分析304.2.4 Nova和Quantum的安裝與問題分析314.2.5 Horizon的安裝與問題分析354.3 openstack G版本安裝354.4 OpenStack計費系統(tǒng)的研究474.4.1 OpenStack計費系統(tǒng)的設(shè)計與實現(xiàn)484.4.2 計費系統(tǒng)的計費機制494.4.3 計費系統(tǒng)的扣費方法504.4.4 計費系統(tǒng)的安全檢查504.4.5 計費系統(tǒng)與資源監(jiān)控系統(tǒng)的交互504.4.6 計費系統(tǒng)的數(shù)據(jù)處理504.4.7 計費系統(tǒng)功能的設(shè)計524.5 本章小結(jié)54結(jié)束語55致 謝

14、56參考文獻57 第一章 緒論1.1 openstack背景與意義 人類社會從蒸汽機進入了工業(yè)時代,又從電的時期進入了現(xiàn)代文明,從計算機互聯(lián)網(wǎng)進入了地球村的時代。那么,云時代的到來會是怎樣一番情景?云計算被認為是繼個人電腦、互聯(lián)網(wǎng)之后電子信息技術(shù)領(lǐng)域的又一次重大的變革,其實質(zhì)是一種基于互聯(lián)網(wǎng)的計算模式,在這樣的模式下,計算資源(計算能力、存儲能力、交互能力)是動態(tài)、可伸縮且虛擬化的,以服務(wù)的方式提供。這種新型的計算資源組織、分配和使用模式,有利于合理配置計算資源并提高其利用率,降低成本,促進節(jié)能減排,實現(xiàn)了綠色計算,這更切合了我國經(jīng)濟轉(zhuǎn)型的發(fā)展戰(zhàn)略。OpenStack作為一個開源的云計算平臺,

15、吸引了眾多一流廠商的加入,這些機構(gòu)與個人都將OpenStack作為基礎(chǔ)設(shè)施即服務(wù)(IaaS)資源的通用前端1.2什么是openstack? OpenStack是一個定位于IaaS(Infrastructure as a Service),旨在為公共及私有云的建設(shè)與管理提供軟件的開源項目。自2010年發(fā)布的第一個A版本,就按照英文字母排序的規(guī)律進行版本發(fā)布,截至目前已經(jīng)發(fā)布了12個主要版本,現(xiàn)在穩(wěn)定為每6個月發(fā)布一次大的版本更新。在搜索OpenStack時,會在各種百科中出現(xiàn)這樣一個解釋:OpenStack是一個美國國家航空航天局(NASA)和Rackspace合作研發(fā)的開源云端運算軟件?!癗A

16、SA”、“Rackspace”、“開源”這些組合的出現(xiàn)讓筆者頓時對OpenStack的歷史產(chǎn)生了濃厚的興趣。所以準備在學(xué)習(xí)OpenStack之前先發(fā)揚八卦精神,碼一碼他們之間的關(guān)系,也讓枯燥的學(xué)習(xí)生活增加一絲樂趣。項目起源時間回到2010年,當時的云計算場景是這樣的,亞馬遜的AWS穩(wěn)坐大當家的地位,Ubuntu選擇了Eucalyptus,Redhat放棄Xen選擇了kvm(直接集成在Linux內(nèi)核中)。在IaaS方面有這么幾家:Cloudstack(雙license)、Eucalyptus(雙license)、Nebula(NASA的云平臺)、Rackspace Cloud service。當

17、時NASA已經(jīng)在云計算領(lǐng)域投入了大量的資金,使用了很多Eucalyptus的代碼。他們在該平臺上進行了很多深度開發(fā),最后放棄了該平臺,據(jù)說是NASA的工程師試圖獲取更多的Eucalyptus 代碼,但是失敗了,因為這個平臺只是開放部分的源碼。最初的問題僅僅是擴展性問題,這也是大部分產(chǎn)品最初都會遇到的問題,但是Eucalyptu與NASA的裂痕發(fā)展到無法挽回的地步,卻是因為NASA發(fā)現(xiàn)Eucalyptus不愿向該項目提供解決擴展性問題的代碼,即便是該項目并未與Eucalyptus Systems Inc(Eucalyptus幕后的實體公司)造成利益沖突。Eucalyptus幕后公司維護著部分代碼

18、,這些代碼關(guān)系到商業(yè)版Eucalyptus Enterprise Edition(E3)的諸多特性,例如管理、SAN集成、更為出色的后臺數(shù)據(jù)庫以及與VMware的兼容性,這些功能對公司而言,既不可能也不愿意開源。索性NASA的工程師就用Python開發(fā)了Nova,在2010年4月開始籌備OpenStack。2010年7月NASA貢獻了自己的云計算管理平臺Nova代碼,聯(lián)合了當時第二大云計算廠商Rackspace(貢獻了對象存儲代碼,也就是后來的Swift)發(fā)起了OpenStack開源項目。從此開始便開啟了OpenStack的開源進程。當時在OpenStack項目上約定了幾個原則:項目全部由Py

19、thon語言開發(fā);虛擬機默認使用Kvm;項目進行松耦合設(shè)計;使用GitHub進行代碼管理;使用Launchpad進行項目管理;3個月迭代一個版本(后來改為6個月)舉辦開發(fā)峰會產(chǎn)業(yè)鏈條設(shè)計(更多公司的加入,讓開源項目更為蓬勃的發(fā)展)版本演進 在OpenStack中最重要三個部分:控制、計算、網(wǎng)絡(luò)。從這個版本演進的表格中可以看到,這里面項目的變化情況一直在遵循著某些規(guī)律,可以歸納出一些特點。松耦合的設(shè)計思路貫穿始終。從剛開始的Nova+Swift,慢慢對Nova進行松耦合處理。D版本中Keystore項目的建立,讓Swift和Nova有了聯(lián)系;F版本中Cinder和Quantum成為co

20、re項目,希望逐步代替Nova volume和Nova network;I版本增加的Trove數(shù)據(jù)庫服務(wù),Bare Metal(Ironic)。這種松耦合模式讓OpenStack更加靈活,并且可以讓多廠商進行開發(fā),也保證了OpenStack作為開源項目能夠得到支持從而很快發(fā)展。網(wǎng)絡(luò)功能優(yōu)化越來越成為重點。網(wǎng)絡(luò)功能的加入源自第二個版本,最初作為Nova項目的一個功能Nova network,僅支持所有用戶共享一個底層網(wǎng)絡(luò),也就是所說的扁平化網(wǎng)絡(luò)。然而Nova network網(wǎng)絡(luò)功能不盡如人意。D版本Cisco推動Quantum項目,Quantum逐漸從擺設(shè)慢慢壯大到和Nova network抗衡

21、直至逐漸成為OpenStack的標配。隨著Quantum改名Neutron,Neutron+Linux bridge、Neutron+OVS、OVS硬件化,讓網(wǎng)絡(luò)能力逐漸豐富和提升。SDN和NFV技術(shù)的強力接入,也為OpenStack的網(wǎng)絡(luò)性能增加了強勁動力。下面把OpenStack中網(wǎng)絡(luò)功能的演進進行了一番歸納。 容器技術(shù)的強勢加入。從OpenStack誕生之日起,Kvm由于其原生于Linux內(nèi)核的高性能將老牌Xen擋在門外,不過Docker技術(shù)的盛行,Kvm和Docker又面臨著新的戰(zhàn)斗,并且Nova Docker、Heat Docker、Magnum技術(shù)讓OpenStack和D

22、ocker更好結(jié)合進行試驗,最新的Kuryr項目讓Docker網(wǎng)絡(luò)功能更加優(yōu)秀。1.3國內(nèi)外發(fā)展現(xiàn)狀最近,新浪云計算宣布正式加入全球開源云計算項目OpenStack,將選擇OpenStack作為IaaS平臺解決方案。作為OpenStack中國的積極推動者,這在很大程度上將推動OpenStack云開源代碼項目的發(fā)展。更值得高興的是,中國企業(yè)UnitedStack現(xiàn)已推出了基于OpenStack的云計算服務(wù),這充分說明了OpenStack的存在價值。通過,可以了解到目前人們對一些開源云計算項目的關(guān)注趨勢。Rackspace以O(shè)penStack為基礎(chǔ)的私有云業(yè)務(wù)每年7億美元,增長率超過20%。因此,

23、在開源云計算項目領(lǐng)域,OpenStack早已嶄露頭角,如圖 1.1所示,它成為了當今最熱門的開源項目之一。Eucalyptus 是最早試圖克隆AWS的開源IaaS云平臺,整體架構(gòu)如圖1的左半部分所示。Eucalyptus由云控制器(CLC)、Walrus、集群控制器 (CC)、存儲控制器(SC)和節(jié)點控制器(NC)組成,它們相互協(xié)作共同提供所需的云服務(wù)。組件間使用支持WS-Security的SOAP消息實現(xiàn)安 全的通信。Eucalyptus對外提供兼容AWS的SOAP和Query接口,不提供其他API。OpenNebula沒有采用SOA的設(shè)計,沒有將計算、存儲和網(wǎng)絡(luò)設(shè)計為獨立組件,解耦做得還不

24、夠。值得注意的是,OpenNebula用 Libvirt所提供的接口遠程調(diào)用計算節(jié)點上的虛擬化控制命令。這種Agentless的設(shè)計在系統(tǒng)安裝部署階段會減少很多軟件安裝配置工作,是一個設(shè)計亮點。所有的開源IaaS云平臺在分層上做得都比較好;在SOA/組件化/解耦這點上來看,OpenStack和Eucalyptus有優(yōu)勢;在框架和插件設(shè)計上,除Eucalyptus較差外,其他平臺均有很好的設(shè)計OpenStack的開發(fā)平臺做得最好,CloudStack次 之。綜合來看,目前OpenStack的設(shè)計是最好的,Eucalyptus和CloudStack次之。相比開源項目的“前輩”,OpenStack是

25、一個更高級且現(xiàn)代化的開源項目,因為它是高度協(xié)作的產(chǎn)物。OpenStack的支持者都是世界頂級的供應(yīng)商,可以看出OpenStack倍受青睞,可以說它是開源界的明星產(chǎn)品。目前,例如VMware、RedHat、Cisco、EMC等各供應(yīng)商,都表示對其支持。圖1.1 OpenStack與其它開源云計算項目的趨勢對比相比之下,OpenStack項目從最開始就發(fā)展開放社區(qū),其直接結(jié)果是,OpenStack里聚集了比CloudStack更多的主流供應(yīng)商。在大多數(shù)情況下,這些廠商開發(fā)的組件第一時間提供給OpenStack,之后才為CloudStack提供接口1。OpenStack也有不夠完善的地方,如Open

26、Stack相對于CloudStack來說更加復(fù)雜,對終端用戶的支持不夠;在安裝部署上不如CloudStack便捷;在界面顯示方面也不如CloudStack豐富。Amazon 公司于2006年推出的云計算服務(wù)(AWS,Amazon Web Services)核心產(chǎn)品包括彈性計算云EC2(Elastic Computing Cloud)、簡單存儲服務(wù)S3(Simple Storage Service)、簡單隊列服務(wù) SQS(Simple Queue Service)、內(nèi)容推送服務(wù)(CloudFront)和簡單數(shù)據(jù)庫服務(wù)(SimpleDB)等,為企業(yè)提供計算和存儲服務(wù)。Amazon 公司收費的服務(wù)項

27、目包括存儲空間、帶寬、CPU資源以及月租費。其中存儲空間、帶寬按容量收費,CPU 根據(jù)運算時長收費,月租費則與電話月租費類似9。Google 是最大的云計算技術(shù)使用者,提供全球知名的互聯(lián)網(wǎng)搜索引擎服務(wù)。Google 搭建了一個稱為Google App Engine的云平臺,為第三方應(yīng)用提供大型并行計算服務(wù)。更值得一提的是,Google 于2007秋季在全球宣布了云計劃,通過與 IBM 開展合作,開始在美國多所大學(xué),包括卡內(nèi)基美隆大學(xué)、麻省理工學(xué)院等,推廣云計算技術(shù)。這項計劃希望通過為這些大學(xué)提供相關(guān)的軟硬件設(shè)備及技術(shù)支援,能降低分布式計算技術(shù)在學(xué)術(shù)研究方面的成本,并且使得學(xué)生可以透過網(wǎng)絡(luò)開展各

28、項以大規(guī)模計算為基礎(chǔ)的研究計劃13。IBM于2007年第四季度推出了“Blue Cloud(藍云)”云計算平臺,提供即買即用的云計算服務(wù)3?!八{云”使用具有自我管理和自我修復(fù)的虛擬化云計算軟件,使得用戶的應(yīng)用可以訪問分布式的大型計算服務(wù)器池。2008年8月1日,IBM宣布斥資3.6億美元在美國北卡羅來納州建立云計算數(shù)據(jù)中心。IBM 同時還將在東京建立一所新的機構(gòu),幫助用戶使用云計算基礎(chǔ)設(shè)施。另外,IBM亦與17個歐洲組織合作開展 RESERVOIR 云計算項目,實現(xiàn) “無障礙的資源和服務(wù)虛擬化”。 微軟于2008年10月推出了Windows Azure操作系統(tǒng),Azure底層是微軟全球基礎(chǔ)服務(wù)

29、系統(tǒng),由分布于全球的第四代數(shù)據(jù)中心組成,通過互聯(lián)網(wǎng)讓 Windows 真正由PC延伸到云計算服務(wù)上。目前,微軟的云計算系統(tǒng)已經(jīng)包括超過 220個集裝箱式數(shù)據(jù)中心和多達44萬臺的服務(wù)器。1.4論文組織結(jié)構(gòu)本篇論文共分五章,主要內(nèi)容概括如下:第一章緒論。簡單介紹云計算的研究背景、意義以及論文的組織結(jié)構(gòu)。第二章IaaS及關(guān)鍵技術(shù)相關(guān)介紹。這一章介紹了IaaS的概述、IaaS服務(wù)特征及優(yōu)勢。同時,介紹了IaaS服務(wù)器虛擬化,IaaS存儲虛擬化、IaaS網(wǎng)絡(luò)虛擬化這三大虛擬化的實現(xiàn)原理。第三章OpenStack相關(guān)介紹。這一章首先介紹了OpenStack的概念架構(gòu)和訪問流程對OpenStack的整體運行

30、原理有一個大致的了解,之后詳細介紹了OpenStack的三大服務(wù):認證服務(wù)(Keystone)、計算服務(wù)(Nova)、網(wǎng)絡(luò)服務(wù)(Neutron)。第四章OpenStack云管理平臺的搭建。這部分是具有挑戰(zhàn)性的,從基礎(chǔ)環(huán)境的配置開始,完成之后開始安裝各種軟件包,每安裝一個軟件包后都要進行詳細的配置文件的修改。另外,還對計費模塊進行了初步研究。最后是結(jié)束語。 第二章 IaaS及關(guān)鍵技術(shù)相關(guān)介紹2.1 Iaas概述基礎(chǔ)設(shè)施即服務(wù)(IaaS)交付給用戶的是基本的基礎(chǔ)設(shè)施資源。用戶無需購買,維護硬件設(shè)備和相關(guān)系統(tǒng)軟件,就可以直接在該層上構(gòu)建自己的平臺和應(yīng)用。基礎(chǔ)設(shè)施向用戶提供虛擬化的計算資源,存儲資源,

31、網(wǎng)絡(luò)資源和安全防護等。這些資源能夠根據(jù)用戶的需求動態(tài)地分配。支撐該服務(wù)的技術(shù)體系主要包括虛擬化技術(shù)和相關(guān)的資源動態(tài)管理與調(diào)度技術(shù)。2.2 IaaS的基本抽象模型從圖2-2中可以看出,首先對IT基礎(chǔ)設(shè)施進行資源池化(Pooling),即通過整合樹立IT基礎(chǔ)設(shè)施,采取相應(yīng)技術(shù)形成動態(tài)資源池。第二,對資源池的各種資源進行管理,諸如調(diào)度,監(jiān)控,計量等,為服務(wù)打下基礎(chǔ)。第三,交付給用戶可用的服務(wù)包,服務(wù)層一般是用戶通過網(wǎng)絡(luò)訪問統(tǒng)一的服務(wù)界面,按照服務(wù)目錄提供的相關(guān)服務(wù)包來選擇并獲取所需的服務(wù)。管理層IaaS服務(wù)的核心思想是以產(chǎn)品的形式向用戶交付各種能力,而這些能力直接來自各種資源池,因此IaaS的技動態(tài)

32、資源層術(shù)構(gòu)架對于資源化,產(chǎn)品設(shè)計與封裝以及產(chǎn)品交付等方面有一定要求。 圖2-2 IaaS的抽象模型 2.3IaaS技術(shù)架構(gòu)在IaaS的技術(shù)架構(gòu)中,通過采用資源池構(gòu)建,資源調(diào)度,服務(wù)封裝等手段,可以將IT資源迅速轉(zhuǎn)變?yōu)榭山桓兜腎T服務(wù),從而實現(xiàn)Iaas云的按需自服務(wù),資源池化,快速擴展和服務(wù)可度量。一般來講,基礎(chǔ)設(shè)施即服務(wù)(IaaS)的總體技術(shù)架構(gòu)主要分為資源層,虛擬化層,管理層和服務(wù)層四層架構(gòu)。存儲網(wǎng)絡(luò)其他服務(wù)層資源層為了有效地交付IaaS,服務(wù)提供商首先需要搭建和部署擁有海量資源的資源地。當獲取用戶的需求后,服務(wù)提供商從資源池中選取用戶所需的處理器,內(nèi)存,磁盤,網(wǎng)絡(luò)等資源,并將這些資源組織成

33、虛擬服務(wù)器提供給用戶。在資源池層,服務(wù)提供商通過使用虛擬化技術(shù),將各種物理資源抽象為能夠被上層使用的虛擬化資源,以屏蔽底層硬件差異的影響,提高資源的利用率。在資源管理層,服務(wù)提供商利用資源管理軟件根據(jù)用戶的需求對基礎(chǔ)資源層的各種資源進行有效的組織,以構(gòu)成用戶需求的服務(wù)器硬件平臺。在使用IaaS時,用戶看到的就是一臺能夠通過網(wǎng)絡(luò)訪問的服務(wù)器。在這臺服務(wù)器上,用戶可以根據(jù)自己的實際需要安裝軟件,而不必關(guān)心該服務(wù)器底層硬件的實現(xiàn)細節(jié),也無需控制底層的硬件資源。但是,用戶需要對操作系統(tǒng),系統(tǒng)軟件和應(yīng)用軟件進行部署和管理。1) 資源層資源層位于架構(gòu)的最底層,主要包含數(shù)據(jù)中心所有的物理設(shè)備,如硬件服務(wù)器,

34、網(wǎng)絡(luò)設(shè)備,存儲設(shè)備等其他設(shè)備,在云平臺中,位于資源層中的資源不是獨立的物理設(shè)備個體,而是將所有的資源形象地集中在“池”中,組成一個集體的資源池,因此,資源層中的所有資源都將以池化的概念出現(xiàn)。這種匯總或池化不是物理上的,只是概念上的,便于IaaS管理人員對資源池中的各種資源進行統(tǒng)一的,集中的運維和管理,并且可以按照需求隨意地進行組合,形成一定規(guī)模的計算資源或者計算能力。其中,資源層中的主要資源包括計算資源,存儲和網(wǎng)絡(luò)資源。2) 虛擬化層虛擬化位于資源層之上,按照用戶或者業(yè)務(wù)的需求,從池化資源中選擇資源并打包,從而形成不同規(guī)模的計算資源,也就是常說的虛擬機。虛擬化層主要包含服務(wù)器虛擬化,存儲器虛擬

35、化和網(wǎng)絡(luò)虛擬化等虛擬化技術(shù),虛擬化技術(shù)是IaaS架構(gòu)中的核心技術(shù),是實現(xiàn)IaaS架構(gòu)的基礎(chǔ)。服務(wù)器虛擬化能夠?qū)⒁慌_物理服務(wù)器虛擬成多臺虛擬服務(wù)器,供多個用戶同時使用,并開通過虛擬服務(wù)器進行隔離封裝來保證其安全性,從而達到改善資源的利用率的目的。服務(wù)器虛擬化的實現(xiàn)依賴處理器虛擬化,內(nèi)存虛擬化和I/O設(shè)備虛擬化等硬件資源虛擬化技術(shù)。存儲虛擬化將各個分散的存儲系統(tǒng)進行整合和統(tǒng)一管理,并提供了方便用戶調(diào)用資源的接口。存儲虛擬化能夠為后續(xù)的系統(tǒng)擴容提供便利,使資源規(guī)模動態(tài)擴大時無需考慮新增的物理存儲資源之間可能存在的差異。網(wǎng)絡(luò)虛擬化可以滿足在服務(wù)器虛擬化應(yīng)用過程中產(chǎn)生的新的網(wǎng)絡(luò)需求。服務(wù)器虛擬化使每臺虛

36、擬服務(wù)器都要擁有自己的虛擬網(wǎng)卡設(shè)備才能進行網(wǎng)絡(luò)通信,運行在同一臺物理服務(wù)器上的虛擬服務(wù)器的網(wǎng)絡(luò)流量則統(tǒng)一經(jīng)由物理網(wǎng)卡輸入/輸出。網(wǎng)絡(luò)虛擬化能夠為每臺虛擬服務(wù)器提供專屬的虛擬網(wǎng)絡(luò)設(shè)備和虛擬網(wǎng)絡(luò)通路。同時,還可以利用虛擬交換機等網(wǎng)絡(luò)虛擬化技術(shù)提供更加靈活的虛擬組網(wǎng)。虛擬化資源管理的目的是將系統(tǒng)中所有的虛擬硬件資源“池”化,實現(xiàn)海量資源的同一管理,動態(tài)擴放,以及對用戶進行按需配合。同時,虛擬化資源管理技術(shù)還需要為虛擬化資源的可用性,安全性,可靠性提供保障。3) 管理層管理層位于虛擬化層之上,主要對下面的資源層進行統(tǒng)一的運維和管理,包括收集資源的信息,了解每種資源的運行狀態(tài)和性能情況,選擇如何借助虛擬

37、化技術(shù)選擇,打包不同的資源,以及如何保證打包后的計算資源-虛擬化的高可用性或者如何實現(xiàn)負載均衡等。通過資源層,一方面可以了解虛擬化層和資源層的運行情況和計算資源的對外提供情況,另一方面,管理層可以保證虛擬化層和資源層的穩(wěn)定,可靠,從而為最上層的服務(wù)層打下堅實的基礎(chǔ)。4) 服務(wù)層 服務(wù)層位于整體架構(gòu)的最上層,主要面向用戶提供使用管理層,虛擬化層以及資源層的能力。 基于動態(tài)云方案構(gòu)建的云計算包含了完善的自服務(wù)系統(tǒng),為平臺上的客戶提供7*24小時資源支持,并可在線提交服務(wù)請求,與客戶直接溝通。自服務(wù)平臺首先提供服務(wù)的自由選擇,用戶可以根據(jù)實際業(yè)務(wù)的需求選擇不同的服務(wù)套餐,同時自服務(wù)系統(tǒng),用戶可以遠程

38、管理和維護已購買的產(chǎn)品和服務(wù)。 另外,對所有基于資源層,虛擬化層,管理層,但又不限于這幾層資源的運維和管理任務(wù),將被包含在服務(wù)層中。這些任務(wù)在面對不同的企業(yè),業(yè)務(wù)時往往有很大的差別,其中包含比較的自定義,個性化因素。例如,用戶賬號管理,虛擬機權(quán)限設(shè)定等各類服務(wù)。以上4層的結(jié)構(gòu)是IaaS架構(gòu)中的基礎(chǔ)部分,只有將以上內(nèi)容規(guī)劃好的才能為服務(wù)層提供良好的支撐。2.4 IaaS關(guān)鍵技術(shù)介紹2.4.1 虛擬化技術(shù)虛擬化技術(shù)(Virtualization)已經(jīng)對計算機發(fā)展產(chǎn)生了重要的影響,尤其是最近發(fā)展非常熱門的云計算技術(shù)。其實,在計算機領(lǐng)域,虛擬化的思想早已經(jīng)存在,最早 IBM 在二十世紀六十年代就提出并

39、實現(xiàn)了在一臺物理機上運行多個不同的操作系統(tǒng)實例,它顛覆了傳統(tǒng)的一臺計算機運行一個操作系統(tǒng)實例的計算模式。多個操作系統(tǒng)運行在一個物理機上,共享物理機資源(CPU 資源、內(nèi)存資源、網(wǎng)絡(luò)資源、存儲資源等)3。隨著計算機硬件資源的不斷快速發(fā)展,現(xiàn)有的很多軟件已不能充分的利用計算機硬件的資源存在很多的資源浪費現(xiàn)象。虛擬化技術(shù)的出現(xiàn),提高了物理機或者服務(wù)器的硬件資源的利用率,充分地利用了硬件所提供的并行性和高性能,也使系統(tǒng)管理員免去了管理大量物理機的所花費的精力和時間。虛擬化技術(shù)的這些特點,使得虛擬化技術(shù)成為整個計算機軟件技術(shù)中最受到重視的技術(shù)之一,它在云計算技術(shù)中起著至關(guān)重要的作用,是云計算技術(shù)的基礎(chǔ)。

40、 虛擬化就是通過脫耦合把應(yīng)用軟件和在其上的虛擬的操作系統(tǒng)與底層的物理設(shè)備分離開來。物理機系統(tǒng)的虛擬化究其根本就是通過某種手段把底層的物理設(shè)備和其上的軟件運行環(huán)境分割的技術(shù)。然而虛擬化技術(shù)的出現(xiàn),遠遠不止于虛擬出虛擬的操作系統(tǒng),現(xiàn)在已經(jīng)看到了,內(nèi)存,網(wǎng)絡(luò),CPU,文件,存儲等的虛擬化。從一種更高的抽象、一個更廣泛的環(huán)境中來了解虛擬化技術(shù),它實際上已經(jīng)成為了一個非常大的概念,可以為用戶企業(yè)帶來很大的便利。虛擬化技術(shù)主要實現(xiàn)了對底層物理資源的抽象,使其成為一個個可以被靈活生成、調(diào)度、管理的基礎(chǔ)資源單位,如圖2.2。而要將這些資源進行有效的整合,從而生成一個可以統(tǒng)一管理、靈活分配跳讀、動態(tài)遷移、計費度

41、量的基礎(chǔ)服務(wù)設(shè)施資源池,并向用戶提供自動化基礎(chǔ)設(shè)施即服務(wù),就需要IaaS管理平臺。資源管理平臺負責(zé)對物理資源和虛擬化資源進行統(tǒng)一的管理和調(diào)度,形成統(tǒng)一的資源池,實現(xiàn)IaaS服務(wù)的可管、可控,其核心是對每個基礎(chǔ)資源單位的生命周期管理能力和對資源的管理調(diào)度能力。2.4.2 KVM與QEMUKVM虛擬機是基于Linux內(nèi)核虛擬化,自Linux2.6.2之后就集成在Linux的各個主要發(fā)行版本中。它使用Linux自身的調(diào)度器進行管理,所以相對于Xen,其核心源碼很少。KVM的虛擬化需要硬件的支持(如Intel VT技術(shù)或者AMD V圖2.2虛擬化架構(gòu)技術(shù)),是基于硬件的完全虛擬化。而Xen早期則是基于

42、軟件模擬的para-virtualization,新版本是基于硬件支持的完全虛擬化3。QEMU是一種模擬處理器,現(xiàn)在運用最多的就是將KVM和QEMU結(jié)合起來。準確來說,KVM是Linux kernel的一個模塊,可以用命令modprobe去加載KVM模塊13。加載了該模塊后,才能進一步通過工具創(chuàng)建虛擬機。但是僅有KVM模塊是不夠的。因為用戶無法直接控制內(nèi)核去做事情,還必須有一個運行在用戶空間的工具才行。這個用戶空間的工具,KVM開發(fā)者選擇了已經(jīng)成型的開源虛擬化軟件QEMU。說起來QEMU也是一個虛擬化軟件。它的特點是可虛擬不同的CPU。比如說在x86的CPU上可虛擬一個power的CPU,并可

43、利用它編譯出可運行在power上的CPU,并可利用它編譯出可運行在power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用戶空間工具了。所以你會看到,官方提供的KVM下載有兩大部分(QEMU和KVM)三個文件(KVM模塊、QEMU工具以及二者的合集)。也就是說,你可以只升級KVM模塊,也可以只升級QEMU工具。這就是KVM和QEMU 的關(guān)系,如圖2.3。2.4.3 數(shù)據(jù)存儲技術(shù)為保證高可用、高可靠和經(jīng)濟性,云計算采用分布式存儲的方式來存儲數(shù)據(jù),采用冗余存儲的方式來保證存儲數(shù)據(jù)的可靠性,即為同一份數(shù)據(jù)存儲多個副本。另外,云計算系統(tǒng)需要同時滿足大量用戶的需求,并行地為大

44、量用戶提供服務(wù)。圖2.3 KVM與QEMU關(guān)系因此,云計算的數(shù)據(jù)存儲技術(shù)必須具有高吞吐率和高傳輸率的特點。 云計算的數(shù)據(jù)存儲技術(shù)主要有谷歌的非開源的 GFS(Google File System)和Hadoop 開發(fā)團隊開發(fā)的 GFS 的開源實現(xiàn) HDFS(Hadoop Distributed File System)。大部分 IT 廠商,包括 Yahoo、Intel 的“云”計劃采用的都是 HDFS 的數(shù)據(jù)存儲技術(shù)。未來的發(fā)展將集中在超大規(guī)模的數(shù)據(jù)存儲、數(shù)據(jù)加密和安全性保證、以及繼續(xù)提高 I/O速率等方面4。2.4.4 資源管理技術(shù)在多節(jié)點并發(fā)執(zhí)行環(huán)境,分布式資源管理系統(tǒng)是保證系統(tǒng)狀態(tài)正確性

45、的關(guān)鍵技術(shù)。系統(tǒng)狀態(tài)需要在多節(jié)點之間同步,關(guān)鍵節(jié)點出現(xiàn)故障時需要遷移服務(wù),分布式資源管理技術(shù)通過鎖機制協(xié)調(diào)多任務(wù)對于資源的使用,從而保證數(shù)據(jù)操作的一致性。典型的資源管理技術(shù)如Google公司的 Chubby文件系統(tǒng)。2.4.5 能耗管理技術(shù)隨著云計算的快速發(fā)展,如今云服務(wù)的推出使許多中小企業(yè)用戶轉(zhuǎn)而向云計算服務(wù)提供商訂購云計算服務(wù)。而這類云服務(wù)大多是安裝在主機托管服務(wù)提供商所擁有的大型數(shù)據(jù)中心。那么,關(guān)于數(shù)據(jù)中心的能耗問題便成了數(shù)據(jù)中心管理者最關(guān)心的問題。處理的能耗是服務(wù)能耗的主要組成部分之一,大型的云計算數(shù)據(jù)中心有可能擁有數(shù)百、上萬甚至更多的服務(wù)器,這些云平臺中數(shù)量眾多的基礎(chǔ)資源構(gòu)件對于電力

46、的消耗也是非常巨大的,這將直接影響數(shù)據(jù)中心的運營成本。因此如何在云計算數(shù)據(jù)中心部署良好的、持續(xù)的電源供應(yīng)系統(tǒng)倍受用戶關(guān)注。Google的數(shù)據(jù)中心一般選擇在人煙稀少、氣候寒冷、水電資源豐富的地區(qū),這些地點的電價、散熱成本、場地成本、人力成本等都遠低于人口稠密的大都市。我國三大電信運營商也效仿 Google 的做法,選擇在哈爾濱等地建設(shè)數(shù)據(jù)中心4。 另外,為滿足更多的網(wǎng)絡(luò)服務(wù)需求,降低能耗,減少數(shù)字媒體下載量,可采用減少數(shù)字垃圾、進行策略性的界面設(shè)計、提高使用意識以及避開使用高峰期等措施。2.5 本章小結(jié)本章主要是對IaaS和云計算平臺實現(xiàn)的關(guān)鍵技術(shù)的介紹,其中包括了IaaS的定義、優(yōu)勢及架構(gòu),充

47、分說明了IaaS在云平臺中的地位與作用。虛擬化技術(shù)對于云計算平臺來說是最重要的,本章還就對最終要的虛擬化技術(shù)展開了介紹,包含了關(guān)鍵的KVM和QEMU。 第三章 OpenStack相關(guān)介紹3.1 OpenStack簡介 OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發(fā)并發(fā)起的,以Apache許可證授權(quán)的自由軟件和開放源代碼項目。 OpenStack是一個開源的云計算管理平臺項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項目目標是提供實施簡單、可大規(guī)模擴展、豐富、標準統(tǒng)一的云計算管理平臺。OpenStack通過各種互補的

48、服務(wù)提供了基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案,每個服務(wù)提供API以進行集成。 OpenStack是一個旨在為公共及私有云的建設(shè)與管理提供軟件的開源項目。它的社區(qū)擁有超過130家企業(yè)及1350位開發(fā)者,這些機構(gòu)與個人都將OpenStack作為基礎(chǔ)設(shè)施即服務(wù)(IaaS)資源的通用前端。OpenStack項目的首要任務(wù)是簡化云的部署過程并為其帶來良好的可擴展性。本文希望通過提供必要的指導(dǎo)信息,幫助大家利用OpenStack前端來設(shè)置及管理自己的公共云或私有云。 OpenStack云計算平臺,幫助服務(wù)商和企業(yè)內(nèi)部實現(xiàn)類似于 Amazon EC2 和 S3 的云基礎(chǔ)架構(gòu)服務(wù)(Infrastructur

49、e as a Service, IaaS)。OpenStack 包含兩個主要模塊:Nova 和 Swift,前者是 NASA 開發(fā)的虛擬服務(wù)器部署和業(yè)務(wù)計算模塊;后者是 Rackspace開發(fā)的分布式云存儲模塊,兩者可以一起用,也可以分開單獨用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,還有包括 Dell、Citrix、 Cisco、 Canonical等重量級公司的貢獻和支持,發(fā)展速度非???,有取代另一個業(yè)界領(lǐng)先開源云平臺 Eucalyptus 的態(tài)勢。3.2 OpenStack核心項目 OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個方面。它是一

50、個正在開發(fā)中的云計算平臺項目,根據(jù)成熟及重要程度的不同,被分解成核心項目、孵化項目,以及支持項目和相關(guān)項目。每個項目都有自己的委員會和項目技術(shù)主管,而且每個項目都不是一成不變的,孵化項目可以根據(jù)發(fā)展的成熟度和重要性,轉(zhuǎn)變?yōu)楹诵捻椖?。截止到Icehouse版本,下面列出了10個核心項目(即OpenStack服務(wù))。 計算(Compute):Nova。一套控制器,用于為單個用戶或使用群組管理虛擬機實例的整個生命周期,根據(jù)用戶需求來提供虛擬服務(wù)。負責(zé)虛擬機創(chuàng)建、開機、關(guān)機、掛起、暫停、調(diào)整、遷移、重啟、銷毀等操作,配置CPU、內(nèi)存等信息規(guī)格。自Austin版本集成到項目中。 對象存儲(Object

51、Storage):Swift。一套用于在大規(guī)??蓴U展系統(tǒng)中通過內(nèi)置冗余及高容錯機制實現(xiàn)對象存儲的系統(tǒng),允許進行存儲或者檢索文件??蔀镚lance提供鏡像存儲,為Cinder提供卷備份服務(wù)。自Austin版本集成到項目中 鏡像服務(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ī)

52、則和服務(wù)令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到項目中。 網(wǎng)絡(luò)&地址管理(Network):Neutron。提供云計算的網(wǎng)絡(luò)虛擬化技術(shù),為OpenStack其他服務(wù)提供網(wǎng)絡(luò)連接服務(wù)。為用戶提供接口,可以定義Network、Subnet、Router,配置DHCP、DNS、負載均衡、L3服務(wù),網(wǎng)絡(luò)支持GRE、VLAN。插件架構(gòu)支持許多主流的網(wǎng)絡(luò)廠家和技術(shù),如OpenvSwitch。自Folsom版本集成到項目中。 塊存儲 (Block Storage):Cinder。為運行實例提供穩(wěn)定的數(shù)據(jù)塊存儲服務(wù),它的插件驅(qū)動架構(gòu)

53、有利于塊設(shè)備的創(chuàng)建和管理,如創(chuàng)建卷、刪除卷,在實例上掛載和卸載卷。自Folsom版本集成到項目中。 UI 界面 (Dashboard):Horizon。OpenStack中各種服務(wù)的Web管理門戶,用于簡化用戶對服務(wù)的操作,例如:啟動實例、分配IP地址、配置訪問控制等。自Essex版本集成到項目中。 測量 (Metering):Ceilometer。像一個漏斗一樣,能把OpenStack內(nèi)部發(fā)生的幾乎所有的事件都收集起來,然后為計費和監(jiān)控以及其它服務(wù)提供數(shù)據(jù)支撐。自Havana版本集成到項目中。 部署編排 (Orchestration):Heat2  。提供了一種通過模板定

54、義的協(xié)同部署方式,實現(xiàn)云基礎(chǔ)設(shè)施軟件運行環(huán)境(計算、存儲和網(wǎng)絡(luò)資源)的自動化部署。自Havana版本集成到項目中。 數(shù)據(jù)庫服務(wù)(Database Service):Trove。為用戶在OpenStack的環(huán)境提供可擴展和可靠的關(guān)系和非關(guān)系數(shù)據(jù)庫引擎服務(wù)。自Icehouse版本集成到項目中。3.3 OpenStack內(nèi)容詳解 創(chuàng)建虛擬機(VM)需要各種服務(wù)的交互和配合工作。下圖展示了OpenStack典型環(huán)境架構(gòu),各個服務(wù)之間的交互和職能。 OpenStack典型環(huán)境架構(gòu) OpenStack因Open而開放,因組件而靈活,因包容而博大。有計算、網(wǎng)絡(luò)、對象存儲、塊存儲、身份、鏡像服務(wù)、門戶、測量、

55、部署編排、數(shù)據(jù)庫服務(wù)等等組件,有的組件可以根據(jù)需要選擇安裝,組網(wǎng)結(jié)構(gòu)也很靈活、多樣。實現(xiàn)了支持接入多種主流虛擬機軟件:KVM、LXC、QEMU、Hyper-V、VMware、XenServer,也可以自行開發(fā)插件接入其他的虛擬化軟件。 OpenStack Compute (Nova)是一套控制器,用于為單個用戶或使用群組啟動虛擬機實例。它同樣能夠用于為包含著多個實例的特定項目設(shè)置網(wǎng)絡(luò)。OpenStack Compute在公共云處理方面堪與Amazon EC2相提并論;而在私有云方面也毫不遜色于VMware的產(chǎn)品。在公共云中,這套管理機制將提供預(yù)制的鏡像或是為用戶創(chuàng)建的鏡像提供存儲機制,這樣用戶就能夠?qū)㈢R像以虛擬機的形式啟動。 OpenStack 對象存儲(Swift)是一套用于在大規(guī)模可擴展系統(tǒng)中通過內(nèi)置冗余及容錯機制實現(xiàn)對象存儲的系統(tǒng)。這些對象能夠通過一個REST API或是像Cyberduck這樣可以對接對象存儲API的客戶端加以恢復(fù)。 OpenStack鏡像服務(wù) (Glance)是一套虛擬機鏡像查找及檢索系統(tǒng)。它能夠以三種形式加以配置:利用OpenStack對象存儲機制來存儲鏡像;利用Amazon的簡單存儲解決方案(簡稱S3)直接存儲信息;或者將S3存儲與對象存儲結(jié)合起來,作為S3訪問的連接器。OpenStac

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論