云計(jì)算導(dǎo)論:概念-架構(gòu)與應(yīng)用第3章課件_第1頁(yè)
云計(jì)算導(dǎo)論:概念-架構(gòu)與應(yīng)用第3章課件_第2頁(yè)
云計(jì)算導(dǎo)論:概念-架構(gòu)與應(yīng)用第3章課件_第3頁(yè)
云計(jì)算導(dǎo)論:概念-架構(gòu)與應(yīng)用第3章課件_第4頁(yè)
云計(jì)算導(dǎo)論:概念-架構(gòu)與應(yīng)用第3章課件_第5頁(yè)
已閱讀5頁(yè),還剩91頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章IaaS服務(wù)模式第3章IaaS服務(wù)模式1基本功能概述整體架構(gòu)服務(wù)器虛擬化技術(shù)3.13.2內(nèi)容導(dǎo)航CONTENTSOpenStack3.33.43.5基本功能概述整體架構(gòu)服務(wù)器虛擬化技術(shù)3.13.2內(nèi)容導(dǎo)航CO23.1概述

IaaS是指將IT基礎(chǔ)設(shè)施能力通過(guò)互聯(lián)網(wǎng)提供給用戶(hù)使用,并根據(jù)用戶(hù)對(duì)資源的實(shí)際使用量或占用量進(jìn)行計(jì)費(fèi)的一種服務(wù)。

IaaS所提供的虛擬機(jī)通常都會(huì)帶有一個(gè)可以連上網(wǎng)絡(luò)的操作系統(tǒng)(如Windows、Linux)。用戶(hù)通過(guò)網(wǎng)絡(luò)可以登錄并操作虛擬機(jī)并按照虛擬機(jī)的資源配置和使用時(shí)間來(lái)付費(fèi)。由于這些提供給用戶(hù)的功能都是最基礎(chǔ)的計(jì)算機(jī)功能,所以這種服務(wù)形式也就被形象地稱(chēng)為基礎(chǔ)設(shè)施即服務(wù)IaaS服務(wù)的基本功能。3.1概述IaaS是指將IT基礎(chǔ)設(shè)施能力3概述整體架構(gòu)服務(wù)器虛擬化技術(shù)3.1內(nèi)容導(dǎo)航CONTENTSOpenStack3.33.43.5基本功能3.2概述整體架構(gòu)服務(wù)器虛擬化技術(shù)3.1內(nèi)容導(dǎo)航CONTENTSO43.2基本功能

IaaS層的主要功能是使經(jīng)過(guò)虛擬化后的計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源(如右圖所示)能夠以基礎(chǔ)設(shè)施即服務(wù)的方式通過(guò)網(wǎng)絡(luò)被用戶(hù)使用和管理。雖然不同云服務(wù)提供商的基礎(chǔ)設(shè)施層在其提供的服務(wù)上有所差異,使用的技術(shù)也不盡相同,但是IaaS層一般都具有以下基本功能:用戶(hù)管理、任務(wù)管理、資源管理和安全管理。其中,資源管理主要包括:資源抽象、資源監(jiān)控、資源部署、資源分發(fā)、資源調(diào)度等。資源管理是IaaS管理的核心。3.2基本功能IaaS層的主要功能是使經(jīng)過(guò)53.2.1用戶(hù)管理用戶(hù)管理主要是管理用戶(hù)賬號(hào)、用戶(hù)的環(huán)境配置、用戶(hù)的使用計(jì)費(fèi)等。在用戶(hù)管理中管理用戶(hù)賬號(hào)和用戶(hù)使用計(jì)費(fèi)最為重要。用戶(hù)賬號(hào)管理包括對(duì)用戶(hù)身份及其訪問(wèn)權(quán)限進(jìn)行有效的管理,還包括對(duì)用戶(hù)組的管理。配置管理主要是對(duì)用戶(hù)相關(guān)的配置信息進(jìn)行記錄、管理和跟蹤。配置信息包括虛擬機(jī)的部署、配置和應(yīng)用的設(shè)置信息等。計(jì)算資源以服務(wù)的方式提供給用戶(hù),云服務(wù)提供商會(huì)按用戶(hù)使用的資源種類(lèi)、使用時(shí)間等收費(fèi)。通過(guò)監(jiān)控上層的使用情況,可以計(jì)算出在某個(gè)時(shí)間段內(nèi)應(yīng)用所消耗的存儲(chǔ)、網(wǎng)絡(luò)、內(nèi)存等資源,并根據(jù)這些計(jì)算結(jié)果向用戶(hù)收費(fèi)。3.2.1用戶(hù)管理用戶(hù)管理主要是管理用戶(hù)賬號(hào)、用戶(hù)的環(huán)境63.2.2資源抽象為了能夠?qū)崿F(xiàn)高層次的資源管理邏輯,必須對(duì)資源進(jìn)行抽象,也就是對(duì)硬件資源進(jìn)行虛擬化。虛擬化的過(guò)程一方面需要屏蔽掉硬件產(chǎn)品上的差異,另一方面需要對(duì)每一種硬件資源提供統(tǒng)一的管理邏輯和接口。資源抽象的定義與作用據(jù)業(yè)務(wù)邏輯和基礎(chǔ)設(shè)施層服務(wù)接口的需要,基礎(chǔ)設(shè)施層資源的抽象往往是具有多個(gè)層次的。目前業(yè)界提出的資源模型中就出現(xiàn)了虛擬機(jī)(VirtualMachine)、集群(Cluster)、虛擬數(shù)據(jù)中心(VirtualDataCenter)和云(Cloud)等若干層次分明的資源抽象。資源抽象為上層資源管理邏輯定義了操作的對(duì)象和粒度,是構(gòu)建基礎(chǔ)設(shè)施層的基礎(chǔ)。資源抽象是具有多個(gè)層次的根據(jù)基礎(chǔ)設(shè)施層實(shí)現(xiàn)的邏輯不同,同一類(lèi)型資源的不同虛擬化方法可能存在著較大的差異。3.2.2資源抽象為了能夠?qū)崿F(xiàn)高層次的資源管理邏輯,必須73.2.3資源監(jiān)控通過(guò)對(duì)資源的監(jiān)控,可以保證基礎(chǔ)設(shè)施高效率的運(yùn)行。資源監(jiān)控是保證基礎(chǔ)設(shè)施層高效率工作的一個(gè)關(guān)鍵任務(wù)。資源監(jiān)控是負(fù)載管理的前提,如果不能有效地對(duì)資源進(jìn)行監(jiān)控,也就無(wú)法根據(jù)負(fù)載進(jìn)行資源調(diào)度。基礎(chǔ)設(shè)施層對(duì)不同類(lèi)型資源的監(jiān)控方法是不同的。全面監(jiān)控云計(jì)算的運(yùn)行主要涉及3個(gè)層面。物理資源層面,主要監(jiān)控物理資源的運(yùn)行狀況,比如CPU使用率、內(nèi)存利用率和網(wǎng)絡(luò)帶寬利用率等。物理資源層面,主要監(jiān)控物理資源的運(yùn)行狀況,比如CPU使用率、內(nèi)存利用率和網(wǎng)絡(luò)帶寬利用率等。應(yīng)用層面,主要記錄應(yīng)用每次請(qǐng)求的響應(yīng)時(shí)間(ResponseTime)和吞吐量(Throughput),以判斷它們是否滿(mǎn)足預(yù)先設(shè)定的SLA(ServiceLevelAgreement,服務(wù)級(jí)別協(xié)議)。3.2.3資源監(jiān)控通過(guò)對(duì)資源的監(jiān)控,可以保證基礎(chǔ)設(shè)施高效83.2.4資源調(diào)度在基礎(chǔ)設(shè)施層這樣大規(guī)模的資源集群環(huán)境中,任何時(shí)刻所有節(jié)點(diǎn)的負(fù)載都很難是均勻的。如果太多節(jié)點(diǎn)負(fù)載較低,會(huì)造成資源上的浪費(fèi),需要基礎(chǔ)設(shè)施層提供自動(dòng)化的負(fù)載平衡機(jī)制將負(fù)載進(jìn)行合并,提高資源使用率并且關(guān)閉負(fù)載整合后閑置的資源。節(jié)點(diǎn)負(fù)載較低CPU內(nèi)核的工作時(shí)鐘頻率,也就是CPU在如果資源利用率差異過(guò)大,則會(huì)造成有些節(jié)點(diǎn)的負(fù)載過(guò)高,上層服務(wù)的性能受到影響,而另外一些節(jié)點(diǎn)的負(fù)載太低,資源沒(méi)能充分利用。這時(shí)就需要基礎(chǔ)設(shè)施層的自動(dòng)化負(fù)載平衡機(jī)制將負(fù)載進(jìn)行轉(zhuǎn)移,即從負(fù)載過(guò)高節(jié)點(diǎn)轉(zhuǎn)移到負(fù)載過(guò)低節(jié)點(diǎn),從而使得所有的資源在整體負(fù)載和整體利用率上面趨于平衡。節(jié)點(diǎn)的負(fù)載過(guò)高資源調(diào)度重要的是定時(shí)對(duì)資源分配進(jìn)行優(yōu)化和重新分配資源,使整個(gè)系統(tǒng)資源處于快速可獲得狀態(tài)。資源調(diào)度主要采用負(fù)載均衡策略使整個(gè)系統(tǒng)資源得到充分均衡的利用,解除單個(gè)服務(wù)器或網(wǎng)絡(luò)等的瓶頸問(wèn)題。3.2.4資源調(diào)度在基礎(chǔ)設(shè)施層這樣大規(guī)模的資源集群環(huán)境中93.2.5資源部署資源部署指的是通過(guò)自動(dòng)化部署流程將資源交付給上層應(yīng)用的過(guò)程,即使基礎(chǔ)設(shè)施服務(wù)變得可用的過(guò)程。在應(yīng)用程序環(huán)境構(gòu)建初期,當(dāng)所有虛擬化的硬件資源環(huán)境都已經(jīng)準(zhǔn)備就緒時(shí),就需要進(jìn)行初始化過(guò)程的資源部署。另外,在應(yīng)用運(yùn)行過(guò)程中,往往會(huì)進(jìn)行二次甚至多次資源部署,從而滿(mǎn)足上層服務(wù)對(duì)于基礎(chǔ)設(shè)施層中資源的需求,也就是運(yùn)行過(guò)程中的動(dòng)態(tài)部署。資源部署的定義資源部署的方法會(huì)隨構(gòu)建基礎(chǔ)設(shè)施層所采用技術(shù)的不同而有著巨大的差異。使用服務(wù)器虛擬化技術(shù)構(gòu)建的基礎(chǔ)設(shè)施層和未使用這些技術(shù)的傳統(tǒng)物理環(huán)境有很大的差別,前者的資源部署更多是虛擬機(jī)的部署和配置過(guò)程。而后者的資源部署則涉及了從操作系統(tǒng)到上層應(yīng)用整個(gè)軟件堆棧的自動(dòng)化部署和配置。相比之下,采用虛擬化技術(shù)的基礎(chǔ)設(shè)施層資源部署更容易實(shí)現(xiàn)。資源部署的方法動(dòng)態(tài)部署有多種應(yīng)用場(chǎng)景,一個(gè)典型的場(chǎng)景就是實(shí)現(xiàn)基礎(chǔ)設(shè)施層的動(dòng)態(tài)可伸縮性,也就是說(shuō)云端運(yùn)行的應(yīng)用可以在極短的時(shí)間內(nèi)根據(jù)具體用戶(hù)需求和服務(wù)狀況的變化而調(diào)整。另外一個(gè)典型場(chǎng)景是故障恢復(fù)和硬件維護(hù)。3.2.5資源部署資源部署指的是通過(guò)自動(dòng)化部署流程將資源103.2.6數(shù)據(jù)管理現(xiàn)實(shí)中軟件系統(tǒng)經(jīng)常處理的數(shù)據(jù)分為很多不同的種類(lèi),如半結(jié)構(gòu)化的XML數(shù)據(jù)、非結(jié)構(gòu)化的二進(jìn)制數(shù)據(jù)及關(guān)系型的數(shù)據(jù)庫(kù)數(shù)據(jù)等。不同的基礎(chǔ)設(shè)施層所提供的功能不同,會(huì)使得數(shù)據(jù)管理的實(shí)現(xiàn)有著非常大的差異。在云計(jì)算環(huán)境中,數(shù)據(jù)的完整性、可靠性和可管理性是對(duì)基礎(chǔ)設(shè)施層數(shù)據(jù)管理的基本要求。完整性要求在任何時(shí)候數(shù)據(jù)都能夠被正確地讀取并且在寫(xiě)入操作上進(jìn)行適當(dāng)?shù)耐???煽啃砸髮?shù)據(jù)的損壞和丟失的幾率降到最低,這通常需要對(duì)數(shù)據(jù)進(jìn)行冗余備份??晒芾硇砸髷?shù)據(jù)能夠被管理員及上層服務(wù)提供者以一種粗粒度和邏輯簡(jiǎn)單的方式管理,這通常要求基礎(chǔ)設(shè)施層內(nèi)部在數(shù)據(jù)管理上有充分、可靠的自動(dòng)化管理流程。3.2.6數(shù)據(jù)管理現(xiàn)實(shí)中軟件系統(tǒng)經(jīng)常處理的數(shù)據(jù)分為很多不113.2.7安全管理安全管理是對(duì)資源、應(yīng)用和賬號(hào)等IT資源采取全面保護(hù),使其免受犯罪分子和惡意程序的侵害,并保證云基礎(chǔ)設(shè)施及其提供的資源能被合法地訪問(wèn)和使用。安全管理主要通過(guò)對(duì)資源訪問(wèn)用戶(hù)進(jìn)行身份認(rèn)證,訪問(wèn)授權(quán)保障資源只能被合法用戶(hù)獲取,利用數(shù)據(jù)加密保障數(shù)據(jù)的私密性,采用綜合防護(hù)和安全審計(jì)等措施保障整個(gè)資源管理系統(tǒng)的安全性。具體來(lái)講安全管理主要包括7種機(jī)制(見(jiàn)右圖)。訪問(wèn)授權(quán)安全策略數(shù)據(jù)加密網(wǎng)絡(luò)隔離數(shù)據(jù)備份物理安全安全審計(jì)3.2.7安全管理安全管理是對(duì)資源、應(yīng)用和賬號(hào)等IT資源123.2.8任務(wù)管理任務(wù)管理主要管理用戶(hù)請(qǐng)求資源的任務(wù),包括任務(wù)的調(diào)度、任務(wù)的執(zhí)行、任務(wù)的生命周期管理等。任務(wù)管理的目的是保證所有的任務(wù)都能快速高效地完成。3.2.8任務(wù)管理任務(wù)管理主要管理用戶(hù)請(qǐng)求資源的任務(wù),包13基本功能概述服務(wù)器虛擬化技術(shù)3.13.2內(nèi)容導(dǎo)航CONTENTSOpenStack3.43.5整體架構(gòu)3.3基本功能概述服務(wù)器虛擬化技術(shù)3.13.2內(nèi)容導(dǎo)航CONTEN143.2整體架構(gòu)1.基礎(chǔ)設(shè)施平臺(tái)基礎(chǔ)設(shè)施平臺(tái)分為三層:基礎(chǔ)設(shè)施資源池、資源管理平臺(tái)和業(yè)務(wù)服務(wù)管理平臺(tái)。資源管理平臺(tái)和業(yè)務(wù)服務(wù)管理平臺(tái)是IaaS管理平臺(tái)的組成部分?;A(chǔ)設(shè)施資源池是實(shí)現(xiàn)融合基礎(chǔ)設(shè)施結(jié)構(gòu)的關(guān)鍵要素,是共享服務(wù)器、存儲(chǔ)和網(wǎng)絡(luò)的集合,從而能夠更快捷地支持業(yè)務(wù)需求的變化。實(shí)現(xiàn)基礎(chǔ)設(shè)施資源池的一種有效方法就是服務(wù)器虛擬化,它是一種可以在一臺(tái)物理服務(wù)器上運(yùn)行多個(gè)邏輯服務(wù)器的技術(shù),每個(gè)邏輯服務(wù)器被稱(chēng)為一個(gè)虛擬機(jī)。虛擬化技術(shù)是IaaS層的核心技術(shù),主要實(shí)現(xiàn)了對(duì)底層物理資源的抽象,使其成為一個(gè)個(gè)可以被靈活生成、調(diào)度、管理的基礎(chǔ)資源單位?;A(chǔ)設(shè)施資源池3.2整體架構(gòu)1.基礎(chǔ)設(shè)施平臺(tái)資源管理平臺(tái)和業(yè)務(wù)服務(wù)管理153.3整體架構(gòu)負(fù)責(zé)對(duì)基礎(chǔ)設(shè)施服務(wù)池的資源進(jìn)行統(tǒng)一的管理和調(diào)度,實(shí)現(xiàn)IaaS服務(wù)的可管、可控,其核心是對(duì)每個(gè)基礎(chǔ)資源單位的生命周期管理能力和對(duì)資源的管理調(diào)度能力。資源管理平臺(tái)能夠完成數(shù)據(jù)管理、資源監(jiān)控、資源部署、資源調(diào)度、安全管理等功能。另外,它還要完成對(duì)虛擬機(jī)模板的管理,用來(lái)注冊(cè)和檢索虛擬機(jī)鏡像。資源管理平臺(tái)負(fù)責(zé)將IaaS的各種資源封裝成各種服務(wù),然后以方便易用的方式提供給用戶(hù)使用。業(yè)務(wù)管理平臺(tái)是實(shí)現(xiàn)IaaS服務(wù)正常運(yùn)營(yíng)的保證,其主要功能包括業(yè)務(wù)服務(wù)管理、業(yè)務(wù)流程管理、計(jì)費(fèi)管理和用戶(hù)管理。業(yè)務(wù)服務(wù)管理平臺(tái)在云計(jì)算環(huán)境下,資源不再是分散的硬件,而是將物理服務(wù)器經(jīng)過(guò)整合之后,形成一個(gè)或多個(gè)邏輯上的虛擬資源池,共享計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源,這就是IaaS平臺(tái)的最下層,即是基礎(chǔ)設(shè)施服務(wù)池。3.3整體架構(gòu)負(fù)責(zé)對(duì)基礎(chǔ)設(shè)施服務(wù)池的資源進(jìn)行統(tǒng)一的管理和163.3整體架構(gòu)2.云計(jì)算資源的管理目標(biāo)云計(jì)算資源的管理目標(biāo)是智能化、資源虛擬化、資源優(yōu)化、易操作管理。智能化是指IaaS資源管理系統(tǒng)在無(wú)需人工干預(yù)的情況下智能地處理用戶(hù)請(qǐng)求、監(jiān)控服務(wù)器軟硬件狀態(tài)以發(fā)現(xiàn)服務(wù)器故障并及時(shí)修復(fù)、將各項(xiàng)操作記錄在日志或數(shù)據(jù)庫(kù)中。資源虛擬化是將物理資源通過(guò)虛擬化技術(shù)進(jìn)行虛擬化。物理資源是異構(gòu)的、分散的,只有通過(guò)虛擬化才能將物理資源整合起來(lái),以服務(wù)的形式提供給用戶(hù)。資源優(yōu)化是將中心資源在實(shí)現(xiàn)容災(zāi)備份的基礎(chǔ)上,刪除重復(fù)冗余數(shù)據(jù),從整個(gè)系統(tǒng)來(lái)講,減少資源浪費(fèi),提高資源利用率。易操作管理主要是使管理員能夠方便地管理資源,管理系統(tǒng)要具備良好的交互性、管理界面易操作等特點(diǎn)。3.3整體架構(gòu)2.云計(jì)算資源的管理目標(biāo)智能化是指IaaS17基本功能概述3.13.2內(nèi)容導(dǎo)航CONTENTS整體架構(gòu)3.3服務(wù)器虛擬化技術(shù)OpenStack3.43.5基本功能概述3.13.2內(nèi)容導(dǎo)航CONTENTS整體架構(gòu)3.183.4服務(wù)器虛擬化技術(shù)服務(wù)器虛擬化是指能夠在一臺(tái)物理服務(wù)器上運(yùn)行多臺(tái)虛擬服務(wù)器的技術(shù),并且上述虛擬服務(wù)器在用戶(hù)、應(yīng)用軟件甚至操作系統(tǒng)看來(lái),幾乎與物理服務(wù)器沒(méi)有區(qū)別,用戶(hù)可以在虛擬服務(wù)器上靈活地安裝任何軟件。同時(shí)服務(wù)器虛擬化技術(shù)還應(yīng)該確保上述多個(gè)虛擬服務(wù)器之間的數(shù)據(jù)是隔離的,虛擬服務(wù)器對(duì)資源的使用是可控的。虛擬化技術(shù)的進(jìn)步對(duì)云計(jì)算的發(fā)展起著重要的作用。3.4服務(wù)器虛擬化技術(shù)服務(wù)器虛擬化是指能夠在一臺(tái)物理服務(wù)193.4.1IaaS的基本資源

