OpenStack云計算管理平臺項目教程完整版ppt整本書教學(xué)教程最全電子教案最新_第1頁
OpenStack云計算管理平臺項目教程完整版ppt整本書教學(xué)教程最全電子教案最新_第2頁
OpenStack云計算管理平臺項目教程完整版ppt整本書教學(xué)教程最全電子教案最新_第3頁
OpenStack云計算管理平臺項目教程完整版ppt整本書教學(xué)教程最全電子教案最新_第4頁
OpenStack云計算管理平臺項目教程完整版ppt整本書教學(xué)教程最全電子教案最新_第5頁
已閱讀5頁,還剩291頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、OpenStack云計算管理平臺項目教程高等職業(yè)技術(shù)教育計算機相關(guān)專業(yè)目錄項目1 OpenStack云計算基礎(chǔ)1.1項目陳述1.2必備知識1.3項目實施【學(xué)習(xí)目標(biāo)】 了解云計算的起源以及云計算的基本概念。 理解虛擬化技術(shù)的基本概念以及OpenStack所支持的虛擬化技術(shù)。 了解OpenStack的起源以及版本演變。 理解OpenStack的架構(gòu)。 掌握VMware Workstation以及虛擬機的安裝方法。項目1OpenStack云計算基礎(chǔ)OpenStack是云操作系統(tǒng),用于部署云計算平臺,學(xué)習(xí)OpenStack首先需要了解云計算的基本知識,理解相關(guān)理論與概念。在本書開始編寫之時,OpenS

2、tack已經(jīng)發(fā)布了自己的第21個版本,即Ussuri版,而距OpenStack發(fā)布第1個版本Austin項目也才僅僅10年,可見OpenStack的發(fā)展是非常迅速的,當(dāng)然它的發(fā)展離不開各大廠商的支持,也受當(dāng)前社會經(jīng)濟發(fā)展驅(qū)動,下面我們就開始揭開神秘的OpenStack的面紗。1.1項目陳述1.2.1 云計算概述云計算提供的計算機資源服務(wù)是與水、電、煤氣和電話類似的公共資源的服務(wù)。亞馬遜云計算服務(wù)(Amazon Web Services,AWS)是提供專業(yè)的云計算服務(wù),于2006年推出,以Web服務(wù)的形式向企業(yè)提供IT基礎(chǔ)設(shè)施服務(wù),通常稱為云計算,其主要優(yōu)勢之一是能夠以根據(jù)業(yè)務(wù)發(fā)展來擴展較低可變

3、成本來替代前期資本基礎(chǔ)設(shè)施費用,它已成為公有云的事實標(biāo)準(zhǔn),而OpenStack是開源云計算管理平臺的一面旗幟,也已經(jīng)成為開源云架構(gòu)的事實標(biāo)準(zhǔn)。1.2必備知識1.云計算的起源圖1.1 云計算的演變 1959年克里斯托弗斯特雷奇(Christopher Strachey)提出虛擬化的基本概念,2006年3月,亞馬遜公司首先提出彈性計算云服務(wù),2006年8月,Google首席執(zhí)行官埃里克施密特(Eric Schmidt)在搜索引擎大會首次提出“云計算(Cloud Computing)”的概念,從那時候起,云計算開始受到關(guān)注,這也標(biāo)志著云計算的誕生。2010年工信部聯(lián)合發(fā)改委聯(lián)合印發(fā)關(guān)于做好云計算服務(wù)

4、創(chuàng)新發(fā)展試點示范工作的通知,到2015年工信部關(guān)于印發(fā)云計算綜合標(biāo)準(zhǔn)化體系建設(shè)指南的通知,云計算由最初的美好愿景到概念落地,目前已經(jīng)進入到廣泛應(yīng)用階段。 云計算經(jīng)歷了集中時代向網(wǎng)絡(luò)時代轉(zhuǎn)變,最終向分布式時代轉(zhuǎn)換,在分布式基礎(chǔ)之上形成了云時代,如圖1.1所示。2.云計算的基本概念 相信讀者都聽到過阿里云、華為云、百度云、騰訊云等,那么到底什么是云計算?云計算又能做什么呢?云計算(cloud computing)是一種基于網(wǎng)絡(luò)的超級計算模式,基于用戶的不同需求提供所需要的資源,包括計算資源、網(wǎng)絡(luò)資源、存儲資源等。云計算服務(wù)通常運行在若干臺高性能物理服務(wù)器之上,提供每秒10萬億次的運算能力,可以用來

5、模擬核爆炸、預(yù)測氣候變化以及市場發(fā)展趨勢等。(1)云計算的定義。云計算將計算任務(wù)分布在大量計算機構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計算力、存儲空間和各種軟件服務(wù),這種資源池稱為“云”?!霸啤笔且恍┛梢宰晕揖S護和管理的虛擬計算資源,通常為一些大型服務(wù)器集群,包括計算服務(wù)器、存儲服務(wù)器、寬帶資源等,云計算將所有的計算資源集中起來,并由軟件實現(xiàn)自動管理,無需人為參與。之所以稱為“云”,是因為它在某些方面具有現(xiàn)實中云的特征:云一般都較大;云的規(guī)??梢詣討B(tài)伸縮,它的邊界是模糊的;云在空中飄忽不定,你無法也無需確定它的具體位置,但它確實存在于某處。2.云計算的基本概念云計算有狹義和廣義之分。狹

6、義上講,“云”實質(zhì)上就是一個網(wǎng)絡(luò),云計算就是一種提供資源的網(wǎng)絡(luò),包括硬件、軟件和平臺,使用者可以隨時獲取“云”上的資源,按需求量使用,并且可以看成是無限擴展的,只要按使用量付費就可以,云都可以提供,“云”就像自來水廠一樣,我們可以隨時接水,并且不限量,按照自己家的用水量,付費給自來水廠就可以,在用戶看來,水的資源是無限的。廣義上說,云計算是與信息技術(shù)、軟件、互聯(lián)網(wǎng)相關(guān)的一種服務(wù),是通過網(wǎng)絡(luò)以按需、易擴展的方式獲得所需要的服務(wù),這種計算資源共享池叫做“云”,云計算把許多計算資源集合起來,通過軟件實現(xiàn)自動化管理,只需要很少的人參與,就能讓資源被快速提供。也就是說,計算能力作為一種商品,可以在互聯(lián)網(wǎng)

7、上流通,就像水、電、煤氣一樣,可以方便地取用,且價格較為低廉,這種服務(wù)可以是與IT和軟件、互聯(lián)網(wǎng)相關(guān)的,也可以是任意其他的服務(wù)。 2.云計算的基本概念總之,云計算不是一種全新的網(wǎng)絡(luò)技術(shù),而是一種全新的網(wǎng)絡(luò)應(yīng)用概念,云計算的核心概念就是以互聯(lián)網(wǎng)為中心,在網(wǎng)站上提供快速且安全的云計算服務(wù)與數(shù)據(jù)存儲,讓每一個使用互聯(lián)網(wǎng)的人都可以使用網(wǎng)絡(luò)上的龐大計算資源與數(shù)據(jù)中心。云計算是繼互聯(lián)網(wǎng)、計算機之后信息時代一種新的革新,云計算是信息時代的一個巨大飛躍,未來的時代可能是云計算的時代,雖然目前有關(guān)云計算的定義有很多,但總體上來說,云計算雖然有許多的含義,但概括來說,云計算的基本含義是一致的,即云計算具有很強的擴

8、展性和需要性,可以為用戶提供一種全新的體驗,云計算的核心是可以將很多的計算機資源協(xié)調(diào)在一起,因此,使用戶通過網(wǎng)絡(luò)就可以獲取到無限的資源,同時獲取的資源不受時間和空間的限制。2.云計算的基本概念(2)云計算的服務(wù)模式。云計算的服務(wù)模式由3部分組成,包括基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)、平臺即服務(wù)(Platform as a Service,PaaS)和軟件即服務(wù)(Software as a Service,SaaS),如圖1.2所示。圖1.2 云計算的服務(wù)模式2.云計算的基本概念基礎(chǔ)設(shè)施即服務(wù)IaaS。什么是基礎(chǔ)設(shè)施呢?服務(wù)器,硬盤,網(wǎng)絡(luò)帶寬,交

9、換機等等物理設(shè)備都是基礎(chǔ)設(shè)施。云計算廠商購買服務(wù)器、硬盤、網(wǎng)絡(luò)設(shè)施等等,搭建基礎(chǔ)服務(wù)。我們便可以在云平臺根據(jù)需求購買相應(yīng)的計算能力內(nèi)存空間,磁盤空間大小,網(wǎng)絡(luò)帶寬大小,搭建自己的云計算平臺。這類云計算服務(wù)提供商典型的代表便是阿里云、騰訊云、華為云等。優(yōu)點:能夠根據(jù)業(yè)務(wù)需求靈活配置所需,擴展伸縮方便。缺點:開發(fā)維護需要投入較多人力,專業(yè)性要求較高。平臺即服務(wù)PaaS。什么是平臺呢?平臺你可以理解成中間件,這類云計算廠商在基礎(chǔ)設(shè)施上進行開發(fā),搭建操作系統(tǒng),提供一套完整的應(yīng)用解決方案。開發(fā)大多數(shù)所需中間件服務(wù),比如Mysql數(shù)據(jù)庫服務(wù)、RocketMQ服務(wù)等等,無需深度開發(fā),專注業(yè)務(wù)代碼即可。典型的

10、代表便是Pivatol Clound Foundary、Google App Engine等。優(yōu)點:無需開發(fā)中間件,所需及所用,能夠快速使用。部署快速,減少人力投入。缺點:靈活通用性較低,過度依賴平臺。2.云計算的基本概念軟件即服務(wù)SaaS。軟件及服務(wù)是大多數(shù)人每天都接觸到的,比如辦公OA系統(tǒng)、騰訊公眾號平臺,SaaS可直接通過互聯(lián)網(wǎng)為用戶提供軟件和應(yīng)用程序的服務(wù),用戶通過租賃的方式獲取安裝在廠商或者服務(wù)供應(yīng)商那里的軟件。雖然這些服務(wù)是用于商用或者娛樂,但是它也屬于云計算的一部分,一般面向?qū)ο笫瞧胀ㄓ脩?,最常見的模式是提供用戶一組賬號和密碼。優(yōu)點:所見即所得,無需開發(fā)。缺點:需定制,無法快速滿

11、足個性化需求。IaaS主要是對應(yīng)基礎(chǔ)設(shè)施,可實現(xiàn)底層資源虛擬化以及實際云應(yīng)用平臺部署,這是一個網(wǎng)絡(luò)架構(gòu)由規(guī)劃架構(gòu)到最終物理實現(xiàn)的過程;PaaS基于IaaS技術(shù)和平臺,部署終端用戶使用的應(yīng)用或程序,提供對外服務(wù)的接口或者服務(wù)產(chǎn)品,最終實現(xiàn)整個平臺的管理和平臺的可伸縮化;SaaS基于現(xiàn)成的PaaS的基礎(chǔ),作為終端用戶的最后接觸產(chǎn)品,完成現(xiàn)有資源的對外服務(wù)以及服務(wù)的租賃化。2.云計算的基本概念(3)云計算的部署類型。公有云:在此種模式下,應(yīng)用程序、資源、存儲和其他服務(wù),都由云服務(wù)供應(yīng)商來提供給用戶,這些服務(wù)多半都是免費的,也有部分按需按使用量來付費,這種模式只能使用互聯(lián)網(wǎng)來訪問和使用。同時,這種模式

12、在私人信息和數(shù)據(jù)保護方面也比較有保證。這種部署模型通常都可以提供可擴展的云服務(wù)并能高效設(shè)置。私有云:這種云基礎(chǔ)設(shè)施專門為某一個企業(yè)服務(wù),不管是自己管理還是第三方管理,自己負(fù)責(zé)還是第三方托管,都沒有關(guān)系。只要使用的方式?jīng)]有問題,就能為企業(yè)帶來很顯著的幫助。不過這種模式所要面臨的是,糾正、檢查等安全問題則需企業(yè)自己負(fù)責(zé),否則出了問題也只能自己承擔(dān)后果,此外,整套系統(tǒng)也需要自己出錢購買、建設(shè)和管理。這種云計算模式可廣泛的產(chǎn)生正面效益,從模式的名稱也可看出,它可以為所有者提供具備充分優(yōu)勢和功能的服務(wù)?;旌显疲夯旌显剖莾煞N或兩種以上的云計算模式的混合體,如公有云和私有云混合。他們相互獨立,但在云的內(nèi)部又

13、相互結(jié)合,可以發(fā)揮出混合的多種云計算模型各自的優(yōu)勢,使用標(biāo)準(zhǔn)的或?qū)S械募夹g(shù)將它們組合起來,具有數(shù)據(jù)和應(yīng)用程序的可移植性。2.云計算的基本概念(4)云計算的生態(tài)系統(tǒng)。云計算的生態(tài)系統(tǒng)主要涉及硬件、軟件、服務(wù)、網(wǎng)絡(luò)和安全5個方面,如圖1.3所示。硬件。云計算相關(guān)硬件包括服務(wù)器、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備、數(shù)據(jù)中心成套裝備以及提供和使用云服務(wù)的終端設(shè)備。軟件。云計算相關(guān)軟件主要包括資源調(diào)度和管理系統(tǒng)、云平臺軟件和應(yīng)用軟件等。服務(wù)。服務(wù)包括云服務(wù)和面向云計算系統(tǒng)建設(shè)應(yīng)用的云支撐服務(wù)。網(wǎng)絡(luò)。云計算具有泛在網(wǎng)絡(luò)訪問特性,用戶無論通過電信網(wǎng)、互聯(lián)網(wǎng)或廣播電視網(wǎng),都能夠使用云服務(wù)。安全。云安全涉及服務(wù)可用性、數(shù)據(jù)機密

14、性和完整性、隱私保護、物理安全、惡意攻擊防范等諸多方面,是影響云計算發(fā)展的關(guān)鍵因素之一。2.云計算的基本概念圖1.3 云計算的生態(tài)系統(tǒng)1.2.2虛擬化技術(shù) 虛擬化是指為運行的程序或軟件營造它所需要的執(zhí)行環(huán)境,在采用虛擬化技術(shù)后,程序或軟件的運行不再獨享底層的物理計算資源,它只是運行在一個完全相同的物理計算資源中,而底層的影響可能與之前所運行的計算機結(jié)構(gòu)完全不同。虛擬化的主要目的是對IT基礎(chǔ)設(shè)施和資源管理方式的簡化。虛擬化的消費者可以是最終用戶、應(yīng)用程序、操作系統(tǒng)、訪問資源或與資源交互相關(guān)的其他服務(wù)。虛擬化是云計算的基礎(chǔ),虛擬化使得在一臺物理服務(wù)器上可以運行多臺虛擬機,虛擬機共享物理機的CPU、