IaaS具體管理的物理資源可以分為三大類(lèi):計(jì)算資源(CPU、內(nèi)存)、存儲(chǔ)資源和網(wǎng)絡(luò)資源。從計(jì)算資源角度來(lái)講,IaaS軟件管理的最小的物理單元為一個(gè)物理服務(wù)器。根據(jù)需求,可以在服務(wù)器上創(chuàng)建多個(gè)虛擬機(jī)(如右圖所示)。若干配置相同的物理服務(wù)器會(huì)組成一個(gè)集群,要求配置相同的主要原因是因?yàn)樾枰С痔摂M機(jī)動(dòng)態(tài)遷移。通常一些集群還會(huì)組成更大規(guī)模的區(qū)域(Zone)。3.4.1IaaS的基本資源IaaS具體管203.4.2實(shí)現(xiàn)方式根據(jù)虛擬化層實(shí)現(xiàn)方式的不同,服務(wù)器虛擬化主要有兩種類(lèi)型,寄宿虛擬化和原生虛擬化。寄宿虛擬化。虛擬機(jī)監(jiān)視器(VirtualMachineMonitor,VMM)是運(yùn)行在宿主操作系統(tǒng)之上的應(yīng)用程序,利用宿主操作系統(tǒng)的功能來(lái)實(shí)現(xiàn)硬件資源的抽象和虛擬機(jī)的管理。這種模式的虛擬化實(shí)現(xiàn)起來(lái)比較容易,但由于虛擬機(jī)對(duì)資源的管理需要通過(guò)宿主操作系統(tǒng)來(lái)完成,因此其性能通常比較低。原生虛擬化。在原生虛擬化中,直接運(yùn)行在硬件之上的不是宿主操作系統(tǒng),而是虛擬化平臺(tái)(Hypervisor)。虛擬機(jī)運(yùn)行在虛擬化平臺(tái)上,虛擬化平臺(tái)提供指令集和設(shè)備接口,以提供對(duì)虛擬機(jī)的支持。這種實(shí)現(xiàn)通常具有較好的性能,但是實(shí)現(xiàn)起來(lái)更為復(fù)雜。服務(wù)器虛擬化通過(guò)虛擬化軟件向上提供對(duì)硬件設(shè)備的抽象和對(duì)虛擬服務(wù)器的管理。具體來(lái)講,虛擬化軟件需要實(shí)現(xiàn)對(duì)硬件設(shè)備的抽象,資源的分配調(diào)度和管理,虛擬機(jī)與宿主操作系統(tǒng)及多個(gè)虛擬機(jī)間的隔離等功能,軟件提供的虛擬化層處于硬件平臺(tái)之上、客戶(hù)操作系統(tǒng)之下。3.4.2實(shí)現(xiàn)方式根據(jù)虛擬化層實(shí)現(xiàn)方式的不同,服務(wù)器虛擬213.4.3關(guān)鍵特性無(wú)論采用以上何種虛擬化實(shí)現(xiàn)方式,服務(wù)器虛擬化都需要具有以下特性,來(lái)保證可以被有效地運(yùn)用在實(shí)際環(huán)境中。隔離性多實(shí)例高性能封裝性01OPTION02OPTION03OPTION04OPTION多實(shí)例:在一個(gè)物理服務(wù)器上可以運(yùn)行多個(gè)虛擬服務(wù)器,即可以支持多個(gè)客戶(hù)操作系統(tǒng)。隔離性:一個(gè)虛擬機(jī)與其他虛擬機(jī)完全隔離,就如同幾個(gè)獨(dú)立的物理服務(wù)器一樣。封裝性:服務(wù)器虛擬化將物理機(jī)的硬件封裝為標(biāo)準(zhǔn)化的虛擬硬件設(shè)備,保證兼容性。高性能:服務(wù)器虛擬化的高性能是指虛擬機(jī)監(jiān)視器的開(kāi)銷(xiāo)要被控制在可承受的范圍之內(nèi)。3.4.3關(guān)鍵特性無(wú)論采用以上何種虛擬化實(shí)現(xiàn)方式,服務(wù)器223.4.4核心技術(shù)CPU的虛擬化技術(shù)的本質(zhì)就是以分時(shí)復(fù)用的方式,讓所有的虛擬機(jī)能夠共享CPU的計(jì)算能力。字長(zhǎng)越大CPU工作效率也就越高。(1)直觀描述為了解決x86體系結(jié)構(gòu)下的CPU虛擬化問(wèn)題,業(yè)界提出了全虛擬化和半虛擬化兩種軟件方案。其實(shí)際原理示意如下圖所示。(2)實(shí)現(xiàn)原理1.CPU虛擬化CPU虛擬化技術(shù)把物理CPU抽象成虛擬CPU,任意時(shí)刻一個(gè)物理CPU只能運(yùn)行一個(gè)虛擬CPU的指令。每個(gè)客戶(hù)操作系統(tǒng)可以使用一個(gè)或多個(gè)虛擬CPU。虛擬CPU的運(yùn)行相互隔離,互不影響。3.4.4核心技術(shù)CPU的虛擬化技術(shù)的本質(zhì)就是以分時(shí)復(fù)用233.4.4核心技術(shù)對(duì)于每個(gè)虛擬機(jī)來(lái)說(shuō),不論它分配了多少內(nèi)存,它通常都是認(rèn)為自己的內(nèi)存是從零地址開(kāi)始的一段空間。不僅內(nèi)存的起始地址在物理機(jī)上不同,通常連虛擬機(jī)的內(nèi)存在物理機(jī)內(nèi)存上的分布也不是連續(xù)的。它們可能會(huì)被映射到不同的內(nèi)存區(qū)間。虛擬機(jī)管理程序負(fù)責(zé)維護(hù)虛擬機(jī)內(nèi)存在物理內(nèi)存上的映射,這種映射對(duì)虛擬機(jī)的操作系統(tǒng)來(lái)說(shuō)可以是完全透明而高效的?,F(xiàn)有的虛擬機(jī)管理程序甚至支持分配的虛擬機(jī)內(nèi)存空間的總和大于物理內(nèi)存,這種技術(shù)叫作超分(Overcommit)。(1)直觀描述2.內(nèi)存虛擬化內(nèi)存虛擬化技術(shù)把物理機(jī)的真實(shí)物理內(nèi)存統(tǒng)一管理,包裝成多個(gè)虛擬的物理內(nèi)存分別供若干個(gè)虛擬機(jī)使用,使得每個(gè)虛擬機(jī)擁有各自獨(dú)立的內(nèi)存空間。在服務(wù)器虛擬化技術(shù)中,因?yàn)閮?nèi)存是虛擬機(jī)最頻繁訪問(wèn)的設(shè)備,因此內(nèi)存虛擬化與CPU虛擬化具有同等重要的地位。3.4.4核心技術(shù)對(duì)于每個(gè)虛擬機(jī)來(lái)說(shuō),不論它分配了多少內(nèi)243.4.4核心技術(shù)(2)實(shí)現(xiàn)原理在內(nèi)存虛擬化中存在著邏輯內(nèi)存、“物理”內(nèi)存和機(jī)器內(nèi)存三種內(nèi)存類(lèi)型,這三種內(nèi)存的地址空間被稱(chēng)為邏輯地址、“物理”地址和機(jī)器地址。在內(nèi)存虛擬化中,邏輯內(nèi)存與機(jī)器內(nèi)存之間的映射關(guān)系是由內(nèi)存虛擬化管理單元來(lái)負(fù)責(zé)的。內(nèi)存虛擬化管理單元的實(shí)現(xiàn)方法——影子頁(yè)表法和頁(yè)表寫(xiě)入法3.4.4核心技術(shù)(2)實(shí)現(xiàn)原理在內(nèi)存虛擬化中存在著邏輯253.4.4核心技術(shù)設(shè)備與I/O虛擬化技術(shù)對(duì)物理機(jī)的真實(shí)設(shè)備進(jìn)行統(tǒng)一管理,包裝成多個(gè)虛擬設(shè)備給若干個(gè)虛擬機(jī)使用,響應(yīng)每個(gè)虛擬機(jī)的設(shè)備訪問(wèn)請(qǐng)求和I/O請(qǐng)求。目前,主流的設(shè)備與I/O虛擬化都是通過(guò)軟件的方式實(shí)現(xiàn)的。虛擬化平臺(tái)作為在共享硬件與虛擬機(jī)之間的平臺(tái),為設(shè)備與I/O的管理提供了便利,也為虛擬機(jī)提供了豐富的虛擬設(shè)備功能。3.設(shè)備與I/O虛擬化以VMware的虛擬化平臺(tái)為例,虛擬化平臺(tái)將物理機(jī)的設(shè)備虛擬化,把這些設(shè)備標(biāo)準(zhǔn)化為一系列虛擬設(shè)備,為虛擬機(jī)提供一個(gè)可以使用的虛擬設(shè)備集合。3.4.4核心技術(shù)設(shè)備與I/O虛擬化技術(shù)對(duì)物理機(jī)的真實(shí)設(shè)263.4.4核心技術(shù)網(wǎng)絡(luò)虛擬化是將多個(gè)硬件或軟件網(wǎng)絡(luò)資源及相關(guān)的網(wǎng)絡(luò)功能集成到一個(gè)可用軟件中統(tǒng)一管控的過(guò)程,并且對(duì)于網(wǎng)絡(luò)應(yīng)用而言,該網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)方式是透明的。該網(wǎng)絡(luò)環(huán)境稱(chēng)為虛擬網(wǎng)絡(luò),形成該虛擬網(wǎng)絡(luò)的過(guò)程稱(chēng)為網(wǎng)絡(luò)虛擬化。