15、內(nèi)存、I/O硬件資源,但邏輯上虛擬機之間是相互隔離的。IaaS是基礎(chǔ)架構(gòu)設(shè)施平臺,可實現(xiàn)底層資源虛擬化,云計算、OpenStack都離不開虛擬化的內(nèi)容,因為虛擬化是云計算重要的支撐技術(shù)之一。OpenStack作為IaaS云操作系統(tǒng),最主要的服務(wù)就是為用戶提供虛擬機,在目前OpenStack實際應(yīng)用中,主要使用KVM和Xen這兩種Linux虛擬化技術(shù)。1.2必備知識1虛擬化的基本概念 (1)虛擬化定義。虛擬化就是把物理資源轉(zhuǎn)變?yōu)檫壿嬌峡梢怨芾淼馁Y源,以打破物理結(jié)構(gòu)之間的壁壘,是在虛擬而不是真實的環(huán)境中運行,是一個為了簡化管理、優(yōu)化資源的解決方案。所有的資源都透明地運行在各種各樣的物理平臺上,資源

16、的管理都將按邏輯方式進行,完全實現(xiàn)資源的自動化分配,而虛擬化技術(shù)就是實現(xiàn)它的理想工具。虛擬化前。一臺主機對應(yīng)一個操作系統(tǒng),后臺多個應(yīng)用程序會對特定的資源進行爭搶,存在相互沖突的風(fēng)險;在實際情況下業(yè)務(wù)系統(tǒng)與硬件進行綁定,不能靈活部署;就數(shù)據(jù)的統(tǒng)計來說,虛擬化前的系統(tǒng)資源利用率一般只有15%左右。虛擬化后。一臺主機可以虛擬出多個操作系統(tǒng),獨立的操作系統(tǒng)和應(yīng)用擁有獨立的CPU、內(nèi)存和I/O資源,相互隔離;業(yè)務(wù)系統(tǒng)獨立于硬件,可以在不同的主機之間進行遷移;充分利用系統(tǒng)資源,對機器的系統(tǒng)資源利用率可以達(dá)到60%。1虛擬化的基本概念(2)虛擬化體系結(jié)構(gòu)。虛擬化主要是指通過軟件實現(xiàn)的方案,常見的虛擬化體系結(jié)

17、構(gòu),如圖1.4所示。這是一個直接在物理主機上運行虛擬機管理程序的虛擬化系統(tǒng)。在X86平臺虛擬化技術(shù)中,這個虛擬機管理程序通常被稱為虛擬機監(jiān)控器(Virtual Machine Monitor,VMM),又稱為Hypervisor。它是運行在物理機和虛擬機之間的一個軟件層,物理機被稱為主機(Host),虛擬機被稱為客戶機(Client),中間軟件層即Hypervisor。圖1.4 虛擬化體系結(jié)構(gòu)1虛擬化的基本概念主機。指物理存在的計算機,又稱宿主計算機。當(dāng)虛擬機嵌套時,運行虛擬機的虛擬機也是宿主機,但不是物理機。主機操作系統(tǒng)是指宿主計算機的操作系統(tǒng),在主機操作系統(tǒng)上安裝的虛擬機軟件可以在計算機模

18、擬一臺或多臺虛擬機。虛擬機。指在物理計算機上運行的操作系統(tǒng)中模擬出來的計算機,又稱客戶機,理論上完全等同于實體的物理計算機,每個虛擬機都可以安裝自己的操作系統(tǒng)或應(yīng)用程序,并連接網(wǎng)絡(luò),運行在虛擬機的操作系統(tǒng)稱為客戶操作系統(tǒng)。Hypervisor基于主機的硬件資源給虛擬提供了一個虛擬的操作平臺并管理每個虛擬機的運行,所有虛擬機獨立運行并共享主機的所有硬件資源,Hypervisor就是提供虛擬機硬件模擬的專門軟件,可分為兩類:原生型和宿主型。原生型(Native)。原生型又稱為裸機型(Bare-metal),Hypervisor作為一個精簡的操作系統(tǒng)(操作系統(tǒng)也是軟件,只不過它是一個比較特殊的軟件)

19、直接運行在硬件之上以控制硬件資源并管理虛擬機,比較常見的有VMware ESXi、Microsoft Hyper-V等。宿主型(Hosted)。宿主型又稱托管型,Hypervisor運行在傳統(tǒng)的操作系統(tǒng)之上,同樣可以模擬出一整套虛擬硬件平臺,比較著名的有VMware Workstation、Oracle Virtual Box等。從性能角度來看,無論原生型還是宿主型都會有性能損耗,但宿主型比原生型的損耗更大,所以企事業(yè)生產(chǎn)環(huán)境中基本使用的是原生型Hypervisor,宿主型的Hypervisor一般用于實驗或測試環(huán)境中。1虛擬化的基本概念(3)虛擬化分類。虛擬化分類包括平臺虛擬化、資源虛擬化、

20、應(yīng)用程序虛擬化等。平臺虛擬化(Platform Virtualization),它是針對計算機和操作系統(tǒng)的虛擬化,又分成服務(wù)器虛擬化和桌面虛擬化。1、服務(wù)器虛擬化是一種通過區(qū)分資源的優(yōu)先次序,并將服務(wù)器資源分配給最需要它們的工作負(fù)載的虛擬化模式,它通過減少為單個工作負(fù)載峰值而儲備的資源來簡化管理和提高效率。如微軟的Hyper-V、Citrix的XenServer、VMware的ESXi。2、桌面虛擬化是為提高人對計算機的操控力,降低計算機使用的復(fù)雜性,為用戶提供更加方便適用的使用環(huán)境的一種虛擬化模式。如微軟的Remote Desktop Services、Citrix的XenDesktop、V

21、Mware的View。平臺虛擬化主要通過CPU虛擬化、內(nèi)存虛擬化和I/O接口虛擬化來實現(xiàn)。資源虛擬化(Resource Virtualization),針對特定的計算資源進行的虛擬化,例如,存儲虛擬化、網(wǎng)絡(luò)資源虛擬化等。存儲虛擬化是指把操作系統(tǒng)有機地分布于若干內(nèi)外存儲器,兩者結(jié)合成為虛擬存儲器。網(wǎng)絡(luò)資源虛擬化最典型的是網(wǎng)格計算,網(wǎng)格計算通過使用虛擬化技術(shù)來管理網(wǎng)絡(luò)上的數(shù)據(jù),并在邏輯上將其作為一個系統(tǒng)呈現(xiàn)給消費者,它動態(tài)地提供了符合用戶和應(yīng)用程序需求的資源,同時還將提供對基礎(chǔ)設(shè)施的共享和訪問的簡化。當(dāng)前,有些研究人員提出利用軟件代理技術(shù)來實現(xiàn)計算網(wǎng)絡(luò)空間資源的虛擬化。1虛擬化的基本概念應(yīng)用程序虛

22、擬化(Application Virtualization),它包括仿真、模擬、解釋技術(shù)等。Java 虛擬機是典型的在應(yīng)用層進行虛擬化?;趹?yīng)用層的虛擬化技術(shù),通過保存用戶的個性化計算環(huán)境的配置信息,可以實現(xiàn)在任意計算機上重現(xiàn)用戶的個性化計算環(huán)境。服務(wù)虛擬化是近年研究的一個熱點,服務(wù)虛擬化可以使業(yè)務(wù)用戶能按需快速構(gòu)建應(yīng)用的需求,通過服務(wù)聚合,可屏蔽服務(wù)資源使用的復(fù)雜性,使用戶更易于直接將業(yè)務(wù)需求映射到虛擬化的服務(wù)資源?,F(xiàn)代軟件體系結(jié)構(gòu)及其配置的復(fù)雜性阻礙了軟件開發(fā)生命周期,通過在應(yīng)用層建立虛擬化的模型,可以提供最佳開發(fā)測試和運行環(huán)境。1虛擬化的基本概念(4)全虛擬化與半虛擬化。根據(jù)虛擬化實現(xiàn)技

23、術(shù)的不同,虛擬化可分為全虛擬化和半虛擬化兩種,其中,全虛擬化產(chǎn)品將是未來虛擬化的主流。全虛擬化(Full Virtualization)。也稱為原始虛擬化技術(shù),用全虛擬化模擬出來的虛擬機中的操作系統(tǒng)是與底層的硬件完全隔離的,虛擬機中所有的硬件資源都通過虛擬化軟件來模擬,包括處理器、內(nèi)存和外設(shè),支持運行任何理論上可在真實物理平臺上運行的操作系統(tǒng),為虛擬機的配置提供了較大的程序的靈活性,在客戶操作系統(tǒng)看來,完全虛擬化的虛擬平臺和現(xiàn)實平臺是一樣的,客戶機操作系統(tǒng)察覺不到是運行在一個虛擬平臺上,這樣的虛擬平臺可以運行現(xiàn)有的操作系統(tǒng),無須對操作系統(tǒng)進行任何修改,因此這種方式被稱為完全虛擬化。全虛擬化的運

24、行速度要快于硬件模擬,但是性能方面不如裸機,因為Hypervisor需要占用一些資源。半虛擬化(Para Virtualization)。它是另一種類似于全虛擬化的技術(shù),需要修改虛擬機中的操作系統(tǒng)來集成一些虛擬化方面的代碼,以減小虛擬化軟件的負(fù)載。半虛擬化模擬出來的虛擬機整體性能會更好一些,因為修改后的虛擬機操作系統(tǒng)承載了部分虛擬化軟件的工作,不足之處是,由于要修改虛擬機的操作系統(tǒng),用戶會感知使用的環(huán)境是虛擬化環(huán)境,而且兼容性比較差,用戶使用時比較麻煩,需要獲得集成虛擬化代碼的操作系統(tǒng)。2虛擬化與云計算關(guān)系云計算是很大很廣泛的含義范疇,是中間件技術(shù)、分布式計算(網(wǎng)格計算)、并行計算、效用計算、

25、網(wǎng)絡(luò)存儲、虛擬化和負(fù)載均衡等網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。虛擬化技術(shù)也不一定必須與云計算相關(guān),如CPU虛擬化技術(shù)、虛擬內(nèi)存等也屬于虛擬化技術(shù),但與云概念無關(guān),如圖1.5所示。圖1.5 云計算與虛擬化的關(guān)系2虛擬化與云計算關(guān)系(1)虛擬化技術(shù)的特征。更高的資源利用率。虛擬可支持實現(xiàn)物理資源和資源池的動態(tài)共享,提高資源利用率,特別是針對那些平均需求遠(yuǎn)低于需要為其提供專用資源的不同負(fù)載。降低管理成本。虛擬可通過以下途徑提高工作人員的效率:減少必須進行管理的物理資源的數(shù)量;隱藏物理資源的部分復(fù)雜性;通過實現(xiàn)自動化、獲得更好的信息和實現(xiàn)中央管理來簡化公共管理任務(wù);實現(xiàn)負(fù)載管理自動化。另外,虛擬還可以支持在多個

26、平臺上使用公共的工具。提高使用靈活性。通過虛擬可實現(xiàn)動態(tài)的資源部署和重配置,滿足不斷變化的業(yè)務(wù)需求。提高安全性。虛擬可實現(xiàn)較簡單的共享機制無法實現(xiàn)的隔離和劃分,這些特性可實現(xiàn)對數(shù)據(jù)和服務(wù)進行可控和安全的訪問。更高的可用性。虛擬可在不影響用戶的情況下對物理資源進行刪除、升級或改變。更高的可擴展性。根據(jù)不同的產(chǎn)品,資源分區(qū)和匯聚可支持實現(xiàn)比個體物理資源小得多或大得多的虛擬資源,這意味著您可以在不改變物理資源配置的情況下進行規(guī)模調(diào)整?;ゲ僮餍院图嫒菪浴L摂M資源可提供底層物理資源無法提供的與各種接口和協(xié)議的兼容性。改進資源供應(yīng)。與個體物理資源單位相比,虛擬能夠以更小的單位進行資源分配。2虛擬化與云計算

27、關(guān)系(2)云計算的特征。按需自動服務(wù)。消費者不需要或很少需要云服務(wù)提供商的協(xié)助,就可以單方面按需獲取云端的計算資源。例如,服務(wù)器、網(wǎng)絡(luò)存儲等資源是按需自動部署的,不需要與服務(wù)供應(yīng)商進行人工交互。廣泛的網(wǎng)絡(luò)訪問。消費者可以隨時隨地使用云終端設(shè)備接入網(wǎng)絡(luò)并使用云端的計算資源。常見的云終端設(shè)備包括手機、平板、筆記本電腦、PDA掌上電腦和臺式機等。資源池化。云端計算資源需要被池化,以便通過多租戶形式共享給多個消費者,也只有池化才能根據(jù)消費者的需求動態(tài)分配或再分配各種物理的和虛擬的資源。消費者通常不知道自己正在使用的計算資源的確切位置,但是在自助申請時允許指定大概的區(qū)域范圍(比如在哪個國家、哪個省或者哪

28、個數(shù)據(jù)中心)。2虛擬化與云計算關(guān)系(2)云計算的特征??焖購椥浴OM者能方便、快捷地按需獲取和釋放計算資源,也就是說,需要時能快速獲取資源從而擴展計算能力,不需要時能迅速釋放資源,以便降低計算能力,從而減少資源的使用費用。對于消費者來說,云端的計算資源是無限的,可以隨時申請并獲取任何數(shù)量的計算資源。但是我們一定要消除一個誤解,那就是一個實際的云計算系統(tǒng)不一定是投資巨大的工程,也不一定要購買成千上萬臺計算機,也不一定具備超大規(guī)模的運算能力。其實一臺計算機就可以組建一個最小的云端,云端建設(shè)方案務(wù)必采用可伸縮性策略,剛開始時采用幾臺計算機,然后根據(jù)用戶數(shù)量規(guī)模來增減計算資源。 按需按量可計費。消費者