假如原本的物理機(jī)只有一個(gè)網(wǎng)卡,那么它有一個(gè)MAC地址,并且可以分配一個(gè)IP地址,其他機(jī)器就可以通過(guò)IP地址訪問(wèn)這個(gè)物理主機(jī)。當(dāng)創(chuàng)建多個(gè)虛擬機(jī)以后,每個(gè)虛擬機(jī)都需要有獨(dú)立的網(wǎng)絡(luò)配置,以便它們可以像物理機(jī)一樣處理各種網(wǎng)絡(luò)連接。但是這個(gè)時(shí)候物理機(jī)上依然只有一個(gè)網(wǎng)卡,多個(gè)虛擬機(jī)通過(guò)這一個(gè)物理網(wǎng)卡都能進(jìn)行順暢的網(wǎng)絡(luò)連接的過(guò)程即為網(wǎng)絡(luò)虛擬化,如右圖所示。4.網(wǎng)絡(luò)虛擬化3.4.4核心技術(shù)網(wǎng)絡(luò)虛擬化是將多個(gè)硬件或軟件網(wǎng)絡(luò)資源及273.4.4核心技術(shù)實(shí)時(shí)遷移(LiveMigration)技術(shù)是在虛擬機(jī)運(yùn)行過(guò)程中,將整個(gè)虛擬機(jī)的運(yùn)行狀態(tài)完整、快速地從原來(lái)所在的宿主機(jī)硬件平臺(tái)遷移到新的宿主機(jī)硬件平臺(tái)上,并且整個(gè)遷移過(guò)程是平滑的,用戶(hù)幾乎不會(huì)察覺(jué)到任何差異。實(shí)時(shí)遷移需要虛擬機(jī)監(jiān)視器的協(xié)助,即通過(guò)源主機(jī)和目標(biāo)主機(jī)上虛擬機(jī)監(jiān)視器的相互配合,來(lái)完成客戶(hù)操作系統(tǒng)的內(nèi)存和其他狀態(tài)信息的拷貝。5.實(shí)時(shí)遷移技術(shù)3.4.4核心技術(shù)實(shí)時(shí)遷移(LiveMigration283.4.5虛擬化與云計(jì)算在云計(jì)算技術(shù)中,數(shù)據(jù)、應(yīng)用和服務(wù)都存儲(chǔ)在云中,云就是用戶(hù)的超級(jí)計(jì)算機(jī)。因此,云計(jì)算要求所有的資源能夠被這個(gè)超級(jí)計(jì)算機(jī)統(tǒng)一地管理,而虛擬化技術(shù)是云計(jì)算中最關(guān)鍵、最核心的技術(shù)源動(dòng)力。虛擬化技術(shù)可以對(duì)物理資源等底層架構(gòu)進(jìn)行抽象,使得設(shè)備的差異和兼容性對(duì)上層應(yīng)用透明,從而允許云對(duì)底層千差萬(wàn)別的資源進(jìn)行統(tǒng)一管理。虛擬化簡(jiǎn)化了應(yīng)用編寫(xiě)的工作,使得開(kāi)發(fā)人員可以?xún)H關(guān)注于業(yè)務(wù)邏輯,而不需要考慮底層資源的供給與調(diào)度。運(yùn)用虛擬化技術(shù)還可以隨時(shí)方便地進(jìn)行資源調(diào)度,實(shí)現(xiàn)資源的按需分配,應(yīng)用和服務(wù)既不會(huì)因?yàn)槿狈Y源而性能下降,也不會(huì)由于長(zhǎng)期處于空閑狀態(tài)而造成資源的浪費(fèi)。虛擬機(jī)的易創(chuàng)建性使應(yīng)用和服務(wù)可以擁有更多的虛擬機(jī)來(lái)進(jìn)行容錯(cuò)和災(zāi)難恢復(fù),從而提高了自身的可靠性和可用性。3.4.5虛擬化與云計(jì)算在云計(jì)算技術(shù)中,數(shù)據(jù)、應(yīng)用和服務(wù)29基本功能概述3.13.2內(nèi)容導(dǎo)航CONTENTS整體架構(gòu)3.3服務(wù)器虛擬化技術(shù)3.4OpenStack3.5基本功能概述3.13.2內(nèi)容導(dǎo)航CONTENTS整體架構(gòu)3.303.5.1簡(jiǎn)介OpenStack是一個(gè)由NASA(NationalAeronauticsandSpaceAdministration,美國(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除了有Rackspace和NASA的大力支持外,還有包括Dell、Citrix、Cisco、Canonical等重量級(jí)公司的貢獻(xiàn)和支持,發(fā)展速度非??臁penStack是一個(gè)旨在為公共及私有云的建設(shè)與管理提供軟件的開(kāi)源項(xiàng)目。OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個(gè)方面。3.5.1簡(jiǎn)介OpenStack是一個(gè)由NASA(Nat313.5.1簡(jiǎn)介OpenStack根據(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)目。截止到Liberty版本,共包含6個(gè)核心項(xiàng)目:OpenStackCompute(計(jì)算):NovaOpenStackBlockStorage(塊存儲(chǔ)):CinderOpenStackNewtron(網(wǎng)絡(luò)):NeutronOpenStackImageService(鏡像服務(wù)):GlanceOpenStackObjectStorage(對(duì)象存儲(chǔ)):SwiftOpenStackIdentityService(身份服務(wù)):KeystoneOpenStackDashboard(UI界面):HorizonOpenStack核心項(xiàng)目3.5.1簡(jiǎn)介OpenStack根據(jù)成熟及重要程度的不同323.5.2OpenStackCompute:NovaNova提供一個(gè)組織云的工具,主要功能包括運(yùn)行虛擬機(jī)實(shí)例,管理網(wǎng)絡(luò)以及通過(guò)用戶(hù)和項(xiàng)目來(lái)控制對(duì)云端的訪問(wèn)。Nova提供的軟件可以控制IaaS云計(jì)算平臺(tái),類(lèi)似于AmazonEC2。1.邏輯架構(gòu)Nova的主要功能是圍繞幾個(gè)關(guān)鍵的概念模型進(jìn)行管理的,如下圖所示。用戶(hù)通過(guò)項(xiàng)目來(lái)管理其擁有的資源和虛擬機(jī)。項(xiàng)目用來(lái)進(jìn)行業(yè)務(wù)的分類(lèi)管理。鏡像是用來(lái)創(chuàng)建虛擬機(jī)的模板,為每個(gè)虛擬機(jī)分配所需的IP資源(也就是IP地址)以及云硬盤(pán)。另外,還必須為每個(gè)虛擬機(jī)設(shè)置一個(gè)安全組,也就是網(wǎng)絡(luò)訪問(wèn)規(guī)則的組合。通過(guò)安全組可以控制虛擬機(jī)的網(wǎng)絡(luò)安全訪問(wèn)。3.5.2OpenStackCompute:NovaN333.5.2OpenStackCompute:Nova從架構(gòu)中可以看出Nova是由API服務(wù)器(nova-api)、調(diào)度器(nova-scheduler)、計(jì)算控制器(nova-compute)、網(wǎng)絡(luò)控制器(nova-network)、卷控制器(nova-volume)、消息隊(duì)列(queue)、儀表盤(pán)(dashboard)等重要組件組成的。各個(gè)組件功能如下。(1)nova-api組件是Nova的核心,為所有外部調(diào)用提供服務(wù)。(2)nova-compute組件負(fù)責(zé)虛擬機(jī)實(shí)例的管理,包括虛擬機(jī)的創(chuàng)建、終止、遷移、調(diào)整等操作。(3)nova-volume組件主要管理映射到計(jì)算機(jī)實(shí)例的卷的創(chuàng)建、附加和取消。(4)nova-network組件負(fù)責(zé)對(duì)網(wǎng)絡(luò)的操作和管理。(5)Queue為各個(gè)組件的守護(hù)進(jìn)程傳遞消息。(6)SQLDatabase存儲(chǔ)平臺(tái)的所有運(yùn)行狀態(tài),包括可用的實(shí)例類(lèi)型、在用的實(shí)例、可用的網(wǎng)絡(luò)和項(xiàng)目等。(7)nova-scheduler負(fù)責(zé)虛擬機(jī)的調(diào)度,也就是決定在哪臺(tái)資源可用的物理服務(wù)器上創(chuàng)建新的虛擬機(jī)實(shí)例。Nova的邏輯架構(gòu)3.5.2OpenStackCompute:Nova從343.5.2OpenStackCompute:Novanova-api(APIServer)是Nova對(duì)外的標(biāo)準(zhǔn)化接口。Nova的各子模塊,如計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源子模塊通過(guò)各自的API接口提供服務(wù)。各子模塊的API接口可以相互調(diào)用??傮w來(lái)說(shuō),計(jì)算資源服務(wù)(compute-api)調(diào)用網(wǎng)絡(luò)資源服務(wù)(network-api)和存儲(chǔ)資源服務(wù)(volume-api)提供服務(wù)。2.運(yùn)行架構(gòu)Nova的不同關(guān)鍵子模塊之間的調(diào)用關(guān)系

——?jiǎng)?chuàng)建虛擬機(jī)(VM)為例Nova子模塊協(xié)作關(guān)系3.5.2OpenStackCompute:Novan353.5.2OpenStackCompute:NovaNova子模塊協(xié)作運(yùn)行機(jī)制創(chuàng)建虛擬機(jī)實(shí)例3.5.2OpenStackCompute:NovaN363.5.2OpenStackCompute:Nova3.物理架構(gòu)多結(jié)點(diǎn)部署唯一的相互依賴(lài)性是Dashboard必須與nova-api安裝在同一個(gè)服務(wù)器上。幾種部署架構(gòu)如下。(1)單結(jié)點(diǎn):一臺(tái)服務(wù)器運(yùn)行所有的nova-services,同時(shí)也驅(qū)動(dòng)虛擬實(shí)例。(2)雙結(jié)點(diǎn):一個(gè)CloudController結(jié)點(diǎn)運(yùn)行除nova-compute外的所有nova-services,Compute結(jié)點(diǎn)運(yùn)行nova-compute。(3)多結(jié)點(diǎn):通過(guò)簡(jiǎn)單部署nova-compute在一臺(tái)額外的服務(wù)器以及拷貝nova.conf文件到這個(gè)新增的結(jié)點(diǎn),形成多結(jié)點(diǎn)部署。Nova多節(jié)點(diǎn)部署Nova大規(guī)模部署3.5.2OpenStackCompute:Nova3373.5.3OpenStackBlockStorage:CinderCinder的功能就是實(shí)現(xiàn)存儲(chǔ)服務(wù)(見(jiàn)下圖),根據(jù)實(shí)際需要快速地為虛擬機(jī)提供塊存儲(chǔ)設(shè)備的創(chuàng)建、掛載、回收及快照備份控制等。Cinder的服務(wù)主要包括API、cinder-volume、cinder-backup和cinder-scheduler。Cinder對(duì)塊數(shù)據(jù)實(shí)現(xiàn)了多種的存儲(chǔ)管理方式。LVM、NFS和iSCSI這些存儲(chǔ)方式都在cinder/volume/drivers下,要實(shí)現(xiàn)特定的存儲(chǔ)方法只需要繼承VolumeDriver基類(lèi)或者類(lèi)似iSCSIDriver子類(lèi)。Cinder存儲(chǔ)分為本地塊存儲(chǔ)、分布式塊存儲(chǔ)和SAN存儲(chǔ)等多種后端存儲(chǔ)類(lèi)型。3.5.3OpenStackBlockStorage383.5.4OpenStackNetwork:NeutronNeutron目的是為OpenStack提供更靈活的劃分網(wǎng)絡(luò)的能力,能夠在多租戶(hù)的環(huán)境下提供給每個(gè)租戶(hù)獨(dú)立的網(wǎng)絡(luò)環(huán)境。1.OpenStack的三種網(wǎng)絡(luò)在一個(gè)典型的OpenStack部署環(huán)境下,有如下三種網(wǎng)絡(luò):(1)外網(wǎng)(ExternalNetwork/APINetwork)(2)數(shù)據(jù)網(wǎng)絡(luò)(DataNetwork)(3)管理網(wǎng)絡(luò)(ManagementNetwork)將這三個(gè)網(wǎng)絡(luò)隔離,一方面是為了安全,另一方面是流量分離。3.5.4OpenStackNetwork:Neutr393.5.4OpenStackNetwork:Neutron2.Neutron簡(jiǎn)介Neutron是用來(lái)創(chuàng)建虛擬網(wǎng)絡(luò)的,所謂虛擬網(wǎng)絡(luò),就是虛擬機(jī)啟動(dòng)的時(shí)候會(huì)有一個(gè)虛擬網(wǎng)卡,虛擬網(wǎng)卡會(huì)連接到虛擬Switch上,虛擬交換機(jī)連接到虛擬Router上,虛擬路由器最終和物理網(wǎng)卡聯(lián)通,從而使虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)聯(lián)通起來(lái)。Neutron分成多個(gè)模塊分布在三個(gè)節(jié)點(diǎn)上。Controller節(jié)點(diǎn)Network節(jié)點(diǎn)Compute節(jié)點(diǎn)3.5.4OpenStackNetwork:Neutr403.5.4OpenStackNetwork:Neutron3.租戶(hù)網(wǎng)絡(luò)創(chuàng)建過(guò)程使用Neutron,OpenStack可以為每一個(gè)租戶(hù)創(chuàng)建一個(gè)網(wǎng)絡(luò)。給一個(gè)租戶(hù)創(chuàng)建網(wǎng)絡(luò)的流程如下。(1)創(chuàng)建內(nèi)網(wǎng)(PrivateNetwork);(2)創(chuàng)建內(nèi)網(wǎng)子網(wǎng)(Subnet);(3)創(chuàng)建路由器(Router);(4)連接私網(wǎng)到路由器;(5)創(chuàng)建外網(wǎng)(ExternalNetwork);(6)創(chuàng)建外網(wǎng)子網(wǎng);(7)連接外網(wǎng)到路由器。租戶(hù)網(wǎng)絡(luò)創(chuàng)建過(guò)程經(jīng)過(guò)這個(gè)流程,從虛擬網(wǎng)絡(luò)到物理網(wǎng)絡(luò)在邏輯上就連通了。虛擬機(jī)就可以通過(guò)路由器連接到外網(wǎng),通過(guò)數(shù)據(jù)中心的網(wǎng)關(guān)訪問(wèn)互聯(lián)網(wǎng)上的資源。3.5.4OpenStackNetwork:Neutr413.5.5OpenStackImageService:GlanceGlance是一套虛擬機(jī)鏡像查找及檢索系統(tǒng),支持多種虛擬機(jī)鏡像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有創(chuàng)建鏡像、上傳鏡像、刪除鏡像、編輯鏡像功能。Glance包括兩個(gè)主要的部分,分別是APIServer和RegistryServer。GlanceAPI主要負(fù)責(zé)接收響應(yīng)鏡像管理命令的請(qǐng)求,并分析消息請(qǐng)求信息,然后分發(fā)其所帶的命令(如新增、刪除、更新等)。GlanceRegistry主要負(fù)責(zé)接收響應(yīng)鏡像元數(shù)據(jù)命令的請(qǐng)求,分析消息請(qǐng)求信息并分發(fā)其所帶的命令(如獲取元數(shù)據(jù))。GlanceDB主要負(fù)責(zé)與數(shù)據(jù)庫(kù)Mysql的交互。GlanceStore主要負(fù)責(zé)存儲(chǔ)適配,支持的后端倉(cāng)儲(chǔ)有。Glance系統(tǒng)架構(gòu)3.5.5OpenStackImageService423.5.6OpenStackObjectStorage:SwiftSwift提供彈性可伸縮、高可用的分布式對(duì)象存儲(chǔ)服務(wù),適合存儲(chǔ)大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)。Swift的邏輯結(jié)構(gòu)采用層次數(shù)據(jù)模型,共設(shè)三層邏輯結(jié)構(gòu):Account/Container/Object(即賬戶(hù)/容器/對(duì)象),每層節(jié)點(diǎn)數(shù)均沒(méi)有限制,可以任意擴(kuò)展。1.基本概念這里的賬戶(hù)和個(gè)人賬戶(hù)不是一個(gè)概念,可理解為租戶(hù),用來(lái)做頂層的隔離機(jī)制,可以被多個(gè)個(gè)人賬戶(hù)所共同使用;容器代表封裝一組對(duì)象,類(lèi)似文件夾或目錄;終端節(jié)點(diǎn)代表對(duì)象,由元數(shù)據(jù)和內(nèi)容兩部分組成;對(duì)象就是存儲(chǔ)在Swift系統(tǒng)中的真正的數(shù)據(jù)。數(shù)據(jù)可以是照片、錄像、文檔、日志、數(shù)據(jù)庫(kù)備份、文件系統(tǒng)的快照或者其他非結(jié)構(gòu)化數(shù)據(jù)。3.5.6OpenStackObjectStorag433.5.6OpenStackObjectStorage:Swift2.整體架構(gòu)Swift采用完全對(duì)稱(chēng)、面向資源的分布式系統(tǒng)架構(gòu)設(shè)計(jì),所有組件都可擴(kuò)展,避免因單點(diǎn)失效而擴(kuò)散并影響整個(gè)系統(tǒng)運(yùn)轉(zhuǎn);通信方式采用非阻塞式I/O模式,提高了系統(tǒng)吞吐和響應(yīng)能力。整體架構(gòu)由ProxyServer(代理節(jié)點(diǎn))、認(rèn)證節(jié)點(diǎn)(AuthServer)以及多個(gè)存儲(chǔ)節(jié)點(diǎn)(Storage)組成。Swift的認(rèn)證服務(wù)是作為一個(gè)中間件被proxy-server使用,可以使用OpenStackKeystone來(lái)完成。Swift整體架構(gòu)3.5.6OpenStackObjectStorag443.5.6OpenStackObjectStorage:Swift3.工作原理Swift存儲(chǔ)系統(tǒng)工作原理的核心是虛節(jié)點(diǎn)(Partition)、環(huán)(Ring)和復(fù)制。虛節(jié)點(diǎn)把整個(gè)集群的存儲(chǔ)空間劃分成幾百萬(wàn)個(gè)存儲(chǔ)點(diǎn),而環(huán)把虛節(jié)點(diǎn)映射到磁盤(pán)上的物理存儲(chǔ)點(diǎn)。復(fù)制則保證數(shù)據(jù)會(huì)合理地復(fù)制到每個(gè)虛節(jié)點(diǎn)。Swift為賬戶(hù)、容器和對(duì)象分別定義了的Ring,其查找過(guò)程是相同的。為了提供數(shù)據(jù)的可靠性,Swift的每個(gè)分區(qū)都會(huì)在集群中默認(rèn)有三個(gè)副本。分區(qū)的位置存儲(chǔ)在環(huán)維護(hù)的映射中。環(huán)也負(fù)責(zé)確定失敗場(chǎng)景中接替的設(shè)備。Swift使用Zone來(lái)保證數(shù)據(jù)的物理隔離。在每個(gè)存儲(chǔ)節(jié)點(diǎn)中安裝有一個(gè)副本進(jìn)程(Replicator),還安裝有一個(gè)更新器(Updater),也安裝了一個(gè)審計(jì)器(Auditor)。3.5.6OpenStackObjectStorag453.5.6OpenStackObjectStorage:Swift4.Swift物理架構(gòu)在安裝的時(shí)候,一般將代理節(jié)點(diǎn)放在單獨(dú)的服務(wù)器上,而所有存儲(chǔ)服務(wù)則放在同一服務(wù)器上。右圖所示是一個(gè)典型的多存儲(chǔ)節(jié)點(diǎn)部署架構(gòu),其中,包含一個(gè)代理節(jié)點(diǎn),運(yùn)行代理服務(wù);一個(gè)認(rèn)證節(jié)點(diǎn),運(yùn)行身份認(rèn)證服務(wù);五個(gè)存儲(chǔ)節(jié)點(diǎn),用來(lái)存儲(chǔ)數(shù)據(jù),并且每個(gè)節(jié)點(diǎn)上都會(huì)運(yùn)行Account、Container和Object服務(wù)。可以通過(guò)增加更多代理來(lái)擴(kuò)展整個(gè)API吞吐量。如果需要獲得賬號(hào)、容器服務(wù)更大的吞吐量,它們也可以部署到單獨(dú)的服務(wù)器上。在部署Swift時(shí)可以單節(jié)點(diǎn)安裝,但是只適用于開(kāi)發(fā)和測(cè)試目的。也可以多服務(wù)器的安裝,它能獲得分布式對(duì)象存儲(chǔ)系統(tǒng)需要的高可用性和冗余。多存儲(chǔ)節(jié)點(diǎn)的Swift物理架構(gòu)3.5.6OpenStackObjectStorag463.5.7小結(jié)SummaryOpenStack實(shí)際上就是一個(gè)資源的控制、監(jiān)測(cè)和協(xié)調(diào)的平臺(tái),并提供了一系列完整的API供用戶(hù)對(duì)資源進(jìn)行使用和管理?;ヂ?lián)網(wǎng)廠商和云計(jì)算提供商是OpenStack的潛在用戶(hù),這也同樣為準(zhǔn)備部署云計(jì)算基礎(chǔ)架構(gòu)的企業(yè)提供了一種選擇。在本章我們對(duì)OpenStack的5個(gè)核心項(xiàng)目進(jìn)行了初步的介紹,其中Nova與Cinder、Nutron及Glance可以一起為用戶(hù)提供虛擬機(jī)資源服務(wù),而Swift可以為用戶(hù)提供存儲(chǔ)資源服務(wù)。3.5.7小結(jié)SummaryOpenStack實(shí)際上就是47THANKSTHANKS48第3章IaaS服務(wù)模式第3章IaaS服務(wù)模式49基本功能概述整體架構(gòu)服務(wù)器虛擬化技術(shù)3.13.2內(nèi)容導(dǎo)航CONTENTSOpenStack3.33.43.5基本功能概述整體架構(gòu)服務(wù)器虛擬化技術(shù)3.13.2內(nèi)容導(dǎo)航CO503.1概述