29、使用云端計算資源是要付費的,付費的計量方法有很多,比如根據(jù)某類資源(如存儲、CPU、內(nèi)存、網(wǎng)絡(luò)帶寬等)的使用量和時間長短計費,也可以按照每使用一次來計費。但不管如何計費,對消費者來說,價碼要清楚,計量方法要明確,而云服務(wù)提供商需要監(jiān)視和控制資源的使用情況,并及時輸出各種資源的使用報表,做到供需雙方費用結(jié)算清楚明白。3OpenStack所支持的虛擬化技術(shù)在OpenStack環(huán)境中,計算服務(wù)通過API服務(wù)器來控制虛擬機管理程序,它具備一個抽象層,可以在部署時選擇一種虛擬化技術(shù)創(chuàng)建虛擬機,向用戶提供云服務(wù),OpenStack可用的虛擬化技術(shù)如下。(1)KVM?;趦?nèi)核的虛擬機(Kernel-base

30、d Virtual Machine,KVM)是通用的開放虛擬化技術(shù),也是OpenStack用戶使用較多的虛擬化技術(shù),它支持OpenStack的所有特性。(2)Xen。Xen是部署快速、安全、開源的虛擬化軟件技術(shù),可使多個同樣的操作系統(tǒng)或不同操作系統(tǒng)的虛擬機運行在同一主機上,Xen技術(shù)主要包括服務(wù)器虛擬化平臺(XenServer)、云基礎(chǔ)架構(gòu)(Xen Cloud Platform)、管理XenServer和XCP的API程序(XenAPI)、基于Libvert的Xen。OpenStack通過XenAPI支持XenServer和XCP兩種虛擬化技術(shù),不過在RHEL等平臺上,OpenStack使用的

31、是基于基于Libvert的Xen。3OpenStack所支持的虛擬化技術(shù)(3)容器。容器是在單一Linux主機上提供多個隔離的Linux環(huán)境的操作系統(tǒng)級虛擬化技術(shù),不像基于虛擬管理程序的傳統(tǒng)虛擬化技術(shù),容器并不需要運行專用的客戶操作系統(tǒng),目前的容器有以下兩種技術(shù)。Linux容器(Linux Container,LXC)。提供了在單一可控主機節(jié)點上支持多個相互隔離的服務(wù)器容器同時執(zhí)行的機制。Docker。一個開源的應(yīng)用容器引擎,讓開發(fā)者可以把應(yīng)用以及依賴包打包到一個可移植的容器中,然后發(fā)布到任何流行的Linux平臺上,利用Docker也可以實現(xiàn)虛擬化,容器完全使用沙箱機制,相互之間不會有任何接口

32、。Docker的目的是盡可能減少容器中運行的程序,減少到只運行單個程序,并且通過Docker來管理這個程序,LXC可以快速兼容所有應(yīng)用程序和工具以及任意管理和編制層次,來替代虛擬機。虛擬化管理程序提供更好的進程隔離,呈現(xiàn)一個完全的系統(tǒng),LXC/Docker除了一些基本隔離,并末提供足夠的虛擬化管理功能,缺乏必要的安全機制,基于容器的方案無法運行與主機內(nèi)核不同的其他內(nèi)核,也無法運行一個完全不同的操作系統(tǒng),目前OpenStack社區(qū)對容器的驅(qū)動支持還不如虛擬化管理程序,在OpenStack項目中,LXC屬于計算服務(wù)項目Nova,通過調(diào)用Libvirt來實現(xiàn),Docker驅(qū)動是一種新加入虛擬化管理程

33、序的驅(qū)動,目前無法替代虛擬化管理程序。3OpenStack所支持的虛擬化技術(shù)(4)Hyper-V。Hyper-V是微軟推出的企業(yè)級虛擬化解決方案,Hyper-V的設(shè)計借鑒了Xen,管理程序采用微內(nèi)核的架構(gòu),兼顧了安全性和性能要求,Hyper-V作為一種免費的虛擬化方案,在OpenStack中得到了很多支持。(5)VMware ESXi。VMware提供業(yè)界領(lǐng)先且可靠的服務(wù)器虛擬化平臺和軟件定義計算產(chǎn)品,其中ESXi虛擬化平臺用于創(chuàng)建和運行虛擬機及虛擬設(shè)備,在OpenStack中它也得到了支持,但是如果沒有vCenter和企業(yè)級許可,一些API的使用會受到限制。(6)Baremetal與Iron

34、ic。有些云平臺除了提供虛擬化和虛擬機服務(wù),還提供傳統(tǒng)的主機服務(wù),在OpenStack中可以將Baremetal(裸金屬)與其他部署有虛擬化管理程序的節(jié)點通過不同的計算池(Availabity Zone,可用區(qū)域)一起管理。Baremetal是計算服務(wù)的后端驅(qū)動,與Libvirt驅(qū)動、VMware驅(qū)動一樣,只不過它是用來管理沒有虛擬化的硬件,主要通過PXE和IPMI進行控制管理。現(xiàn)在Baremetal已經(jīng)由Ironic所替代,Nova管理的是虛擬機的生命周期,而Ironic管理的是主機的生命周期,Ironic提供了一系列管理主機的API接口,可以對“裸”操作系統(tǒng)的主機進行管理,從主機上架安裝操

35、作系統(tǒng)到主機下架維修,可以像管理虛擬機一樣的管理主機,創(chuàng)建一個Nova計算物理節(jié)點,只需告訴Ironic,然后自動地從鏡像模板中加載操作系統(tǒng)到nova-computer安裝完成即可。Ironic解決主機的添加、刪除、電源管理、操作系統(tǒng)部署等問題,目標(biāo)是成為主機管理的成熟解決方案,讓OpenStack不僅可以在軟件層面解決云計算問題,而且供應(yīng)商可以對應(yīng)自己的服務(wù)器開發(fā)Ironic插件。4基于Linux內(nèi)核的虛擬化解決方案KVM是一種基于Linux的X86硬件平臺開源全虛擬化解決方案,也是主流Linux虛擬化解決方案,支持廣泛的客戶機操作系統(tǒng),KVM需要CPU的虛擬化指令集的支持,如Intel的I

36、ntel TV(vmx指令集)或AMD的AMD-V(svm指令集)。(1)KVM模塊。KVM模塊是一個可加載的內(nèi)核模塊kvm.ko。由于KVM對X86硬件架構(gòu)的依賴,因此KVM還需要一個處理規(guī)范模塊,如果使用Intel架構(gòu),則加載kvm-intel.ko模塊;如果使用AMD模塊,則卡加載kvm-adm.ko模塊。KVM模塊負(fù)責(zé)對虛擬機的虛擬CPU和內(nèi)存進行管理及調(diào)試,主要任務(wù)是初始化CPU硬件,打開虛擬化模式,然后將虛擬機運行在虛擬模式下,并對虛擬機的運行提供一定的支持。至于虛擬機的外部設(shè)備交互,如果是真實的物理硬件設(shè)備,則利用Linux系統(tǒng)內(nèi)核來管理;如果是虛擬的外部設(shè)備,則借助于快速仿真(

37、Quick Emulator,QEMU)來處理。由此可見,KVM本身只關(guān)注虛擬機的調(diào)試和內(nèi)存管理,是一個輕量級的Hypervisor,很多Linux發(fā)行版集成KVM作為虛擬化解決方案,CentOS也不例外。4基于Linux內(nèi)核的虛擬化解決方案(2)QEMU。KVM模塊本身無法作為一個Hypervisor模擬出一個完整的虛擬機,而且用戶也不能直接對Linux內(nèi)核進行操作,因此需要借助其他軟件來進行,QEMU就是KVM所需要的這樣一個軟件。QEMU并非KVM的一部分,而是一個開源的虛擬機軟件,與KVM不同,作為一個宿主型的Hypervisor,沒有KVM,QEMU也可以通過模擬來創(chuàng)建和管理虛擬機,