IaaS是指將IT基礎(chǔ)設(shè)施能力通過(guò)互聯(lián)網(wǎng)提供給用戶(hù)使用,并根據(jù)用戶(hù)對(duì)資源的實(shí)際使用量或占用量進(jìn)行計(jì)費(fèi)的一種服務(wù)。

IaaS所提供的虛擬機(jī)通常都會(huì)帶有一個(gè)可以連上網(wǎng)絡(luò)的操作系統(tǒng)(如Windows、Linux)。用戶(hù)通過(guò)網(wǎng)絡(luò)可以登錄并操作虛擬機(jī)并按照虛擬機(jī)的資源配置和使用時(shí)間來(lái)付費(fèi)。由于這些提供給用戶(hù)的功能都是最基礎(chǔ)的計(jì)算機(jī)功能,所以這種服務(wù)形式也就被形象地稱(chēng)為基礎(chǔ)設(shè)施即服務(wù)IaaS服務(wù)的基本功能。3.1概述IaaS是指將IT基礎(chǔ)設(shè)施能力51概述整體架構(gòu)服務(wù)器虛擬化技術(shù)3.1內(nèi)容導(dǎo)航CONTENTSOpenStack3.33.43.5基本功能3.2概述整體架構(gòu)服務(wù)器虛擬化技術(shù)3.1內(nèi)容導(dǎo)航CONTENTSO523.2基本功能

IaaS層的主要功能是使經(jīng)過(guò)虛擬化后的計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源(如右圖所示)能夠以基礎(chǔ)設(shè)施即服務(wù)的方式通過(guò)網(wǎng)絡(luò)被用戶(hù)使用和管理。雖然不同云服務(wù)提供商的基礎(chǔ)設(shè)施層在其提供的服務(wù)上有所差異,使用的技術(shù)也不盡相同,但是IaaS層一般都具有以下基本功能:用戶(hù)管理、任務(wù)管理、資源管理和安全管理。其中,資源管理主要包括:資源抽象、資源監(jiān)控、資源部署、資源分發(fā)、資源調(diào)度等。資源管理是IaaS管理的核心。3.2基本功能IaaS層的主要功能是使經(jīng)過(guò)533.2.1用戶(hù)管理用戶(hù)管理主要是管理用戶(hù)賬號(hào)、用戶(hù)的環(huán)境配置、用戶(hù)的使用計(jì)費(fèi)等。在用戶(hù)管理中管理用戶(hù)賬號(hào)和用戶(hù)使用計(jì)費(fèi)最為重要。用戶(hù)賬號(hào)管理包括對(duì)用戶(hù)身份及其訪問(wèn)權(quán)限進(jìn)行有效的管理,還包括對(duì)用戶(hù)組的管理。配置管理主要是對(duì)用戶(hù)相關(guān)的配置信息進(jìn)行記錄、管理和跟蹤。配置信息包括虛擬機(jī)的部署、配置和應(yīng)用的設(shè)置信息等。計(jì)算資源以服務(wù)的方式提供給用戶(hù),云服務(wù)提供商會(huì)按用戶(hù)使用的資源種類(lèi)、使用時(shí)間等收費(fèi)。通過(guò)監(jiān)控上層的使用情況,可以計(jì)算出在某個(gè)時(shí)間段內(nèi)應(yīng)用所消耗的存儲(chǔ)、網(wǎng)絡(luò)、內(nèi)存等資源,并根據(jù)這些計(jì)算結(jié)果向用戶(hù)收費(fèi)。3.2.1用戶(hù)管理用戶(hù)管理主要是管理用戶(hù)賬號(hào)、用戶(hù)的環(huán)境543.2.2資源抽象為了能夠?qū)崿F(xiàn)高層次的資源管理邏輯,必須對(duì)資源進(jìn)行抽象,也就是對(duì)硬件資源進(jìn)行虛擬化。虛擬化的過(guò)程一方面需要屏蔽掉硬件產(chǎn)品上的差異,另一方面需要對(duì)每一種硬件資源提供統(tǒng)一的管理邏輯和接口。資源抽象的定義與作用據(jù)業(yè)務(wù)邏輯和基礎(chǔ)設(shè)施層服務(wù)接口的需要,基礎(chǔ)設(shè)施層資源的抽象往往是具有多個(gè)層次的。目前業(yè)界提出的資源模型中就出現(xiàn)了虛擬機(jī)(VirtualMachine)、集群(Cluster)、虛擬數(shù)據(jù)中心(VirtualDataCenter)和云(Cloud)等若干層次分明的資源抽象。資源抽象為上層資源管理邏輯定義了操作的對(duì)象和粒度,是構(gòu)建基礎(chǔ)設(shè)施層的基礎(chǔ)。資源抽象是具有多個(gè)層次的根據(jù)基礎(chǔ)設(shè)施層實(shí)現(xiàn)的邏輯不同,同一類(lèi)型資源的不同虛擬化方法可能存在著較大的差異。3.2.2資源抽象為了能夠?qū)崿F(xiàn)高層次的資源管理邏輯,必須553.2.3資源監(jiān)控通過(guò)對(duì)資源的監(jiān)控,可以保證基礎(chǔ)設(shè)施高效率的運(yùn)行。資源監(jiān)控是保證基礎(chǔ)設(shè)施層高效率工作的一個(gè)關(guān)鍵任務(wù)。資源監(jiān)控是負(fù)載管理的前提,如果不能有效地對(duì)資源進(jìn)行監(jiān)控,也就無(wú)法根據(jù)負(fù)載進(jìn)行資源調(diào)度?;A(chǔ)設(shè)施層對(duì)不同類(lèi)型資源的監(jiān)控方法是不同的。全面監(jiān)控云計(jì)算的運(yùn)行主要涉及3個(gè)層面。物理資源層面,主要監(jiān)控物理資源的運(yùn)行狀況,比如CPU使用率、內(nèi)存利用率和網(wǎng)絡(luò)帶寬利用率等。物理資源層面,主要監(jiān)控物理資源的運(yùn)行狀況,比如CPU使用率、內(nèi)存利用率和網(wǎng)絡(luò)帶寬利用率等。應(yīng)用層面,主要記錄應(yīng)用每次請(qǐng)求的響應(yīng)時(shí)間(ResponseTime)和吞吐量(Throughput),以判斷它們是否滿(mǎn)足預(yù)先設(shè)定的SLA(ServiceLevelAgreement,服務(wù)級(jí)別協(xié)議)。3.2.3資源監(jiān)控通過(guò)對(duì)資源的監(jiān)控,可以保證基礎(chǔ)設(shè)施高效563.2.4資源調(diào)度在基礎(chǔ)設(shè)施層這樣大規(guī)模的資源集群環(huán)境中,任何時(shí)刻所有節(jié)點(diǎn)的負(fù)載都很難是均勻的。如果太多節(jié)點(diǎn)負(fù)載較低,會(huì)造成資源上的浪費(fèi),需要基礎(chǔ)設(shè)施層提供自動(dòng)化的負(fù)載平衡機(jī)制將負(fù)載進(jìn)行合并,提高資源使用率并且關(guān)閉負(fù)載整合后閑置的資源。節(jié)點(diǎn)負(fù)載較低CPU內(nèi)核的工作時(shí)鐘頻率,也就是CPU在如果資源利用率差異過(guò)大,則會(huì)造成有些節(jié)點(diǎn)的負(fù)載過(guò)高,上層服務(wù)的性能受到影響,而另外一些節(jié)點(diǎn)的負(fù)載太低,資源沒(méi)能充分利用。這時(shí)就需要基礎(chǔ)設(shè)施層的自動(dòng)化負(fù)載平衡機(jī)制將負(fù)載進(jìn)行轉(zhuǎn)移,即從負(fù)載過(guò)高節(jié)點(diǎn)轉(zhuǎn)移到負(fù)載過(guò)低節(jié)點(diǎn),從而使得所有的資源在整體負(fù)載和整體利用率上面趨于平衡。節(jié)點(diǎn)的負(fù)載過(guò)高資源調(diào)度重要的是定時(shí)對(duì)資源分配進(jìn)行優(yōu)化和重新分配資源,使整個(gè)系統(tǒng)資源處于快速可獲得狀態(tài)。資源調(diào)度主要采用負(fù)載均衡策略使整個(gè)系統(tǒng)資源得到充分均衡的利用,解除單個(gè)服務(wù)器或網(wǎng)絡(luò)等的瓶頸問(wèn)題。3.2.4資源調(diào)度在基礎(chǔ)設(shè)施層這樣大規(guī)模的資源集群環(huán)境中573.2.5資源部署資源部署指的是通過(guò)自動(dòng)化部署流程將資源交付給上層應(yīng)用的過(guò)程,即使基礎(chǔ)設(shè)施服務(wù)變得可用的過(guò)程。在應(yīng)用程序環(huán)境構(gòu)建初期,當(dāng)所有虛擬化的硬件資源環(huán)境都已經(jīng)準(zhǔn)備就緒時(shí),就需要進(jìn)行初始化過(guò)程的資源部署。另外,在應(yīng)用運(yùn)行過(guò)程中,往往會(huì)進(jìn)行二次甚至多次資源部署,從而滿(mǎn)足上層服務(wù)對(duì)于基礎(chǔ)設(shè)施層中資源的需求,也就是運(yùn)行過(guò)程中的動(dòng)態(tài)部署。資源部署的定義資源部署的方法會(huì)隨構(gòu)建基礎(chǔ)設(shè)施層所采用技術(shù)的不同而有著巨大的差異。使用服務(wù)器虛擬化技術(shù)構(gòu)建的基礎(chǔ)設(shè)施層和未使用這些技術(shù)的傳統(tǒng)物理環(huán)境有很大的差別,前者的資源部署更多是虛擬機(jī)的部署和配置過(guò)程。而后者的資源部署則涉及了從操作系統(tǒng)到上層應(yīng)用整個(gè)軟件堆棧的自動(dòng)化部署和配置。相比之下,采用虛擬化技術(shù)的基礎(chǔ)設(shè)施層資源部署更容易實(shí)現(xiàn)。資源部署的方法動(dòng)態(tài)部署有多種應(yīng)用場(chǎng)景,一個(gè)典型的場(chǎng)景就是實(shí)現(xiàn)基礎(chǔ)設(shè)施層的動(dòng)態(tài)可伸縮性,也就是說(shuō)云端運(yùn)行的應(yīng)用可以在極短的時(shí)間內(nèi)根據(jù)具體用戶(hù)需求和服務(wù)狀況的變化而調(diào)整。另外一個(gè)典型場(chǎng)景是故障恢復(fù)和硬件維護(hù)。3.2.5資源部署資源部署指的是通過(guò)自動(dòng)化部署流程將資源583.2.6數(shù)據(jù)管理現(xiàn)實(shí)中軟件系統(tǒng)經(jīng)常處理的數(shù)據(jù)分為很多不同的種類(lèi),如半結(jié)構(gòu)化的XML數(shù)據(jù)、非結(jié)構(gòu)化的二進(jìn)制數(shù)據(jù)及關(guān)系型的數(shù)據(jù)庫(kù)數(shù)據(jù)等。不同的基礎(chǔ)設(shè)施層所提供的功能不同,會(huì)使得數(shù)據(jù)管理的實(shí)現(xiàn)有著非常大的差異。在云計(jì)算環(huán)境中,數(shù)據(jù)的完整性、可靠性和可管理性是對(duì)基礎(chǔ)設(shè)施層數(shù)據(jù)管理的基本要求。完整性要求在任何時(shí)候數(shù)據(jù)都能夠被正確地讀取并且在寫(xiě)入操作上進(jìn)行適當(dāng)?shù)耐???煽啃砸髮?shù)據(jù)的損壞和丟失的幾率降到最低,這通常需要對(duì)數(shù)據(jù)進(jìn)行冗余備份??晒芾硇砸髷?shù)據(jù)能夠被管理員及上層服務(wù)提供者以一種粗粒度和邏輯簡(jiǎn)單的方式管理,這通常要求基礎(chǔ)設(shè)施層內(nèi)部在數(shù)據(jù)管理上有充分、可靠的自動(dòng)化管理流程。3.2.6數(shù)據(jù)管理現(xiàn)實(shí)中軟件系統(tǒng)經(jīng)常處理的數(shù)據(jù)分為很多不593.2.7安全管理安全管理是對(duì)資源、應(yīng)用和賬號(hào)等IT資源采取全面保護(hù),使其免受犯罪分子和惡意程序的侵害,并保證云基礎(chǔ)設(shè)施及其提供的資源能被合法地訪問(wèn)和使用。安全管理主要通過(guò)對(duì)資源訪問(wèn)用戶(hù)進(jìn)行身份認(rèn)證,訪問(wèn)授權(quán)保障資源只能被合法用戶(hù)獲取,利用數(shù)據(jù)加密保障數(shù)據(jù)的私密性,采用綜合防護(hù)和安全審計(jì)等措施保障整個(gè)資源管理系統(tǒng)的安全性。具體來(lái)講安全管理主要包括7種機(jī)制(見(jiàn)右圖)。訪問(wèn)授權(quán)安全策略數(shù)據(jù)加密網(wǎng)絡(luò)隔離數(shù)據(jù)備份物理安全安全審計(jì)3.2.7安全管理安全管理是對(duì)資源、應(yīng)用和賬號(hào)等IT資源603.2.8任務(wù)管理任務(wù)管理主要管理用戶(hù)請(qǐng)求資源的任務(wù),包括任務(wù)的調(diào)度、任務(wù)的執(zhí)行、任務(wù)的生命周期管理等。任務(wù)管理的目的是保證所有的任務(wù)都能快速高效地完成。3.2.8任務(wù)管理任務(wù)管理主要管理用戶(hù)請(qǐng)求資源的任務(wù),包61基本功能概述服務(wù)器虛擬化技術(shù)3.13.2內(nèi)容導(dǎo)航CONTENTSOpenStack3.43.5整體架構(gòu)3.3基本功能概述服務(wù)器虛擬化技術(shù)3.13.2內(nèi)容導(dǎo)航CONTEN623.2整體架構(gòu)1.基礎(chǔ)設(shè)施平臺(tái)基礎(chǔ)設(shè)施平臺(tái)分為三層:基礎(chǔ)設(shè)施資源池、資源管理平臺(tái)和業(yè)務(wù)服務(wù)管理平臺(tái)。資源管理平臺(tái)和業(yè)務(wù)服務(wù)管理平臺(tái)是IaaS管理平臺(tái)的組成部分?;A(chǔ)設(shè)施資源池是實(shí)現(xiàn)融合基礎(chǔ)設(shè)施結(jié)構(gòu)的關(guān)鍵要素,是共享服務(wù)器、存儲(chǔ)和網(wǎng)絡(luò)的集合,從而能夠更快捷地支持業(yè)務(wù)需求的變化。實(shí)現(xiàn)基礎(chǔ)設(shè)施資源池的一種有效方法就是服務(wù)器虛擬化,它是一種可以在一臺(tái)物理服務(wù)器上運(yùn)行多個(gè)邏輯服務(wù)器的技術(shù),每個(gè)邏輯服務(wù)器被稱(chēng)為一個(gè)虛擬機(jī)。虛擬化技術(shù)是IaaS層的核心技術(shù),主要實(shí)現(xiàn)了對(duì)底層物理資源的抽象,使其成為一個(gè)個(gè)可以被靈活生成、調(diào)度、管理的基礎(chǔ)資源單位?;A(chǔ)設(shè)施資源池3.2整體架構(gòu)1.基礎(chǔ)設(shè)施平臺(tái)資源管理平臺(tái)和業(yè)務(wù)服務(wù)管理633.3整體架構(gòu)負(fù)責(zé)對(duì)基礎(chǔ)設(shè)施服務(wù)池的資源進(jìn)行統(tǒng)一的管理和調(diào)度,實(shí)現(xiàn)IaaS服務(wù)的可管、可控,其核心是對(duì)每個(gè)基礎(chǔ)資源單位的生命周期管理能力和對(duì)資源的管理調(diào)度能力。資源管理平臺(tái)能夠完成數(shù)據(jù)管理、資源監(jiān)控、資源部署、資源調(diào)度、安全管理等功能。另外,它還要完成對(duì)虛擬機(jī)模板的管理,用來(lái)注冊(cè)和檢索虛擬機(jī)鏡像。資源管理平臺(tái)負(fù)責(zé)將IaaS的各種資源封裝成各種服務(wù),然后以方便易用的方式提供給用戶(hù)使用。業(yè)務(wù)管理平臺(tái)是實(shí)現(xiàn)IaaS服務(wù)正常運(yùn)營(yíng)的保證,其主要功能包括業(yè)務(wù)服務(wù)管理、業(yè)務(wù)流程管理、計(jì)費(fèi)管理和用戶(hù)管理。業(yè)務(wù)服務(wù)管理平臺(tái)在云計(jì)算環(huán)境下,資源不再是分散的硬件,而是將物理服務(wù)器經(jīng)過(guò)整合之后,形成一個(gè)或多個(gè)邏輯上的虛擬資源池,共享計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源,這就是IaaS平臺(tái)的最下層,即是基礎(chǔ)設(shè)施服務(wù)池。3.3整體架構(gòu)負(fù)責(zé)對(duì)基礎(chǔ)設(shè)施服務(wù)池的資源進(jìn)行統(tǒng)一的管理和643.3整體架構(gòu)2.云計(jì)算資源的管理目標(biāo)云計(jì)算資源的管理目標(biāo)是智能化、資源虛擬化、資源優(yōu)化、易操作管理。智能化是指IaaS資源管理系統(tǒng)在無(wú)需人工干預(yù)的情況下智能地處理用戶(hù)請(qǐng)求、監(jiān)控服務(wù)器軟硬件狀態(tài)以發(fā)現(xiàn)服務(wù)器故障并及時(shí)修復(fù)、將各項(xiàng)操作記錄在日志或數(shù)據(jù)庫(kù)中。資源虛擬化是將物理資源通過(guò)虛擬化技術(shù)進(jìn)行虛擬化。物理資源是異構(gòu)的、分散的,只有通過(guò)虛擬化才能將物理資源整合起來(lái),以服務(wù)的形式提供給用戶(hù)。資源優(yōu)化是將中心資源在實(shí)現(xiàn)容災(zāi)備份的基礎(chǔ)上,刪除重復(fù)冗余數(shù)據(jù),從整個(gè)系統(tǒng)來(lái)講,減少資源浪費(fèi),提高資源利用率。易操作管理主要是使管理員能夠方便地管理資源,管理系統(tǒng)要具備良好的交互性、管理界面易操作等特點(diǎn)。3.3整體架構(gòu)2.云計(jì)算資源的管理目標(biāo)智能化是指IaaS65基本功能概述3.13.2內(nèi)容導(dǎo)航CONTENTS整體架構(gòu)3.3服務(wù)器虛擬化技術(shù)OpenStack3.43.5基本功能概述3.13.2內(nèi)容導(dǎo)航CONTENTS整體架構(gòu)3.663.4服務(wù)器虛擬化技術(shù)服務(wù)器虛擬化是指能夠在一臺(tái)物理服務(wù)器上運(yùn)行多臺(tái)虛擬服務(wù)器的技術(shù),并且上述虛擬服務(wù)器在用戶(hù)、應(yīng)用軟件甚至操作系統(tǒng)看來(lái),幾乎與物理服務(wù)器沒(méi)有區(qū)別,用戶(hù)可以在虛擬服務(wù)器上靈活地安裝任何軟件。同時(shí)服務(wù)器虛擬化技術(shù)還應(yīng)該確保上述多個(gè)虛擬服務(wù)器之間的數(shù)據(jù)是隔離的,虛擬服務(wù)器對(duì)資源的使用是可控的。虛擬化技術(shù)的進(jìn)步對(duì)云計(jì)算的發(fā)展起著重要的作用。3.4服務(wù)器虛擬化技術(shù)服務(wù)器虛擬化是指能夠在一臺(tái)物理服務(wù)673.4.1IaaS的基本資源