38、只因為是純軟件實現(xiàn),所以性能較低。QEMU的優(yōu)點是,在支持QEMU編譯運行的平臺上就可以實現(xiàn)虛擬機的功能,甚至虛擬機可以與主機不是同一個架構(gòu)。KVM在QEMU的基礎(chǔ)上進行了修改,虛擬機運行期間,QEMU會通過KVM模塊提供的系統(tǒng)調(diào)用進入內(nèi)核,由KVM模塊負(fù)責(zé)將虛擬機置于處理器的特殊模式運行,遇到虛擬機進行輸入/輸出(I/O)操作,KVM模塊轉(zhuǎn)交給QEMU解析和模擬這些設(shè)備。QEMU使用KVM模塊的虛擬化功能,為自己的虛擬機提供硬件虛擬化的加速,從而極大地提高了虛擬機的性能,除此之外,虛擬機的配置和創(chuàng)建,虛擬機運行依賴的虛擬設(shè)備,虛擬機運行時的用戶操作環(huán)境和交互以及一些針對虛擬機的特殊技術(shù)(如動

39、態(tài)遷移),都是由QEMU自己實現(xiàn)的。KVM虛擬機的創(chuàng)建和運行是一個用戶空間的QEMU程序和內(nèi)核空間的KVM模塊相互配合的過程,KVM模塊作為整個虛擬化環(huán)境的核心工作在系統(tǒng)空間,負(fù)責(zé)CPU和內(nèi)存的調(diào)試,QEMU作為模擬器工作在用戶空間,負(fù)責(zé)虛擬機I/O模擬。4基于Linux內(nèi)核的虛擬化解決方案(3)KVM架構(gòu)。從上面的分析來看,KVM作為Hypervisor主要包括兩個重要的組成部分:一個是Linux內(nèi)核的KVM模塊,主要負(fù)責(zé)虛擬機的創(chuàng)建,虛擬內(nèi)存的分配、VCPU寄存器的讀寫以及VCPU的運行;另一個是提供硬件仿真的QEMU,用于模擬虛擬機的用戶空間組件、提供I/O設(shè)備模型和訪問外設(shè)的途徑,KV

40、M的基本架構(gòu),如圖1.6所示。圖1.6 KVM的基本架構(gòu)4基于Linux內(nèi)核的虛擬化解決方案在KVM模型中,每一個虛擬機都是一個由Linux調(diào)度程序管理的標(biāo)準(zhǔn)進程,可以在用戶空間啟動客戶機操作系統(tǒng),一個普通的Linux進程有兩種運行模式:內(nèi)核和用戶,而KVM增加了第三種模式,即客戶模式,客戶模式又有自己的內(nèi)核和用戶模式。當(dāng)新的虛擬機在KVM上啟動時,它就成為主機操作系統(tǒng)的一個進程,因此就可以像其他進程一樣調(diào)度它,但與傳統(tǒng)的Linux進程不一樣,客戶端被Hypervisor標(biāo)識為處于Guest模式(獨立于內(nèi)核和用戶模式),每個虛擬機都是通過/dev/kvm設(shè)備映射的,它們擁有自己的虛擬地址空間,

41、該空間映射到主機內(nèi)核的物理地址空間。如前所述,KVM使用層硬件的虛擬化支持來提供完整的(原生)虛擬化,I/O請求通過主機內(nèi)核映射到在主機上(Hypervisor)執(zhí)行的QEMU進程。(4)KVM虛擬磁盤(鏡像)文件格式。在KVM中往往使用Image(鏡像)這人術(shù)語來表示虛擬磁盤,主要有以下3種文件格式。raw。原始的格式,它直接將文件系統(tǒng)的存儲單元分配給虛擬機使用,采取直讀直寫的策略,該格式實現(xiàn)簡單,不支持諸如壓縮、快照、加密和CoW等特性。qcow2。QEMU引入的鏡像文件格式,也是目前KVM默認(rèn)的格式,qcow2文件存儲數(shù)據(jù)的基本單元是簇(cluster),每一簇由若干個數(shù)據(jù)扇區(qū)組成,每個

42、數(shù)據(jù)扇區(qū)的大小是512字節(jié),在qcow2中,要定位鏡像文件的簇,需要經(jīng)過兩次地址查詢操作,qcow2根據(jù)實際需要來決定占用空間的大小,而且支持更多的主機文件系統(tǒng)格式。qed。qcow2的一種改進,qed的存儲、定位、查詢方式以及數(shù)據(jù)塊大小與qcow2一樣,它的目的是為了克服qcow2格式的一些缺點,提高性能,不過目前還不夠成熟。如果需要使用虛擬機快照,需要選擇qcow2格式,對于大規(guī)模數(shù)據(jù)的存儲,可以選擇raw格式,qcow2格式只能增加容量,不能減少容量,而raw格式可以實現(xiàn)增加或者減少容量。5Libvirt套件僅有KVM模塊和QEMU組件是不夠的,為了使KVM整個虛擬環(huán)境易于管理,還需要L

43、ibvirt服務(wù)和基于Libvirt開發(fā)出來的管理工具。Libvirt是一個軟件集合,是一套為方便管理平臺虛擬化技術(shù)而設(shè)計的開源代碼的應(yīng)用程序接口、守護進程和管理工具。它不僅提供了對虛擬機的管理,而且提供了對虛擬網(wǎng)絡(luò)和存儲的管理。Libvirt最初是為了Xen虛擬化平臺設(shè)計的一套API,目前還支持其他多種虛擬化平臺,如KVM、ESX和QEMU等。在KVM解決方案中,QEMU用來進行平臺模擬,面向上層管理和操作;而Libvirt用來管理KVM,面向下層管理和操作,整個Libvirt架構(gòu),如圖1.7所示。圖1.7 Libvirt架構(gòu)5Libvirt套件 Libvirt是目前使用廣泛的虛擬機管理應(yīng)用

44、程序接口,一些常用的虛擬機管理工具(如virsh)和云計算框架平臺(如OpenStack)都是在底層使用Libvirt的應(yīng)用程序接口。 Libvirt包括兩部分,一部分是服務(wù)(守護進程名為Libvirtd),另一部分是API,作為一個運行在主機上的服務(wù)端守護進程,Libvirtd為虛擬化平臺及其虛擬機提供本地和遠(yuǎn)程的管理功能,基于Libvirt開發(fā)出來的管理工具可通過Libvirtd服務(wù)來管理整個虛擬化環(huán)境。也就是說,Libvirtd在管理工具和虛擬化平臺之間起到一個橋梁的作用。Libvirt API是一系列標(biāo)準(zhǔn)的庫文件,給多種虛擬化平臺提供一個統(tǒng)一的編程接口,相當(dāng)于管理工具是非得基于Libv