IaaS具體管理的物理資源可以分為三大類(lèi):計(jì)算資源(CPU、內(nèi)存)、存儲(chǔ)資源和網(wǎng)絡(luò)資源。從計(jì)算資源角度來(lái)講,IaaS軟件管理的最小的物理單元為一個(gè)物理服務(wù)器。根據(jù)需求,可以在服務(wù)器上創(chuàng)建多個(gè)虛擬機(jī)(如右圖所示)。若干配置相同的物理服務(wù)器會(huì)組成一個(gè)集群,要求配置相同的主要原因是因?yàn)樾枰С痔摂M機(jī)動(dòng)態(tài)遷移。通常一些集群還會(huì)組成更大規(guī)模的區(qū)域(Zone)。3.4.1IaaS的基本資源IaaS具體管683.4.2實(shí)現(xiàn)方式根據(jù)虛擬化層實(shí)現(xiàn)方式的不同,服務(wù)器虛擬化主要有兩種類(lèi)型,寄宿虛擬化和原生虛擬化。寄宿虛擬化。虛擬機(jī)監(jiān)視器(VirtualMachineMonitor,VMM)是運(yùn)行在宿主操作系統(tǒng)之上的應(yīng)用程序,利用宿主操作系統(tǒng)的功能來(lái)實(shí)現(xiàn)硬件資源的抽象和虛擬機(jī)的管理。這種模式的虛擬化實(shí)現(xiàn)起來(lái)比較容易,但由于虛擬機(jī)對(duì)資源的管理需要通過(guò)宿主操作系統(tǒng)來(lái)完成,因此其性能通常比較低。原生虛擬化。在原生虛擬化中,直接運(yùn)行在硬件之上的不是宿主操作系統(tǒng),而是虛擬化平臺(tái)(Hypervisor)。虛擬機(jī)運(yùn)行在虛擬化平臺(tái)上,虛擬化平臺(tái)提供指令集和設(shè)備接口,以提供對(duì)虛擬機(jī)的支持。這種實(shí)現(xiàn)通常具有較好的性能,但是實(shí)現(xiàn)起來(lái)更為復(fù)雜。服務(wù)器虛擬化通過(guò)虛擬化軟件向上提供對(duì)硬件設(shè)備的抽象和對(duì)虛擬服務(wù)器的管理。具體來(lái)講,虛擬化軟件需要實(shí)現(xiàn)對(duì)硬件設(shè)備的抽象,資源的分配調(diào)度和管理,虛擬機(jī)與宿主操作系統(tǒng)及多個(gè)虛擬機(jī)間的隔離等功能,軟件提供的虛擬化層處于硬件平臺(tái)之上、客戶(hù)操作系統(tǒng)之下。3.4.2實(shí)現(xiàn)方式根據(jù)虛擬化層實(shí)現(xiàn)方式的不同,服務(wù)器虛擬693.4.3關(guān)鍵特性無(wú)論采用以上何種虛擬化實(shí)現(xiàn)方式,服務(wù)器虛擬化都需要具有以下特性,來(lái)保證可以被有效地運(yùn)用在實(shí)際環(huán)境中。隔離性多實(shí)例高性能封裝性01OPTION02OPTION03OPTION04OPTION多實(shí)例:在一個(gè)物理服務(wù)器上可以運(yùn)行多個(gè)虛擬服務(wù)器,即可以支持多個(gè)客戶(hù)操作系統(tǒng)。隔離性:一個(gè)虛擬機(jī)與其他虛擬機(jī)完全隔離,就如同幾個(gè)獨(dú)立的物理服務(wù)器一樣。封裝性:服務(wù)器虛擬化將物理機(jī)的硬件封裝為標(biāo)準(zhǔn)化的虛擬硬件設(shè)備,保證兼容性。高性能:服務(wù)器虛擬化的高性能是指虛擬機(jī)監(jiān)視器的開(kāi)銷(xiāo)要被控制在可承受的范圍之內(nèi)。3.4.3關(guān)鍵特性無(wú)論采用以上何種虛擬化實(shí)現(xiàn)方式,服務(wù)器703.4.4核心技術(shù)CPU的虛擬化技術(shù)的本質(zhì)就是以分時(shí)復(fù)用的方式,讓所有的虛擬機(jī)能夠共享CPU的計(jì)算能力。字長(zhǎng)越大CPU工作效率也就越高。(1)直觀描述為了解決x86體系結(jié)構(gòu)下的CPU虛擬化問(wèn)題,業(yè)界提出了全虛擬化和半虛擬化兩種軟件方案。其實(shí)際原理示意如下圖所示。(2)實(shí)現(xiàn)原理1.CPU虛擬化CPU虛擬化技術(shù)把物理CPU抽象成虛擬CPU,任意時(shí)刻一個(gè)物理CPU只能運(yùn)行一個(gè)虛擬CPU的指令。每個(gè)客戶(hù)操作系統(tǒng)可以使用一個(gè)或多個(gè)虛擬CPU。虛擬CPU的運(yùn)行相互隔離,互不影響。3.4.4核心技術(shù)CPU的虛擬化技術(shù)的本質(zhì)就是以分時(shí)復(fù)用713.4.4核心技術(shù)對(duì)于每個(gè)虛擬機(jī)來(lái)說(shuō),不論它分配了多少內(nèi)存,它通常都是認(rèn)為自己的內(nèi)存是從零地址開(kāi)始的一段空間。不僅內(nèi)存的起始地址在物理機(jī)上不同,通常連虛擬機(jī)的內(nèi)存在物理機(jī)內(nèi)存上的分布也不是連續(xù)的。它們可能會(huì)被映射到不同的內(nèi)存區(qū)間。虛擬機(jī)管理程序負(fù)責(zé)維護(hù)虛擬機(jī)內(nèi)存在物理內(nèi)存上的映射,這種映射對(duì)虛擬機(jī)的操作系統(tǒng)來(lái)說(shuō)可以是完全透明而高效的。現(xiàn)有的虛擬機(jī)管理程序甚至支持分配的虛擬機(jī)內(nèi)存空間的總和大于物理內(nèi)存,這種技術(shù)叫作超分(Overcommit)。(1)直觀描述2.內(nèi)存虛擬化內(nèi)存虛擬化技術(shù)把物理機(jī)的真實(shí)物理內(nèi)存統(tǒng)一管理,包裝成多個(gè)虛擬的物理內(nèi)存分別供若干個(gè)虛擬機(jī)使用,使得每個(gè)虛擬機(jī)擁有各自獨(dú)立的內(nèi)存空間。在服務(wù)器虛擬化技術(shù)中,因?yàn)閮?nèi)存是虛擬機(jī)最頻繁訪問(wèn)的設(shè)備,因此內(nèi)存虛擬化與CPU虛擬化具有同等重要的地位。3.4.4核心技術(shù)對(duì)于每個(gè)虛擬機(jī)來(lái)說(shuō),不論它分配了多少內(nèi)723.4.4核心技術(shù)(2)實(shí)現(xiàn)原理在內(nèi)存虛擬化中存在著邏輯內(nèi)存、“物理”內(nèi)存和機(jī)器內(nèi)存三種內(nèi)存類(lèi)型,這三種內(nèi)存的地址空間被稱(chēng)為邏輯地址、“物理”地址和機(jī)器地址。在內(nèi)存虛擬化中,邏輯內(nèi)存與機(jī)器內(nèi)存之間的映射關(guān)系是由內(nèi)存虛擬化管理單元來(lái)負(fù)責(zé)的。內(nèi)存虛擬化管理單元的實(shí)現(xiàn)方法——影子頁(yè)表法和頁(yè)表寫(xiě)入法3.4.4核心技術(shù)(2)實(shí)現(xiàn)原理在內(nèi)存虛擬化中存在著邏輯733.4.4核心技術(shù)設(shè)備與I/O虛擬化技術(shù)對(duì)物理機(jī)的真實(shí)設(shè)備進(jìn)行統(tǒng)一管理,包裝成多個(gè)虛擬設(shè)備給若干個(gè)虛擬機(jī)使用,響應(yīng)每個(gè)虛擬機(jī)的設(shè)備訪問(wèn)請(qǐng)求和I/O請(qǐng)求。目前,主流的設(shè)備與I/O虛擬化都是通過(guò)軟件的方式實(shí)現(xiàn)的。虛擬化平臺(tái)作為在共享硬件與虛擬機(jī)之間的平臺(tái),為設(shè)備與I/O的管理提供了便利,也為虛擬機(jī)提供了豐富的虛擬設(shè)備功能。3.設(shè)備與I/O虛擬化以VMware的虛擬化平臺(tái)為例,虛擬化平臺(tái)將物理機(jī)的設(shè)備虛擬化,把這些設(shè)備標(biāo)準(zhǔn)化為一系列虛擬設(shè)備,為虛擬機(jī)提供一個(gè)可以使用的虛擬設(shè)備集合。3.4.4核心技術(shù)設(shè)備與I/O虛擬化技術(shù)對(duì)物理機(jī)的真實(shí)設(shè)743.4.4核心技術(shù)網(wǎng)絡(luò)虛擬化是將多個(gè)硬件或軟件網(wǎng)絡(luò)資源及相關(guān)的網(wǎng)絡(luò)功能集成到一個(gè)可用軟件中統(tǒng)一管控的過(guò)程,并且對(duì)于網(wǎng)絡(luò)應(yīng)用而言,該網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)方式是透明的。該網(wǎng)絡(luò)環(huán)境稱(chēng)為虛擬網(wǎng)絡(luò),形成該虛擬網(wǎng)絡(luò)的過(guò)程稱(chēng)為網(wǎng)絡(luò)虛擬化。

假如原本的物理機(jī)只有一個(gè)網(wǎng)卡,那么它有一個(gè)MAC地址,并且可以分配一個(gè)IP地址,其他機(jī)器就可以通過(guò)IP地址訪問(wèn)這個(gè)物理主機(jī)。當(dāng)創(chuàng)建多個(gè)虛擬機(jī)以后,每個(gè)虛擬機(jī)都需要有獨(dú)立的網(wǎng)絡(luò)配置,以便它們可以像物理機(jī)一樣處理各種網(wǎng)絡(luò)連接。但是這個(gè)時(shí)候物理機(jī)上依然只有一個(gè)網(wǎng)卡,多個(gè)虛擬機(jī)通過(guò)這一個(gè)物理網(wǎng)卡都能進(jìn)行順暢的網(wǎng)絡(luò)連接的過(guò)程即為網(wǎng)絡(luò)虛擬化,如右圖所示。4.網(wǎng)絡(luò)虛擬化3.4.4核心技術(shù)網(wǎng)絡(luò)虛擬化是將多個(gè)硬件或軟件網(wǎng)絡(luò)資源及753.4.4核心技術(shù)實(shí)時(shí)遷移(LiveMigration)技術(shù)是在虛擬機(jī)運(yùn)行過(guò)程中,將整個(gè)虛擬機(jī)的運(yùn)行狀態(tài)完整、快速地從原來(lái)所在的宿主機(jī)硬件平臺(tái)遷移到新的宿主機(jī)硬件平臺(tái)上,并且整個(gè)遷移過(guò)程是平滑的,用戶(hù)幾乎不會(huì)察覺(jué)到任何差異。實(shí)時(shí)遷移需要虛擬機(jī)監(jiān)視器的協(xié)助,即通過(guò)源主機(jī)和目標(biāo)主機(jī)上虛擬機(jī)監(jiān)視器的相互配合,來(lái)完成客戶(hù)操作系統(tǒng)的內(nèi)存和其他狀態(tài)信息的拷貝。5.實(shí)時(shí)遷移技術(shù)3.4.4核心技術(shù)實(shí)時(shí)遷移(LiveMigration763.4.5虛擬化與云計(jì)算在云計(jì)算技術(shù)中,數(shù)據(jù)、應(yīng)用和服務(wù)都存儲(chǔ)在云中,云就是用戶(hù)的超級(jí)計(jì)算機(jī)。因此,云計(jì)算要求所有的資源能夠被這個(gè)超級(jí)計(jì)算機(jī)統(tǒng)一地管理,而虛擬化技術(shù)是云計(jì)算中最關(guān)鍵、最核心的技術(shù)源動(dòng)力。虛擬化技術(shù)可以對(duì)物理資源等底層架構(gòu)進(jìn)行抽象,使得設(shè)備的差異和兼容性對(duì)上層應(yīng)用透明,從而允許云對(duì)底層千差萬(wàn)別的資源進(jìn)行統(tǒng)一管理。虛擬化簡(jiǎn)化了應(yīng)用編寫(xiě)的工作,使得開(kāi)發(fā)人員可以?xún)H關(guān)注于業(yè)務(wù)邏輯,而不需要考慮底層資源的供給與調(diào)度。運(yùn)用虛擬化技術(shù)還可以隨時(shí)方便地進(jìn)行資源調(diào)度,實(shí)現(xiàn)資源的按需分配,應(yīng)用和服務(wù)既不會(huì)因?yàn)槿狈Y源而性能下降,也不會(huì)由于長(zhǎng)期處于空閑狀態(tài)而造成資源的浪費(fèi)。虛擬機(jī)的易創(chuàng)建性使應(yīng)用和服務(wù)可以擁有更多的虛擬機(jī)來(lái)進(jìn)行容錯(cuò)和災(zāi)難恢復(fù),從而提高了自身的可靠性和可用性。3.4.5虛擬化與云計(jì)算在云計(jì)算技術(shù)中,數(shù)據(jù)、應(yīng)用和服務(wù)77基本功能概述3.13.2內(nèi)容導(dǎo)航CONTENTS整體架構(gòu)3.3服務(wù)器虛擬化技術(shù)3.4OpenStack3.5基本功能概述3.13.2內(nèi)容導(dǎo)航CONTENTS整體架構(gòu)3.783.5.1簡(jiǎn)介OpenStack是一個(gè)由NASA(NationalAeronauticsandSpaceAdministration,美國(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除了有Rackspace和NASA的大力支持外,還有包括Dell、Citrix、Cisco、Canonical等重量級(jí)公司的貢獻(xiàn)和支持,發(fā)展速度非??臁penStack是一個(gè)旨在為公共及私有云的建設(shè)與管理提供軟件的開(kāi)源項(xiàng)目。OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個(gè)方面。3.5.1簡(jiǎn)介OpenStack是一個(gè)由NASA(Nat793.5.1簡(jiǎn)介OpenStack根據(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)目。截止到Liberty版本,共包含6個(gè)核心項(xiàng)目:OpenStackCompute(計(jì)算):NovaOpenStackBlockStorage(塊存儲(chǔ)):CinderOpenStackNewtron(網(wǎng)絡(luò)):NeutronOpenStackImageService(鏡像服務(wù)):GlanceOpenStackObjectStorage(對(duì)象存儲(chǔ)):SwiftOpenStackIdentityService(身份服務(wù)):KeystoneOpenStackDashboard(UI界面):HorizonOpenStack核心項(xiàng)目3.5.1簡(jiǎn)介OpenStack根據(jù)成熟及重要程度的不同803.5.2OpenStackCompute:NovaNova提供一個(gè)組織云的工具,主要功能包括運(yùn)行虛擬機(jī)實(shí)例,管理網(wǎng)絡(luò)以及通過(guò)用戶(hù)和項(xiàng)目來(lái)控制對(duì)云端的訪問(wèn)。Nova提供的軟件可以控制IaaS云計(jì)算平臺(tái),類(lèi)似于AmazonEC2。1.邏輯架構(gòu)Nova的主要功能是圍繞幾個(gè)關(guān)鍵的概念模型進(jìn)行管理的,如下圖所示。用戶(hù)通過(guò)項(xiàng)目來(lái)管理其擁有的資源和虛擬機(jī)。項(xiàng)目用來(lái)進(jìn)行業(yè)務(wù)的分類(lèi)管理。鏡像是用來(lái)創(chuàng)建虛擬機(jī)的模板,為每個(gè)虛擬機(jī)分配所需的IP資源(也就是IP地址)以及云硬盤(pán)。另外,還必須為每個(gè)虛擬機(jī)設(shè)置一個(gè)安全組,也就是網(wǎng)絡(luò)訪問(wèn)規(guī)則的組合。通過(guò)安全組可以控制虛擬機(jī)的網(wǎng)絡(luò)安全訪問(wèn)。3.5.2OpenStackCompute:NovaN813.5.2OpenStackCompute:Nova從架構(gòu)中可以看出Nova是由API服務(wù)器(nova-api)、調(diào)度器(nova-scheduler)、計(jì)算控制器(nova-compute)、網(wǎng)絡(luò)控制器(nova-network)、卷控制器(nova-volume)、消息隊(duì)列(queue)、儀表盤(pán)(dashboard)等重要組件組成的。各個(gè)組件功能如下。(1)nova-api組件是Nova的核心,為所有外部調(diào)用提供服務(wù)。(2)nova-compute組件負(fù)責(zé)虛擬機(jī)實(shí)例的管理,包括虛擬機(jī)的創(chuàng)建、終止、遷移、調(diào)整等操作。(3)nova-volume組件主要管理映射到計(jì)算機(jī)實(shí)例的卷的創(chuàng)建、附加和取消。(4)nova-network組件負(fù)責(zé)對(duì)網(wǎng)絡(luò)的操作和管理。(5)Queue為各個(gè)組件的守護(hù)進(jìn)程傳遞消息。(6)SQLDatabase存儲(chǔ)平臺(tái)的所有運(yùn)行狀態(tài),包括可用的實(shí)例類(lèi)型、在用的實(shí)例、可用的網(wǎng)絡(luò)和項(xiàng)目等。(7)nova-scheduler負(fù)責(zé)虛擬機(jī)的調(diào)度,也就是決定在哪臺(tái)資源可用的物理服務(wù)器上創(chuàng)建新的虛擬機(jī)實(shí)例。Nova的邏輯架構(gòu)3.5.2OpenStackCompute:Nova從823.5.2OpenStackCompute:Novanova-api(APIServer)是Nova對(duì)外的標(biāo)準(zhǔn)化接口。Nova的各子模塊,如計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源子模塊通過(guò)各自的API接口提供服務(wù)。各子模塊的API接口可以相互調(diào)用??傮w來(lái)說(shuō),計(jì)算資源服務(wù)(compute-api)調(diào)用網(wǎng)絡(luò)資源服務(wù)(network-api)和存儲(chǔ)資源服務(wù)(volume-api)提供服務(wù)。2.運(yùn)行架構(gòu)Nova的不同關(guān)鍵子模塊之間的調(diào)用關(guān)系

——?jiǎng)?chuàng)建虛擬機(jī)(VM)為例Nova子模塊協(xié)作關(guān)系3.5.2OpenStackCompute:Novan833.5.2OpenStackCompute:NovaNova子模塊協(xié)作運(yùn)行機(jī)制創(chuàng)建虛擬機(jī)實(shí)例3.5.2OpenStackCompute:NovaN843.5.2OpenStackCompute:Nova3.物理架構(gòu)多結(jié)點(diǎn)部署唯一的相互依賴(lài)性是Dashboard必須與nova-api安裝在同一個(gè)服務(wù)器上。幾種部署架構(gòu)如下。(1)單結(jié)點(diǎn):一臺(tái)服務(wù)器運(yùn)行所有的nova-services,同時(shí)也驅(qū)動(dòng)虛擬實(shí)例。(2)雙結(jié)點(diǎn):一個(gè)CloudController結(jié)點(diǎn)運(yùn)行除nova-compute外的所有nova-services,Compute結(jié)點(diǎn)運(yùn)行nova-compute。(3)多結(jié)點(diǎn):通過(guò)簡(jiǎn)單部署nova-compute在一臺(tái)額外的服務(wù)器以及拷貝nova.conf文件到這個(gè)新增的結(jié)點(diǎn),形成多結(jié)點(diǎn)部署。Nova多節(jié)點(diǎn)部署Nova大規(guī)模部署3.5.2OpenStackCompute:Nova3853.5.3OpenStackBlockStorage:CinderCinder的功能就是實(shí)現(xiàn)存儲(chǔ)服務(wù)(見(jiàn)下圖),根據(jù)實(shí)際需要快速地為虛擬機(jī)提供塊存儲(chǔ)設(shè)備的創(chuàng)建、掛載、回收及快照備份控制等。Cinder的服務(wù)主要包括API、cinder-volume、cinder-backup和cinder-scheduler。Cinder對(duì)塊數(shù)據(jù)實(shí)現(xiàn)了多種的存儲(chǔ)管理方式。LVM、NFS和iSCSI這些存儲(chǔ)方式都在cinder/volume/drivers下,要實(shí)現(xiàn)特定的存儲(chǔ)方法只需要繼承VolumeDriver基類(lèi)或者類(lèi)似iSCSIDriver子類(lèi)。Cinder存儲(chǔ)分為本地塊存儲(chǔ)、分布式塊存儲(chǔ)和SAN存儲(chǔ)等多種后端存儲(chǔ)類(lèi)型。3.5.3OpenStackBlockStorage863.5.4OpenStackNetwork:NeutronNeutron目的是為OpenStack提供更靈活的劃分網(wǎng)絡(luò)的能力,能夠在多租戶(hù)的環(huán)境下提供給每個(gè)租戶(hù)獨(dú)立的網(wǎng)絡(luò)環(huán)境。1.OpenStack的三種網(wǎng)絡(luò)在一個(gè)典型的OpenStack部署環(huán)境下,有如下三種網(wǎng)絡(luò):(1)外網(wǎng)(ExternalNetwork/APINetwork)(2)數(shù)據(jù)網(wǎng)絡(luò)(DataNetwork)(3)管理網(wǎng)絡(luò)(ManagementNetwork)將這三個(gè)網(wǎng)絡(luò)隔離,一方面是為了安全,另一方面是流量分離。3.5.4OpenStackNet

溫馨提示

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

評(píng)論

0/150

提交評(píng)論