45、irt的標(biāo)準(zhǔn)接口來進行開發(fā),開發(fā)完成后的工具可支持多種虛擬化平臺。1.2.3 云計算概述OpenStack是一個云平臺管理的項目,它不是一個軟件。這個項目由幾個主要的組件組合起來完成一些具體的工作。OpenStack是一個旨在為公共及私有云的建設(shè)與管理提供軟件的開源項目。它的社區(qū)擁有超過130家企業(yè)及1350位開發(fā)者,這些機構(gòu)與個人將 OpenStack作為基礎(chǔ)設(shè)施即服務(wù)資源的通用前端。OpenStack項目的首要任務(wù)是簡化云的部署過程并為其帶來良好的可擴展性。OpenStack為私有云和公有云提供可擴展的彈性的云計算服務(wù),項目目標(biāo)是提供實施簡單、豐富、標(biāo)準(zhǔn)統(tǒng)一、可大規(guī)模擴展的云計算管理平臺。

46、1.2必備知識1OpenStack的起源OpenStack是一個開源的云計算管理平臺項目,是一系列軟件開源項目的組合。是美國國家宇航局(National Aeronautics and Space Administration,NASA)和Rackspace(美國的一家云計算廠商)在2010年7月共同發(fā)起的一個項目,旨在為公有云和私有云提供軟件的開源項目,由Rackspace貢獻(xiàn)存儲源碼(Swift)、NASA貢獻(xiàn)計算源碼(Nova)。經(jīng)過幾年的發(fā)展,OpenStack現(xiàn)已發(fā)展成為一個廣泛使用的業(yè)內(nèi)領(lǐng)先的開源項目,提供部署私有云及公有云的操作平臺和工具集,并且在許多大型企業(yè)支撐核心生產(chǎn)業(yè)務(wù)。O

47、penStack示意圖,如圖1.8所示,OpenStack項目旨在提供開源的云計算解決方案以簡化云的部署過程,實現(xiàn)類似AWS(亞馬遜)EC2和S3的IaaS服務(wù)。其主要應(yīng)用場合包括Web應(yīng)用、大數(shù)據(jù)、電子商務(wù)、視頻處理與內(nèi)容分發(fā)、大吞吐量計算、容器優(yōu)化、主機托管、公共云和數(shù)據(jù)庫等。Open意為開放,Stack意為堆棧或堆疊,OpenStack是一系列開源軟件的組合,包括若干項目,每個項目都有自己的代號(名稱),包括不同的組件,每個組件又包括若干服務(wù),一個服務(wù)意味著運行的一個進程,這些組件部署靈活,支持水平擴展,具有伸縮性,支持不同規(guī)模的云平臺。1OpenStack的起源OpenStack最初僅

48、包括Nova和Swift這兩個項目,現(xiàn)在已經(jīng)有數(shù)十個項目,其中主要的項目,如表1.1所示。這些項目之間相互關(guān)聯(lián),協(xié)同管理各類計算、存儲和網(wǎng)絡(luò)資源,提供云計算服務(wù)。圖1.8 OpenStack示意圖1OpenStack的起源服務(wù)項目名稱功能儀表板(Dashboard)Horizon提供一個與OpenStack服務(wù)交互的基于Web的自服務(wù)門戶,讓最終用戶和運維人員都可以完成大多數(shù)的操作,例如,啟動虛擬機、分配IP地址、動態(tài)遷移等計算(Computer)Nova部署與管理虛擬機并為用戶提供虛擬機服務(wù),管理OpenStack環(huán)境中計算實例的生命周期,按需響應(yīng)包括生成、調(diào)試、回收虛擬機等操作網(wǎng)絡(luò)(Net

49、work)Neutron為其他OpenStack服務(wù)提供網(wǎng)絡(luò)連接服務(wù),為用戶提供API定義網(wǎng)絡(luò)和接入網(wǎng)絡(luò),允許用戶創(chuàng)建自己的虛擬網(wǎng)絡(luò)并連接各種網(wǎng)絡(luò)設(shè)備接口,它提供基于插件的架構(gòu),支持眾多的網(wǎng)絡(luò)提供商和技術(shù)對象存儲(Object Storage)Swift一套用于在大規(guī)模可擴展系統(tǒng)中通過內(nèi)置冗余及高容錯機制實現(xiàn)對象存儲的系統(tǒng),允許進行存儲或者檢索文件。可為Glance提供鏡像存儲,為Cinder提供卷備份服務(wù)塊存儲(Block Storage)Cinder為運行實例提供穩(wěn)定的數(shù)據(jù)塊存儲服務(wù),它的插件驅(qū)動架構(gòu)有利于塊設(shè)備的創(chuàng)建和管理,如創(chuàng)建卷、刪除卷,在實例上掛載和卸載卷身份服務(wù)(Identity

50、 Service)Keystone為OpenStack其他服務(wù)提供身份驗證、服務(wù)規(guī)則和服務(wù)令牌的功能,管理Domains、Projects、Users、Groups、Roles鏡像服務(wù)(Image Service)Glance一套虛擬機鏡像查找及檢索系統(tǒng),支持多種虛擬機鏡像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有創(chuàng)建上傳鏡像、刪除鏡像、編輯鏡像基本信息的功能測量(Metering)Ceilometer像一個漏斗一樣,能把OpenStack內(nèi)部發(fā)生的幾乎所有的事件都收集起來,然后為計費和監(jiān)控以及其它服務(wù)提供數(shù)據(jù)支撐部署編排(Orchestratio

51、n)Heat提供了一種通過模板定義的協(xié)同部署方式,實現(xiàn)云基礎(chǔ)設(shè)施軟件運行環(huán)境(計算、存儲和網(wǎng)絡(luò)資源)的自動化部署數(shù)據(jù)庫(Database)Trove為用戶在OpenStack的環(huán)境提供可擴展和可靠的關(guān)系和非關(guān)系數(shù)據(jù)庫引擎服務(wù)數(shù)據(jù)處理(Data Processing)Sahara為用戶提供簡單部署Hadoop集群的能力,如通過簡單配置迅速將Hadoop集群部署起來表1.1 OpenStack的主要項目1OpenStack的起源作為免費的開源軟件項目,OpenStack由一個名為OpenStack Community的社區(qū)開發(fā)和維護,來自世界各地的云計算開發(fā)人員和技術(shù)人員共同開發(fā)、維護OpenSt

52、ack項目,與其他開源的云計算軟件相比,OpenStack具有以下優(yōu)勢。OpenStack在控制性、兼容性、靈活性方面具備優(yōu)勢,它可能成為云計算領(lǐng)域的行業(yè)標(biāo)準(zhǔn)。(1)控制性。作為完全開源的平臺,OpenStack為模塊化的設(shè)計,提供相應(yīng)的API接口,方便與第三方技術(shù)集成,從而滿足自身業(yè)務(wù)需求。(2)兼容性。OpenStack兼容其他公有云,方便用戶進行數(shù)據(jù)遷移。(3)可擴展性。OpenStack采用模塊化的設(shè)計,支持各主流發(fā)行版本的Linux,可以通過橫向擴展增加節(jié)點、添加資源。(4)靈活性。用戶可以根據(jù)自己的需要建立基礎(chǔ)設(shè)施,也可以輕松地為自己的群集增加規(guī)模。OpenStack項目采用Apa

53、che2許可,意味著第三方廠家可以重新發(fā)布源代碼。(5)行業(yè)標(biāo)準(zhǔn)。眾多IT領(lǐng)軍企業(yè)都加入到OpenStack項目中,意味著OpenStack在未來可能成為云計算行業(yè)標(biāo)準(zhǔn)。2OpenStack版本演變2010年10月,OpenStack第1個正式版本發(fā)布,其代號為Austin,第1個版本僅有Swift(對象存儲)和Nova(計算)兩個項目,起初計劃每隔幾個月發(fā)布一個全新的版本,并且以26個英文字母為首字母,從A到Z順序命名后續(xù)版本。2011年9月第4個版本Diablo發(fā)布時,定為每半年發(fā)布一個版本,分別是當(dāng)年的春秋兩季,每個版本不斷改進,吸收新技術(shù),實現(xiàn)新概念。2020年5月13日發(fā)布第21個版

54、本,即Ussuri版,如今已經(jīng)更加穩(wěn)定,更加強健。近幾年,docker,kubernetes,serverless等新技術(shù)的興起,而OpenStack關(guān)注點不再是誰是龍頭,而是關(guān)注誰才是最受歡迎的技術(shù)。OpenStack不受任何一家廠商的綁定,靈活自由。當(dāng)前可以認(rèn)為云解決方案的首選方案之一。當(dāng)前83%的私有云用戶轉(zhuǎn)向OpenStack,因為它使用戶擺脫了對單個公共云的過多依賴。實際上,OpenStack用戶經(jīng)常依賴于公共云,例如,Amazon Web Services(AWS)(44%),Microsoft Azure(28%)或Google Compute Engine(GCP)(24%),

55、58%的用戶基礎(chǔ)架構(gòu)是由OpenStack驅(qū)動的。盡管OpenStack從誕生到現(xiàn)在已經(jīng)變得日漸成熟,基本上已經(jīng)能夠滿足云計算用戶的大部分的需求。但隨著云計算技術(shù)的發(fā)展,OpenStack必然需要不斷地完善,OpenStack已經(jīng)逐漸成為市場上主流的一個云計算平臺解決方案。2OpenStack版本演變在學(xué)習(xí)OpenStack的部署和運維之前,我們應(yīng)當(dāng)熟悉其架構(gòu)和運行機制,OpenStack作為一個開源、可擴展、富有彈性的云操作系統(tǒng),其架構(gòu)設(shè)計主要參考了亞馬遜AWS云計算產(chǎn)品,通過模塊的劃分和模塊的功能協(xié)作,設(shè)計的基本原則如下。按照不同的功能和通用性劃分不同的項目,拆分子系統(tǒng)。按照邏輯計劃、規(guī)范

56、子系統(tǒng)之間的通信。通過分層設(shè)計整個系統(tǒng)架構(gòu)。不同功能子系統(tǒng)間提供統(tǒng)一的API接口。(1)OpenStack的邏輯架構(gòu)。OpenStack的邏輯架構(gòu),如圖1.9所示。此圖展示了OpenStack云平臺各模塊(僅給出主要服務(wù))協(xié)同工作的機制和流程。OpenStack通過一組相關(guān)的服務(wù)提供一個基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案,這些服務(wù)以虛擬機為中心,虛擬機主是由Nova、Glance、Cinder和Neutron四個核心模塊進行交互的結(jié)果。Nova為虛擬機提供計算資源,包括vCPU、內(nèi)存等;Glance為虛擬機提供鏡像服務(wù),安裝操作系統(tǒng)的運行環(huán)境;Cinder提供存儲資源,類似傳統(tǒng)計算機的磁盤或

57、卷;Neutron為虛擬機提供網(wǎng)絡(luò)配置以及訪問云平臺的網(wǎng)絡(luò)通道。2OpenStack版本演變圖1.9 OpenStack的邏輯架構(gòu)2OpenStack版本演變云平臺用戶在經(jīng)過Keystone服務(wù)認(rèn)證授權(quán)后,通過Horizon模式創(chuàng)建虛擬機服務(wù)。創(chuàng)建過程包括利用Nova服務(wù)創(chuàng)建虛擬機實例,虛擬機實例采用Glance提供的鏡像服務(wù),然后使用Neutron為新建的虛擬機分配IP地址,并將其納入虛擬網(wǎng)絡(luò)中,之后再通過Cinder創(chuàng)建的卷為虛擬機掛載存儲塊。整個過程都在Ceilometer模塊的資源監(jiān)控下,Cinder產(chǎn)生的卷(Volume)和Glance提供的鏡像(Image)可以通過Swift的對象

58、存儲機制進行保存。Horizon、Ceilometer、Keystone提供訪問、監(jiān)控、身份認(rèn)證(權(quán)限)功能,Swift提供對象存儲功能,Heat實現(xiàn)應(yīng)用系統(tǒng)的自動化部署,Trove用于部署和管理各種數(shù)據(jù)庫,Sahara提供大數(shù)據(jù)處理框架,而Ironic提供裸金屬云服務(wù)。云平臺用戶通過nova-api等來與其他OpenStack服務(wù)交互,而這些OpenStack服務(wù)守護進程通過消息總線(動作)和數(shù)據(jù)庫(信息)來執(zhí)行API請示。消息隊列為所有守護進程提供一個中心的消息機制,消息的發(fā)送者的接收者相互交換任務(wù)或數(shù)據(jù)進行通信,協(xié)同完成各種云平臺功能。消息隊列將各個服務(wù)進程解耦,所有進程可以任意分布式部

59、署,協(xié)同工作在一起。2OpenStack版本演變(2)OpenStack的物理架構(gòu)。OpenStack是分布式系統(tǒng),必須從邏輯架構(gòu)映射到具體的物理架構(gòu),將各個項目和組件以一定的方式安裝到實際服務(wù)器節(jié)點,部署到實際的存儲設(shè)備上,并通過網(wǎng)絡(luò)將它們連接起來,這就是OpenStack的物理部署架構(gòu)。OpenStack的部署分為單節(jié)點部署和多節(jié)點部署兩種類型。單節(jié)點部署就是將所有的服務(wù)和組件都放在一個物理節(jié)點上,通常是用于學(xué)習(xí)、驗證、測試或者開發(fā);多節(jié)點部署就是將服務(wù)和組件分別部署在不同的物理節(jié)點上。一個典型的多節(jié)點部署,如圖1.10所示,常見的節(jié)點類型有控制節(jié)點(Control Node)、計算節(jié)點(

60、Compute Node)、存儲節(jié)點(Storage Node)和網(wǎng)絡(luò)節(jié)點(Network Node)。2OpenStack版本演變圖1.10 OpenStack的多節(jié)點部署2OpenStack版本演變控制節(jié)點??刂乒?jié)點又稱為管理節(jié)點,安裝并運行各種OpenStack控制服務(wù),負(fù)責(zé)管理、節(jié)制其余節(jié)點,執(zhí)行虛擬機建立、遷移、網(wǎng)絡(luò)分配、存儲分配等任務(wù),OpenStack的大部分服務(wù)都是運行在控制節(jié)點上。1、支持服務(wù)。數(shù)據(jù)服務(wù)器,如SQL數(shù)據(jù)庫;消息隊列服務(wù),如RabbitMQ;網(wǎng)絡(luò)時間協(xié)議(Network Time Protocol,NTP)服務(wù)。2、基礎(chǔ)服務(wù)。運行Keystone認(rèn)證服務(wù)、Gla

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論