專利名稱:云計算服務平臺的虛擬計算資源動態(tài)管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
云計算在IT領(lǐng)域里被認為是繼微型計算機、互聯(lián)網(wǎng)之后的第三次變革,是互聯(lián)網(wǎng)發(fā)展的大勢所趨。云計算是隨著虛擬化技術(shù)、CPU多核技術(shù)、寬帶技術(shù)、并行運算、分布式計算、網(wǎng)格計算的發(fā)展,互聯(lián)網(wǎng)規(guī)模的不斷擴大,用戶對信息、網(wǎng)絡(luò)、計算、存儲的需求不斷增大,服務商為適應這種需求而逐漸發(fā)展起來的技術(shù)和服務。云計算通過將作為IT信息服務提供主體的服務器、操作系統(tǒng)、網(wǎng) 絡(luò)、存儲、基礎(chǔ)軟件、平臺、架構(gòu)等技術(shù)細節(jié)屏蔽并抽象為可運營可管理的計算能力、存儲能力等服務形式,通過網(wǎng)絡(luò)動態(tài)地提供給信息使用者,用戶按實際使用量進行付費。云計算具有以下幾個關(guān)鍵點1)共享的資源和共享的技術(shù)架構(gòu)2)具有分布式的計算模式和存儲模式;3)通過虛擬化實現(xiàn)數(shù)據(jù)中心硬件資源的統(tǒng)計復用和可流動的資源;4)能為用戶提供包括軟硬件設(shè)施在內(nèi)的不同級別的IT資源服務;5)資源動態(tài)擴展,按需供給,按量計費。6)智能化的應用到資源分配;7)自動化的應用部署和資源配置?,F(xiàn)在云計算已經(jīng)不單單是一種技術(shù)術(shù)語或技術(shù)架構(gòu),更是一種新的服務模式和商務模式。云計算通過將技術(shù)領(lǐng)域的服務器、網(wǎng)絡(luò)、存儲、各種操作系統(tǒng)、軟件做整合,并進一步將產(chǎn)業(yè)領(lǐng)域里的公司、單位和企業(yè)里的數(shù)據(jù)中心、設(shè)備、人員、服務等作整合,使信息服務做到產(chǎn)業(yè)化、規(guī)?;?、專業(yè)化、集約化,大大提升了信息基礎(chǔ)資源的使用率和信息服務的效率,節(jié)省了社會成本、資源和消耗。
二.
背景技術(shù):
云計算的核心技術(shù)包含了虛擬化技術(shù)、分布式計算技術(shù)、云平臺管理技術(shù)2. I虛擬化技術(shù)2006年以來基于Xen的開源虛擬化發(fā)展迅猛,使虛擬化技術(shù)逐步開始廣泛普及。由于虛擬化技術(shù)可以在一臺服務器上安裝多個操作系統(tǒng),從而大大提高了服務器的使用效率。虛擬化代表資源的邏輯表示,理論上不受物理資源的限制。虛擬化技術(shù)的實現(xiàn)形式是在操作系統(tǒng)中加入一個虛擬化層,將下層的資源抽象成另一形式的資源,提供給上層使用。在實踐中有CPU的虛擬化、內(nèi)存的虛擬化和I/O的虛擬化。雖然IBM早在70年代就開始研究此項技術(shù),但在X86架構(gòu)上實現(xiàn)虛擬化是從VMware在90年代開始的,因為X86很難實現(xiàn)虛擬化,這是因為X86的ISA架構(gòu)有17條敏感指令不屬于特權(quán)指令,也就是說虛擬機如果執(zhí)行這些指令肯能會導致整個系統(tǒng)的不穩(wěn)定。所以Vmware推出了全虛擬化的商業(yè)版產(chǎn)品,即無需修改客戶機的操作系統(tǒng),通過截獲客戶機執(zhí)行的特權(quán)指令并且掃描客戶機內(nèi)核執(zhí)行的二進制代碼,將敏感指令翻譯成虛擬化指令來執(zhí)行。2005年以后出現(xiàn)了以Xen為代表的開源的半虛擬化產(chǎn)品,通過修改Guest OS的代碼,使其將那些和特權(quán)指令相關(guān)的操作都轉(zhuǎn)換會發(fā)給VMM的Hypercall (超級調(diào)用),而且Hypercall支持批處理和異步這兩種優(yōu)化方式,使得通過Hypercall能得到近似于物理機的速度。2007年以后Intel和AMD都推出了支持硬件虛擬化的產(chǎn)品,通過引入新的CPU指令和運行模式,讓虛擬機和VMM運行于不同的處理器模式,如Root模式和Operation模式,當虛擬機執(zhí)行敏感指令時,系統(tǒng)自動切換到Root模式由VMM來執(zhí)行。還有一類虛擬化是以O(shè)penVZ和Solaris Container為代表的操作系統(tǒng)虛擬化產(chǎn)品,即將主機的操作系統(tǒng)分區(qū),在內(nèi)核實例的基礎(chǔ)上實現(xiàn)虛擬化,系統(tǒng)開銷更小。但是由于不提供虛擬的操作系統(tǒng)環(huán)境,許多需要訪問底層驅(qū)動的應用無法運行,而且與主機操作系統(tǒng)不同的操作系統(tǒng)也無法運行。Vmware雖然提供了許多有效的虛擬機管理系統(tǒng),但是由于VMware是商業(yè)版本,按照主機上的CPU插槽數(shù)目來收取版本費,對于互聯(lián)網(wǎng)公司這樣需要依靠海量PC服務器來提 供服務的用戶來講,使用VMware的成本是極高的。而基于XEN或KVM這樣的開源虛擬化產(chǎn)品,雖然也有VM的動態(tài)遷移功能,但是缺乏虛擬機的管理系統(tǒng),當應對海量虛擬機資源時,缺乏有效的管理工具,無法自動化地分配虛擬機資源和供應虛擬機資源,也缺乏與應用的接口來調(diào)用虛擬機資源為應用服務。2. 2分布式計算技術(shù)分布式處理是信息處理的一種方式,是與集中式處理相對的一個概念,它通過通信網(wǎng)絡(luò)將分散在各地的多臺計算機連接起來,在控制系統(tǒng)的管理控制下,協(xié)調(diào)地完成信息處理任務。分布式處理常用于對海量數(shù)據(jù)進行分析計算,它把數(shù)據(jù)和計算任務分配到網(wǎng)絡(luò)上不同的計算機,這些計算機在控制器的調(diào)度下共同完成計算任務,分布式處理的性能主要取決于數(shù)據(jù)和控制的通信效率。分布式處理是云計算的一個關(guān)鍵環(huán)節(jié),它可以部署在虛擬化之上,解決云計算數(shù)據(jù)中心大規(guī)模服務器群的協(xié)同工作問題,由分布式文件系統(tǒng)、分布式計算、分布式數(shù)據(jù)庫和分布式同步機制四部分組成。分布式文件系統(tǒng)是分布式計算環(huán)境的基礎(chǔ)架構(gòu)之一,它把分散在網(wǎng)絡(luò)中的文件資源以統(tǒng)一的視點呈現(xiàn)給用戶,簡化了用戶訪問的復雜性,加強了分布系統(tǒng)的可管理性,也為進一步開發(fā)分布式應用準備了條件。分布式文件系統(tǒng)建立在客戶機/服務器技術(shù)基礎(chǔ)之上,由服務器與客戶機文件系統(tǒng)協(xié)同操作。控制功能分散在客戶機和服務器之間,使得諸如共享、數(shù)據(jù)安全性、透明性等在集中式文件系統(tǒng)中很容易處理的事情變得相當復雜。文件共享可分為讀共享、順序?qū)懝蚕砗筒l(fā)寫共享,在分布式文件系統(tǒng)中順序?qū)懶枰鉀Q共享用戶的同一視點問題,并發(fā)寫則需要考慮中間插入更新導致的一致性問題。在數(shù)據(jù)安全性方面,需要考慮數(shù)據(jù)的私有性和沖突時的數(shù)據(jù)恢復。透明性要求文件系統(tǒng)給用戶的界面是統(tǒng)一完整的,至少需要保證位置透明、并發(fā)訪問透明和故障透明。此外,擴展性也是分布式文件系統(tǒng)需要重點考慮的問題,增加或減少服務器時,分布式文件系統(tǒng)應能自動感知,而且不對用戶造成任何影響。分布式文件系統(tǒng)的例子有6 5,冊 5,(印11,1^8丨11代41118丨6沖5,即3
坐寸O分布式數(shù)據(jù)庫是一組結(jié)構(gòu)化的數(shù)據(jù)集,邏輯上屬于同一系統(tǒng),而物理上分散在用計算機網(wǎng)絡(luò)連接的多個場地上,并統(tǒng)一由一個分布式數(shù)據(jù)庫管理系統(tǒng)管理。與集中式或分散數(shù)據(jù)庫相比,分布式數(shù)據(jù)庫具有可靠性高、模塊擴展容易、響應延遲小、負載均衡、容錯能力強等優(yōu)點。數(shù)據(jù)冗余是分布式數(shù)據(jù)庫區(qū)別于其他數(shù)據(jù)庫的主要特征之一,它保證了分布式數(shù)據(jù)庫的可靠性,也是并行的基礎(chǔ)。隨著以SNS為代表的web2. O動態(tài)網(wǎng)站的發(fā)展,高并發(fā)、海量存儲和高擴展成了傳統(tǒng)關(guān)系型數(shù)據(jù)庫的瓶頸,解決這些問題的非關(guān)系型數(shù)據(jù)庫NoSQL逐漸發(fā)展起來??傊植际綌?shù)據(jù)和NoSQL數(shù)據(jù)庫的例子有BigTable,HBase,MongoDB,Redis, Tokyo Cabinet, CouchDB, Cassandra 等。分布式計算是讓幾個物理上獨立的組件作為一個單獨的系統(tǒng)協(xié)同工作。對于分布式編程而言,核心的問題是如何把一個大的應用程序分解成若干可以并行處理的子程序。有兩種可能處理的方法,一種是分割計算,即把應用程序的功能分割成若干個模塊,由網(wǎng)絡(luò)上多臺機器協(xié)同完成;另一種是分割數(shù)據(jù),即把數(shù)據(jù)集分割成小塊,由網(wǎng)絡(luò)上的多臺計算機分別計算。大型分布式系統(tǒng)通常會同時采取這兩種方法,并解決各功能模塊間協(xié)同工作的問題。這類系統(tǒng)可能采用以C/S結(jié)構(gòu)為基礎(chǔ)的三層或多層分布式對象體系結(jié)構(gòu),把表示邏輯、業(yè)務邏輯和數(shù)據(jù)邏輯分布在不同的機器上,C0RBA、EJB、DC0M是三種主流的中間件技術(shù)。也可能采用基于Web的體系結(jié)構(gòu),或稱Web Service,此模型是高度分布的面向服務的架 構(gòu),SOAP, WSDL, UDDI 是 Web Service 的核心技術(shù)。在分布式系統(tǒng)中,對共享資源的并行操作可能會引起丟失修改、讀臟數(shù)據(jù)、不可重復讀等數(shù)據(jù)不一致問題,這時需要引入分布式同步機制對并發(fā)操作進行控制,最常用的方式是分布式鎖機制以及沖突檢測。有幾種常用的并發(fā)控制方法基于鎖機制的并發(fā)控制方法基于時間戳的并發(fā)控制方法樂觀并發(fā)控制(OptimisticConcurrency Control)方法基于版本的并發(fā)控制方法基于事務類的并發(fā)控制方法對于由大規(guī)模廉價服務器群構(gòu)成的云計算數(shù)據(jù)中心而言,分布式同步機制是開展一切上層應用的基礎(chǔ),是系統(tǒng)正確性和可靠性的基本保證。Google Chubby和HadoopZooKeeper是云基礎(chǔ)架構(gòu)分布式同步機制的典型代表,用于協(xié)調(diào)系統(tǒng)各部件,其他分布式系統(tǒng)可以用它來同步訪問共享資源。2. 3云平臺管理技術(shù)云計算的主要功能是將計算資源、存儲資源、網(wǎng)絡(luò)資源有效地管理起來,以服務的形式提供給使用者。所以不單需要虛擬化技術(shù)和分布式計算技術(shù)作為基本技術(shù)元素,作為一個提供給用戶調(diào)用計算資源的服務平臺,更需要處理虛擬資源和物理資源的整合,解決資源按需分配的問題,動態(tài)擴展的問題,自動化管理的問題,應用程序部署的問題,數(shù)據(jù)管理的問題,以及用戶管理、安全備份等問題,這就需要一個完善的云平臺管理系統(tǒng)來完成。
以上涉及到的虛擬化技術(shù)、分布式計算、分布式存儲等技術(shù)都是云計算的基本技術(shù)組件,但是要將大規(guī)模的網(wǎng)絡(luò)系統(tǒng)、數(shù)據(jù)庫、基礎(chǔ)軟件等作為計算能力、存儲能力等以服務的形式提供給使用者,還需要云平臺的管理技術(shù)將這些組件組織和管理起來,來實現(xiàn)自動化的部署、動態(tài)的擴展、應用的支撐、數(shù)據(jù)的訪問等等。2. 3. I云平臺的服務模式和服務類型而云計算是一種創(chuàng)新的服務模式,而云平臺的服務模式按照按照技術(shù)體系架構(gòu)可分為IaaS, PaaS和SaaS三種
IaaS云計算平臺的最底層是IT基礎(chǔ)設(shè)施,Infrastructure as a Service就是服務商將IT基礎(chǔ)設(shè)施包括服務器、網(wǎng)絡(luò)、存儲、操作系統(tǒng)虛擬化后變成一種程序可管理的虛擬資源,通過網(wǎng)絡(luò)為用戶提供計算和存儲服務。典型的例子如Amazon的EC2,Gogrid和Rackspace也都是云計算IaaS服務提供商。PaaSPaaS平臺是一種開發(fā)和托管網(wǎng)絡(luò)應用的平臺,該平臺提供幾種網(wǎng)絡(luò)編程語言和框架,用戶可以使用這種編程語言和框架編寫可擴展和伸縮的應用,在云計算平臺中運行,而無需考慮程序是否受到資源的限制。這一般是服務商設(shè)計一種編程框架API讓用戶寫的應用調(diào)用運行在自己內(nèi)部的云計算設(shè)施上。例如Google的Apps Engine。
SaaS軟件即服務,例如Google Gmail,Google Docs。這是一種通過互聯(lián)網(wǎng)提供軟件服務的模式,廠商將應用軟件統(tǒng)一部署在自己的服務器上,用戶不需要下載安裝到本地,通過瀏覽器即可使用。用戶可以根據(jù)自己實際需求,按定購的服務多少和時間長短向廠商支付費用。用戶不用再購買軟件,且無需對軟件進行維護,服務提供商會全權(quán)管理和維護軟件,軟件廠商在向客戶提供互聯(lián)網(wǎng)應用的同時,也提供軟件的離線操作和本地數(shù)據(jù)存儲,讓用戶隨時隨地都可以使用其定購的軟件和服務。云計算平臺按照服務類型又可分為私有云和公有云。在企業(yè)內(nèi)部即防火墻以內(nèi)部署的,為企業(yè)內(nèi)部IT和生產(chǎn)提供服務的是私有云;在防火墻以外部署的,為公眾提供公共服務的是公有云;對于云計算客戶來講,自己有私有云,同時又將一部分數(shù)據(jù)和計算放到公有云平臺,這種云計算的使用模式叫混合云。2. 3. 2云平臺的管理技術(shù)分析對于IaaS而言,云平臺的管理是用虛擬化技術(shù)將閑散的物理資源集中和管理起來后,考慮如何將這些抽象的虛擬資源提供給用戶,并從中創(chuàng)造經(jīng)濟效益。一方面需對IT基礎(chǔ)設(shè)施進行管理,包括屏蔽硬件差異、監(jiān)控物理資源使用狀態(tài)、動態(tài)分配虛擬資源等 ’另一方面還需提供與用戶交互的接口,包括提供標準的API接口、提供虛擬資源的配置接口、提供服務目錄供用戶查找可用服務、提供實時監(jiān)視和統(tǒng)計功能等。對PaaS服務而言,在云平臺上需要部署分布式存儲、分布式數(shù)據(jù)庫、分布式同步機制和分布式計算模式等技術(shù),使平臺就具備分布式軟件開發(fā)的基本能力后,PaaS云服務商還需要考慮如何將這個開發(fā)平臺提供給用戶,如在用戶接口方面,需要提供代碼庫、編程模型、編程接口、開發(fā)環(huán)境等。代碼庫封裝平臺的存儲、計算、數(shù)據(jù)庫等基本功能,供用戶開發(fā)應用程序時使用。編程模型決定了用戶基于云平臺開發(fā)的應用程序類型,它取決于平臺選擇的分布式計算模型。PaaS運營管理系統(tǒng)需解決用戶應用程序運營過程中所需的存儲、計算、網(wǎng)絡(luò)基礎(chǔ)資源的供給和管理問題,需根據(jù)應用程序?qū)嶋H運行情況動態(tài)增加或減少運行實例。為保證應用程序的可靠運行,系統(tǒng)還需要考慮不同應用程序間的相互隔離問題,讓它們在安全的沙盒環(huán)境中可靠運行。對SaaS而言,由于服務本身構(gòu)建在互聯(lián)網(wǎng)上,用戶具備聯(lián)網(wǎng)能力即可在線使用。不管哪一種服務的運營管理系統(tǒng),都需要解決產(chǎn)品在運營過程中涉及到的計費、認證、安全、監(jiān)控等系統(tǒng)管理問題和用戶管理。此外,針對業(yè)務特點的不同,各業(yè)務運營管理系統(tǒng)還需解決各自不同的問題。SaaS模式在云計算出現(xiàn)以前就已經(jīng)存在了,但是SaaS模式在中國也始終沒有打開局面。很多SaaS公司都倒閉了,在美國也只有Salesforce —家比較成功?,F(xiàn)有的云計算服務平臺的主流就是PaaS產(chǎn)品和IaaS兩種類型。PaaS服務是以Google和微軟為代表,主要采用并行運算、分布式運算、分布式存儲技術(shù),適用的客戶具有大型運算任務,如數(shù)據(jù)挖掘、數(shù)據(jù)分析、搜索等,用戶需要學習一種新的并行編程方法或編程工具,并使用這種新工具來重新編寫程序來完成計算任務,用戶雖可以成倍地縮短應用的運算時間,但是原有的應用不能平滑地過渡到新的系統(tǒng)。這種類型的特點是將用戶的應用打散揉碎然后分散到資源池中,將計算作為任務發(fā)送給各個處于不同地理位置的服務器處理,得到結(jié)果返回。 IaaS服務是以Amazon和RackSpace為代表,主要采用虛擬化技術(shù),適用于單個計算任務不是超大,但是單個應用獨占服務器而浪費計算資源,同時面向眾多這種類型的應用和計算任務,或者面向眾多這種類型的客戶。這種類型的服務將硬件服務器資源虛擬化分區(qū),提供給多個計算任務或多個用戶服務,并管理眾多的虛擬化服務器構(gòu)成的資源池。對于用戶來講,原有的應用可以遷移到云的環(huán)境中,而不需要學習新的編程工具重新編寫應用,也不需要安裝其他的應用程序,從而可以保護原有的投資,這種類型的特點是將資源池中的資源按需動態(tài)分配給需要資源的應用。目前在市場上,IaaS的云計算服務占了絕大多數(shù)。這是因為,市場相對比較成熟,商務模式相對清晰,用戶的應用更容易遷移到云計算環(huán)境中,而第一種模式更適用于開發(fā)者在云環(huán)境中直接編寫新的云應用。IaaS服務是在基礎(chǔ)架構(gòu)上構(gòu)造的云計算模式,需要底層的虛擬化產(chǎn)品,如VMware,Xen,KVM等,其中Xen/KVM是開源的產(chǎn)品,Redhat已經(jīng)集成了 Xen和KVM,這些軟件被稱為HypeVisor或VMM,實現(xiàn)了單臺物理機上的虛擬機化資源管理,包括CPU、內(nèi)存、I/O的虛擬化管理和虛擬機管理。但是如何將眾多的虛擬化服務器和網(wǎng)絡(luò)、存儲等作為一個資源池來管理起來,構(gòu)成一個云計算平臺,智能化自動化地為應用提供動態(tài)按需分配的資源,單獨的虛擬化軟件是無法解決的,這需要一個云計算的管理軟件來完成,或者叫做云平臺管理系統(tǒng)來完成,這方面沒有標準,沒有成熟的產(chǎn)品和方案,少有成功案例可以借鑒。從以上分析可以看出,PaaS平臺服務是最復雜的,既需要大規(guī)模的數(shù)據(jù)中心和網(wǎng)絡(luò)系統(tǒng)平臺作支持,又需要提供完善的分布式應用程序開發(fā)環(huán)境、編程接口、代碼庫、編程模型、分布式數(shù)據(jù)庫等,目前只有Google和微軟真正有能力提供以Apps Engine為核心的PaaS服務。國內(nèi)也僅僅有新浪試驗了 SAE。PaaS平臺服務的對象是應用開發(fā)人員,受眾面較小,而且開發(fā)人員需要從新學習新的并行編程方式,更增加使用難度。PaaS的商業(yè)模式不適很清晰,對于Apps Engine的服務類型講,按照請求調(diào)用量、(PU使用量對應用程序計費很難實現(xiàn),而且由于面向小眾的開發(fā)者,真正的收入也不高。云計算運營真正成功的、有清晰盈利模式的是IaaS,以Amazon為代表,RackSpachGoGrid等許多公司都自復制這個模式。而且目前云計算服務市場上絕大多數(shù)的用戶都是在使用Amazon的EC2和S3服務,例如世界上最大的影視租賃服務商Netflix已經(jīng)轉(zhuǎn)型為以視頻流的方式為用戶提供影視點播和下載服務,而他們也從原先的自建自運維數(shù)據(jù)中心到使用基于Amazon EC2的云服務,因為EC2可提供線性擴展。2. 3. 3 IaaS平臺管理技術(shù)Amazon EC2是典型的IaaS服務,提供了可安裝操作系統(tǒng)的虛擬機,用戶可以自己安裝應用程序,也可以使用AMI (Amazon Machine Image),用Amazon EC2可構(gòu)建一個高度復雜的定制應用。EC2允許用戶控制環(huán)境參數(shù)、底層操作系統(tǒng)、存儲和網(wǎng)絡(luò)需求,從技術(shù)上講,它屬于很底層的服務,用戶可以調(diào)整所需要的大部分東西。Amazon的EC2作為IaaS服務提供的是一個平臺,它的服務是提供虛擬機資源的調(diào)用和配置服務,但是調(diào)用接口是Amazon自己定義的一系列API程序接口。許多第 三方 平臺開發(fā)商可以在Amazon平臺之上開發(fā)第三方應用,實現(xiàn)用戶應用程序的自動化部署,資源的動態(tài)擴展等。如果用戶選擇自服務,則需要學習Amazon EC2服務的API程序接口,再自己編寫腳本申請和創(chuàng)建虛擬機環(huán)境,應用程序的部署也需要用戶自己完成。 與Amazon EC2 類似 IaaS 云平臺還有 Joyent、Gogrid, Rackspace, Savvis,Terremark和世紀互聯(lián)的CloudEx等。由于缺乏統(tǒng)一的接口和通信標準,這些平臺間的互操作性很差,用戶無法在IaaS服務提供商間無縫遷移。Abiquo公司推出了開源云計算平臺AbiCloud,該平臺提供了統(tǒng)一的云核心,可用于創(chuàng)建具有擴展能力的公有云和私有云,還提供了用于集成第三方工具和軟件的各種接口,協(xié)助服務提供商建設(shè)滿足特定需求的各種云,在IaaS標準化和開源方面做出的努力嘗試,但這些嘗試并不足以保證IaaS運營管理系統(tǒng)隨手可用。服務提供商需要根據(jù)需要,選擇自行研發(fā)或在現(xiàn)有開源項目的基礎(chǔ)上構(gòu)建滿足企業(yè)特定需求的IaaS運營管理系統(tǒng)。這些IaaS平臺本身實現(xiàn)的基本功能只是一個較簡單的虛擬機分配,但是即使這樣其內(nèi)部的系統(tǒng)實現(xiàn)也非常復雜,Amazon從沒有公開過其后臺系統(tǒng)的實現(xiàn)細節(jié),但是有些開源軟件聲稱實現(xiàn)了 Amazon EC2的全部功能,比如OpenNebula, Nimbus, OpenStack,Eucaptuso總之,云計算服務平臺的管理是一個復雜的問題,目前業(yè)界還未形成相關(guān)的標準,也沒有可以拿來直接部署使用的系統(tǒng),云服務提供商需各自實現(xiàn)。2. 3. 4 IaaS平臺管理系統(tǒng)的開源產(chǎn)品及其問題Xen Cloud PlatformXen Cloud Platform是由開源hypervisor Xen的開發(fā)者社區(qū)發(fā)起的項目,致力于提供給服務商一個完整的基礎(chǔ)設(shè)施平臺,具備開放和基于標準的API,多用戶租賃,服務水平協(xié)議保障,按需計費的特點。該項目起始于09年中,目前處于快速開發(fā)中,系統(tǒng)不夠成熟,并且安裝配置較為復雜。EucalyptusEucalyptus是用于實現(xiàn)云計算件基礎(chǔ)設(shè)施的軟件,讓用戶充分利用自己的服務器群。Eucalyptus僅實現(xiàn)基本的簡單的虛擬機管理功能,其主要目標不是管理功能的強大,而是將基本的虛擬化管理API化。它具有以下特性與EC2接口兼容(主要接口)用Rocks集群管理工具,安裝和部署都很簡單安全的內(nèi)部通信,使用SOAP和WS-Security疊加式的工作方式,無需修改目標Linux環(huán)境基本的“云管理”工具,實現(xiàn)系統(tǒng)和用戶帳戶管理,可將多個集群配置成單個云。Nimbus
Nimbus是網(wǎng)格中間件Globus旗下的開源云計算項目,Nimbus面向科學計算需求,通過一組開源工具來實現(xiàn)基礎(chǔ)設(shè)施即服務(IaaS)的云計算解決方案。在Nimbus平臺里,包含的組件有=Workspace節(jié)點管理器、基于WSRF的遠程協(xié)議實現(xiàn)、基于EC2的遠程協(xié)議實現(xiàn)、云計算客戶端、WorkspacePilot整合虛擬機等面向不同層面的應用組件,Nimbus項目各個組件在設(shè)計上非常輕量化且具備自身完備性,可以通過多種異構(gòu)方式進行組合。OpenNebulaOpenNebula是一個建設(shè)私有、公共、混合云的開源工具。提供靈活的架構(gòu)、接口、組件。主要特性包括支持Xen, Kvm, Vmware,虛擬化平臺可對接EC2和ElasticHost,使用libvirt,支持 EC2 和 OGC OCCI 接口
LibvirtIibvirt是一套免費、開源的支持Linux下主流虛擬化工具的C函數(shù)庫,其旨在為包括Xen在內(nèi)的各種虛擬化工具提供一套方便、可靠的編程接口,支持與C等多種主流開發(fā)語言的綁定。當前主流Iinux平臺上默認的虛擬化管理工具virt-manager (圖形化),virt-install (命令行模式)等均基于Iibvirt開發(fā)而成。特點原生C語言接口,以及其他流行語言的綁定接口,符合CM和QMF規(guī)范,支持Xen、Qemu, KVM、LXC, OpenVZ, UML,Virtualbox、VMWare ESX,可遠程管理虛擬機、虛擬網(wǎng)絡(luò)。這些開源軟件的確實現(xiàn)了 Amazon EC2的大部分功能,然后其實質(zhì)還是計算資源和存儲資源的分配,用戶的自服務,用戶的管理和認證等,而沒有真正實現(xiàn)云計算平臺所要求的自動化管理、資源的動態(tài)擴展、應用的自動化部署等功能,在Amazon平臺,這些都是依靠第三方平臺開發(fā)商提供的,如RightScale等,但是這些公司的軟件都是商業(yè)化的。用戶并不能免費得到。2. 3. 5 IaaS平臺管理系統(tǒng)的商業(yè)化產(chǎn)品及其問題云平臺系統(tǒng)管理軟件的商業(yè)版本有VMware vSphere/vCloud, Dell VIS,Platform ISF, Heroku, RightScale, BMC, IBM, HP, OpSource 等。VMwareVMware用于虛擬化和云計算平臺管理的產(chǎn)品主要是vSphere和vCloud。vSphere主要用于服務器端虛擬化,通過在一臺物理服務器上虛擬出多臺虛擬機來起到服務器整合和資源優(yōu)化等目的。vSphere可被為兩部分其一是VMM(虛擬化管理器Hypervisor)部分,其二是用于整合和管理VMM的vCenter,主要功能有資源和虛擬機清單管理,任務調(diào)度,日志管理,警告和實踐管理,虛擬機部署和設(shè)置等。vCloud Director,是VMware的云計算計劃,有兩個分支,其一是名為VMwarevCloud Express 的 IaaS 解決方案,其二是名為 VMware Platform as a Service 的 PaaS 解決方案。vCloud Director 是基于 VMware vSphere 的虛擬化能力,并擴展了 VMwarevCenter的資源池功能以使IT部門能夠創(chuàng)建“VDC(Virtual Data Center,虛擬數(shù)據(jù)中心)”,即由計算、網(wǎng)絡(luò)和存儲資源組成的資源池以及預定義的管理策略、服務水平協(xié)議和定價機制,并為用戶提供基于VDC的計算資源和能在其之上部署應用。vCloud在設(shè)計上支持資源隔離和多租戶,為此vCloud引入了兩個非常核心的概念其一是用于對資源進行隔離的VDC ;其二是用于支持多租戶機制的組織(organization)。
VDC是一個包含用于云計算的計算和存儲等資源的集合,而管理員通過規(guī)則(Policy)來將多個用戶組合成同一個組織。目前云平臺管理系統(tǒng)市場上份額最大的商家就是VMware,但是它的產(chǎn)品線很多,為了保護它以前的虛擬化產(chǎn)品,它的新的面向云計算數(shù)據(jù)中心的產(chǎn)品都是在原有產(chǎn)品上增加的,平臺產(chǎn)品和數(shù)據(jù)中心產(chǎn)品也是分開的,并且資源的隔離和組織的劃分都需要人工操作,功能能非常復雜,需要有專門的VMware管理人員才能管理,這都增加了 IT管理成本。Dell VIS戴爾VIS架構(gòu)能夠動態(tài)調(diào)節(jié)應用負載并將計算、存儲和網(wǎng)絡(luò)資產(chǎn)整合進統(tǒng)一的資源池。VIS架構(gòu)由模塊化組件構(gòu)成,可與客戶現(xiàn)有的IT環(huán)境相互集成。VIS架構(gòu)包含以下三個主要組件 高級基礎(chǔ)設(shè)施管理器(AM),支持管理員根據(jù)應用負載分配服務器、存儲和網(wǎng)絡(luò)資源,AIM能夠從數(shù)據(jù)中心提取硬件和虛擬化層,因此,客戶可專注于配置單一的資源池而非管理多種不同的技術(shù)。
VIS自助式創(chuàng)建器,能夠標準化并自動執(zhí)行應用的部署流程,進而將工作負載的部署時間縮短至幾分鐘。VIS自助式創(chuàng)建器能夠增強IT控制力,同時加速IT流程,從而節(jié)省時間和資源。
Dell VIS Director,支持用戶全面查看虛擬依賴關(guān)系并快速識別虛擬環(huán)境中的問題。該模塊包含先進的報告、假設(shè)和趨勢分析、容量和使用率報告、成本分配和拒付解決方案。Dell也是云計算平臺管理軟件領(lǐng)域一個重要的廠家,VIS可以動態(tài)調(diào)節(jié)應用負責,但是它的硬件自動化部署只能運行于Dell自己的硬件平臺上,不支持異構(gòu)的硬件平臺。Platform ISFPlatform近期也推出了云計算平臺管理產(chǎn)品ISF,是針對企業(yè)內(nèi)部私有云的自動化建設(shè),可以集成各種應用程序環(huán)境如J2EE, webSphere, Test/Dev等等,并且有多種資源分配策略,關(guān)鍵業(yè)務可以預約資源,產(chǎn)品本身做得很好。但是Platform過去十幾年以來都是做科學計算HPC領(lǐng)域的,最近才轉(zhuǎn)到云計算領(lǐng)域,所以他的產(chǎn)品自然帶有科學計算的痕跡,如控制應用負載分配到不同的虛擬機中,這個其實可以用LSF等負載均衡來替代。這個產(chǎn)品更多面向企業(yè)內(nèi)部大規(guī)模應用,而不是互聯(lián)網(wǎng)web應用。另外ISF的價格非常昂貴,按照服務器的每個CPU插槽收取$ 795美金的版本費。對于互聯(lián)網(wǎng)公司來說,大都采用海量廉價的PC服務器,這種價格是沒人能夠負擔的。BMCBMC推出一個云計算生命周期管理方案,包括策略推動的服務目錄,并且對服務進行定制化,用于云計算資源請求和控制的自助服務;適用私有云和公共云服務的基礎(chǔ)架構(gòu),對于包括計算、網(wǎng)絡(luò)、存儲、應用在內(nèi)的整個服務棧進行動態(tài)配置;基于性能分級的安全網(wǎng)絡(luò)服務和即用的云管理工作流;性能監(jiān)測工具監(jiān)管云服務的性能表現(xiàn);基于ITIL的實現(xiàn)流程。云計算生命周期管理方案隸屬于BMC云服務管理方案系列,通過該方案建立的云平臺,能夠?qū)崿F(xiàn)對多租戶云基礎(chǔ)架構(gòu)物理和虛擬分割的自動化,負載平衡、防火墻和服務等級管理可以自動連接到每個容器上;可實現(xiàn)“自助服務”云管理門戶,并簡化操作,無縫集成對公共和私有云基礎(chǔ)架構(gòu)的規(guī)劃、調(diào)配以及管理。
但是BMC是做軟件業(yè)務流程起家的,所以他的云計算管理軟件更加側(cè)重于業(yè)務服務流程管理,BMC的老板也說BMC做的是云計算的管理,做的不是提供云計算,但是必須先要有整合物理和虛擬計算資源,才能有云計算的服務提供。所以BMC的軟件是針對已經(jīng)使用了如Amazon EC2云計算的客戶的,即用BMC的云管理軟件來管理使用的Amazon EC2,所以這套軟件并不針對要建立和管理云計算基礎(chǔ)設(shè)施并提供云服務的用戶。國內(nèi)自研發(fā)華為,世紀互聯(lián),大運,浪潮目前國內(nèi)很多IT巨頭如華為、聯(lián)想、浪潮、方正、曙光、阿里巴巴、世紀互聯(lián)等也紛紛高調(diào)涉足云計算產(chǎn)業(yè),投入巨資試圖在中國的云計算產(chǎn)業(yè)占有一席之地,很多公司甚至單獨分出一家子公司來專作此業(yè)務。華為在開源軟件Eucalyptus的基礎(chǔ)上開發(fā)了一套云計算平臺管理軟件,現(xiàn)在正試圖與中國移動、聯(lián)通和電信三大運營商合作,推出他們的云計算軟硬件解決方案。浪潮和曙光等也在開發(fā)云操作系統(tǒng),涵蓋虛擬化、資源管理、任務調(diào)度、負載均衡、作業(yè)管理、安全認證、計費等,但是還沒有在市場上推出。市場上可見到的是世紀互聯(lián)的云快線,目前這個產(chǎn)品還是半自動化,在用戶自助服務、資源配置管理、動態(tài)擴展方面還很不成熟。目前中國的大部分公司都是靠開源軟件做云計算平臺管理系統(tǒng),因為這個市場不成熟,客戶也沒有見過什么是云計算的產(chǎn)品,所以很容易取得初期的市場,但是開源軟件也有很多問題,這個幾個開源軟件都是只能提供虛擬機分配的基本功能,基于策略的資源自動分配和資源動態(tài)擴展功能,也沒有硬件平臺的自動化供應。而且這些開源軟件作了很多網(wǎng)絡(luò)池和存儲池等較少用到的功能,然而在實際應用中,網(wǎng)絡(luò)池可以依靠LVS來實現(xiàn),存儲池也可以靠分布式文件系統(tǒng)實現(xiàn)。而且開源軟件本身并不能直接拿來做企業(yè)運行的工程化軟件,程序漏洞很多,沒有經(jīng)過壓力測試,缺少管理風險和處理問題的機制,可靠性都不高,無法承擔工程化任務。同時開源社區(qū)本身也并不總是能夠提供及時的技術(shù)支持和幫助的。例如華為現(xiàn)在在市場上推的系統(tǒng)是基于Eucalyptus就不是完全開源的,有很多高級功能比如負載均衡和擴展就不是開源的??傊壳笆袌錾系纳虡I(yè)軟件和基于開源的軟件都有這樣那樣的問題缺少自動化管理,同質(zhì)性高,功能太復雜,需要太多的人工配置,缺少自動化供應,缺少資源動態(tài)擴展,國外的商業(yè)化云計算管理軟件還沒有漢化,國內(nèi)的軟件還沒有開發(fā)出來。
三.
發(fā)明內(nèi)容
這個發(fā)明是一個云計算服務平臺的虛擬計算資動態(tài)管理系統(tǒng),解決了上述的開源系統(tǒng)和商業(yè)化系統(tǒng)的各種問題,可提供虛擬化資源的供應、配置、分配、擴展、管理。專注于云計算資源的快速部署、供應、資源的分層管理、資源的高效整合和共享、資源的彈性伸縮,動態(tài)觸發(fā)機制,資源池的線性擴展。3. I 特點: 可生成共享的物理資源池,在不同部門和不同應用之間共享 對應業(yè)務邏輯的分層架構(gòu)模型 支持Xen、KVM、VMware、OpenVZ等主流虛擬化驅(qū)動,采用Libvirt調(diào)用
支持Windows、Solaris、Linux等虛擬計操作系統(tǒng) 支持 Kickstart, Systemlmager, TFTP, PXE, DHCP 等協(xié)議 生成可流動的虛擬資源池,消除單點故障,增加穩(wěn)定性 智能化的資源對應用分配策略,減少人工輔助。 自動化的物理服務器到虛擬資源池的快速供應,增強了業(yè)務響應的敏捷性。 自動化的應用程序部署
資源動態(tài)擴展,不會影響應用程序的服務。 自適應的擴容觸發(fā)機制,可調(diào)節(jié)觸發(fā)閾值。籲應用程序負載均衡集成 分布式的緩存 不同類型的應用程序集成,J2EE,HPC, Test/Dev 管理界面簡潔,提供命令行接口。3. 2 功能提供圖形化的友好界面讓用戶自己定義或選擇所需的計算資源,用戶可用鼠標拖拽的方式在云平臺上搭建一個企業(yè)IT或互聯(lián)網(wǎng)應用架構(gòu)。系統(tǒng)可在數(shù)分鐘內(nèi)動態(tài)生成并交付滿足用戶需求的計算資源。云平臺管理系統(tǒng)自動分析用戶需求,按照預定義好的策略分配所需資源。用戶無需安裝配置操作系統(tǒng),系統(tǒng)已在所有虛機中完成操作系統(tǒng)的安裝。用戶無需自己安裝配置應用程序,管理系統(tǒng)將用戶提交的應用程序自動部署,并提供負載均衡服務、級別管理、帳號管理、容錯管理、備份管理等。云平臺系統(tǒng)為所有用戶提供緩存服務、web服務、郵件服務、目錄服務、VPN服務等基礎(chǔ)IT服務。云平臺系統(tǒng)為用戶提供按需動態(tài)擴展服務,用戶編寫的程序無需考慮資源擴展問題,海量用戶并發(fā)量和流量帶來的負載壓力問題。用戶無需學習新的編程工具和編程框架,原有的應用程序可無縫地遷移到云平臺上。云平臺系統(tǒng)可自動完成硬件服務器初始化和虛擬化,并自動安裝配置虛擬機,組成虛擬資源池。系統(tǒng)實現(xiàn)自動化管理,減少了人工操作。只需在系統(tǒng)初始安裝時指定資源分層級別和系統(tǒng)動態(tài)擴展策略,在以后的服務中,系統(tǒng)可自動化地分配與擴展資源,而操作者只需向資源池中添加物理服務器即可??傊到y(tǒng)提高了服務器運行效率和使用效率,增強了平臺穩(wěn)定性,提高了自動化管理能力,降低了業(yè)務響應時間。3. 3工作原理一個典型的互聯(lián)網(wǎng)應用的技術(shù)框架圖如圖I所示。每個方框代表一組程序完成的特定功能。在每個水平方向上的方框都處在同一業(yè)務邏輯層次上,整個應用的邏輯走向是從上到下由箭頭方向所示。大型的互聯(lián)網(wǎng)企業(yè)或其它IT企業(yè)都是有多個這樣相同或類似的應用部署在這樣的架構(gòu)上,而每個應用的程序組件都綁定特定的服務器資源。那么根據(jù)業(yè)務的邏輯流程,這個架構(gòu)可以抽象為圖2所示,即把資源分成以下不同的層次。服務器硬件資源經(jīng)過虛擬化后按照預定義的策略被分成多個的邏輯層次。每個層次抽象成一個虛擬機組成的資源池。每個層次的虛擬機資源配置都不相同。層次之內(nèi)所有的虛擬機配置是相同的。每個層次都支持不同的業(yè)務,每個業(yè)務在特定層次內(nèi)是共享這個層次的虛擬機資源池。每個業(yè)務在縱向?qū)哟斡羞壿嫎I(yè)務和數(shù)據(jù)的走向。
在系統(tǒng)中定義3 種對象,Aggregate, Vol, vTask。Aggregate對象是一種代表所有同類虛擬機(VM)的聚合,每一個Aggregate對應如圖3所示的一個層次的虛擬機集合。Vol對象是在Aggregate之上的一個子集對象,是代表某一業(yè)務在這個層次的分配的虛擬機集合。vTask對象代表一個虛擬的業(yè)務在各層次上所需的vol的集合,包含了業(yè)務邏輯流程。三者之間的關(guān)系如圖3所示。每個對象的特點Aggr Aggr是代表一種相同類型虛擬機的聚合的對象,在聚合中的每個虛擬機都具有相同的屬性,比如相同的CPU數(shù)量和頻率,內(nèi)存大小,硬盤容量等。 當系統(tǒng)生成Aggr的實例時,只需指定一系列具有相同虛擬機配置的物理機名,系統(tǒng)即將這些物理機上的連續(xù)VM分配給Aggr的實例。
Aggr的底層是物理機。^Aggr可以靠添加機器手動擴展。Vol Vol是一種邏輯上的裝載VM的容器,可以通過增加或減少VM任意改變?nèi)萜鞯拇笮?,所以不受物理機的硬件限制。
Vol的大小決定于應用需要多少數(shù)據(jù)量傳輸、多少數(shù)據(jù)存儲等資源需求,而不是決定于物理機上有多少虛擬機。
Vol里的VM是分布在不同的物理機上的,如圖4所示,可以將流量分配到不同的機器上,并且一臺機器出現(xiàn)故障時,也僅影響業(yè)務的一部分,而不會影響整個業(yè)務。
Vol可以自動的在線增加和減少。
Vol是為某個具體應用在某個Aggr實例上產(chǎn)生的。vTask vTask對應一個應用 vTask由分布在不同Aggr里的vol組成 vTask定義不同Aggr里的vol的邏輯走向。物理機、虛擬機、Aggr對象、Vol對象和vTask對象的關(guān)系如圖5所示系統(tǒng)中每一對象都有一個全局屬性,用來描述對象中數(shù)據(jù)記錄的元信息。
系統(tǒng)把每個VM當作一個dead end來管理,所有經(jīng)過系統(tǒng)部署的VM都有一個數(shù)據(jù)記錄,記錄名字、IP地址、操作系統(tǒng)版本、CPU個數(shù)、內(nèi)存、硬盤大小、VM在物理機的位置和物
理機的名字等等。每個Aggr維護一個VM的可分配資源池,由雙向鏈表組成;還維護一個vol的鏈表。每個Vol維護一個已分配的VM鏈表。每個vTask維護一個分配的Aggr鏈表。系統(tǒng)還維護總的物理機鏈表、Aggr的列表和vTask的列表。系統(tǒng)用heartbeat來監(jiān)測屬于Aggr的每個VM,如果由于服務器巖機而VM不可達, 該VM會被打上不可用標記,VM恢復時,系統(tǒng)恢復標記。當Aggr上VM的可分配資源池足夠小時,添加物理機可擴展Aggr,新增的VM會加入到備用VM池的雙向列表的尾部。這種設(shè)計的好處是資源利用效率提高,配置靈活,資源共享。圖6是采用以前的配置,每個應用都被限制在物理機上,富裕的資源和性能不能被緊缺資源或性能的應用分享。圖7顯示通過這種新的設(shè)計而部署的應用可以共享VM聚合的資源和性能。在系統(tǒng)實現(xiàn)時,物理資源被虛擬化為由虛擬機構(gòu)成的資源池,虛擬機被劃分到各個Aggr對象,在Aggr對象上產(chǎn)生可伸縮的由VM組成的VOL變量。每個Aggr上可有多個Vol, Vol可動態(tài)伸縮,當Aggr空間不夠時,管理員可添加VM擴展Aggr。例如在Aggr實例之上生成vol的實例,通過命令行create vol voll on aggrlvm 10,在aggrl上生成voll實例,要求系統(tǒng)分配10個VM。系統(tǒng)會在Aggrl中不同的物理機上選擇VM來生成Vol。這樣任意一個物理機宕機不影響Vol上的應用,增加了可用性。生成vol對象實例后,我們指定系統(tǒng)生成對象vTask的實例,即根據(jù)應用的需求,指定不同層次的 vol。例如 create vTask vtaskl aggrl. voll, aggr2. voll, aggr4. voll.這里我們生成一個vTask對象的實例,vtaskl,包含aggrl上的voll、aggr2上的voll、aggr4 上的 voll 等。
四.
圖1,典型的企業(yè)IT軟件或互聯(lián)網(wǎng)應用的技術(shù)架構(gòu)。圖2,分層的業(yè)務邏輯架構(gòu)。圖3,三個對象在分層架構(gòu)上的表示。圖4,Vol對象上的虛擬機跨物理機分布。圖5,三個對象和物理機、虛擬機的關(guān)系。圖6,采用本系統(tǒng)之前的應用模式。圖7,采用本系統(tǒng)之后的應用模式。圖8,5個子系統(tǒng)的關(guān)系圖。圖9,Aggr的虛擬機備用池的雙向鏈表圖10,應用程序進程間通訊圖11,系統(tǒng)生成Vol實例的算法
圖12,系統(tǒng)分配虛擬機(VM)的算法圖13,神經(jīng)網(wǎng)絡(luò)的矩陣訓練算法
五.
具體實施例方式云平臺管理系統(tǒng)由5個子系統(tǒng)構(gòu)成,如圖8所示I)資源自動化部署系統(tǒng)2)虛擬機管理系統(tǒng)3)應用部署系統(tǒng)4)資源分配與管理系統(tǒng) 5)資源動態(tài)擴展系統(tǒng)5. I資源自動化部署系統(tǒng)資源自動化部署系統(tǒng)完成物理資源初始化、安裝、配置和轉(zhuǎn)化為虛擬化資源池。自動化部署也叫Provisioning系統(tǒng),是一套基于Kickstart的并使用Perl,Python和腳本開發(fā)的系統(tǒng)。在交換機做好端口初始化后,將物理機接入網(wǎng)絡(luò)端口,機器啟動后,自動通過PXE引導boot,發(fā)現(xiàn)所在的網(wǎng)段,根據(jù)設(shè)定好的要求,自動選擇Kickstart profile,完成自動化系統(tǒng)安裝與配置。在主機操作系統(tǒng)安裝的同時安裝虛擬機操作系統(tǒng),按照定義好的配置模板配置虛擬機,配置應用服務,最后進入到虛擬資源備用池,按照分層架構(gòu)和預定義的規(guī)則庫自動地將資源池中的虛擬機分成不同的聚合集群,每個聚合對應一個層次。5. I. 2前期準備自動化部署的前期準備需要手動完成,包括# BIOS和firmware的配置,包括firmware的升級,時間的配置,VT enable,Hyperthreading disable, PXE enable, Raid config 等等。 配置好交換機網(wǎng)絡(luò)端口和網(wǎng)段,不同的應用服務器連接到不同的網(wǎng)段。 配置好DNS,即加入IP和服務器主機名。5. I. 3操作系統(tǒng)自動安裝在安裝操作系統(tǒng)后可自動配置系統(tǒng)參數(shù)的配置,包括主機名,Username,Password,IP,kernel Parameters,ulimit,disable services, enable cache etc.該系統(tǒng)支持Kickstart,Systemlmager, PXE, DHCP, TFTP 等協(xié)議。系統(tǒng)支持Image映像,并存放在Systemlmager服務器中。應用的首臺服務器安裝由kickstart完成,其它服務器配置由Systemlmage完成自動化部署。由Systemlmager完成自動化部署的時間比Kickstart縮短3到5倍,大大提高安裝效率。5. I. 4虛擬機的配置與安裝虛擬機的Hypervisior 選用 KVM。KVM要求服務器BIOS必須先enable VT0 VT是Intel擴展的CPU運行模式,可在硬件級別運行虛擬機的敏感指令。由于使用了 VT, KVM可以大大簡化其作為Hypervisior的代碼,并且利用Linux Kernel自身的功能實現(xiàn)虛擬機要求的環(huán)境,所以KVM比Xen小巧,且自身作為Kernel model運行,不需要像Xen —樣另外加載一個Kernel.
虛擬機的CPU的分配每個虛擬機可分配一到兩個物理CPU內(nèi)核虛擬機的內(nèi)存分配根據(jù)不同業(yè)務和應用的需求,虛擬機內(nèi)存可分為4G,8G,12G,16G,24G。虛擬機的硬盤分配虛擬機的硬盤直接分配在物理機硬盤塊分區(qū)上,可提高I/O讀寫速度3到5倍。虛擬機的安裝 物理機和虛擬機混合部署,在安裝物理機的postinstall階段將壓縮的虛擬機映像copy到物理機,然后解壓縮并安裝所有虛擬機,可節(jié)省5到10倍的時間。虛擬機的配置按照規(guī)則庫劃分虛擬機網(wǎng)絡(luò)、CPU、內(nèi)存和硬盤分區(qū)。5. I. 5 補丁升級(patching)Patching系統(tǒng)用來統(tǒng)一為天涯數(shù)據(jù)中心的各種操作系統(tǒng)作升級服務。Patching系統(tǒng)維護一個系統(tǒng)和軟件的補丁和包的Repository Server,可從外網(wǎng)下在各種軟件包和補丁,在內(nèi)網(wǎng)為不同環(huán)境的系統(tǒng)提供服務。Patching系統(tǒng)管理不同類型的補丁的版本,并可為Image服務器的各Image打補丁或升級。Patching 系統(tǒng)選用 mrepo Server 來保存補丁文件,mrepo 支持 Yum 和 up2date。5. I. 6虛擬資源池的生成生成虛擬資源池的過程是向表里添加記錄,生成對象和指針鏈表等I)生成物理機庫表記錄物理機表
ID Hostname IP Addr System Version Partition VM List2)生成虛擬機表記錄虛擬機表
ID Hostname IP System Version Host Avail Vol Aggr vTask User 丨 _________. .___ID__;_-虛擬機ID,Hostname,IP,System, Version, Host ID,location,Availibility, Vol, Aggr,vTask,User,CPU,Memory, Size, Timestamp3)通過規(guī)則庫,生成缺省的Aggr對象。Aggr對象如下表所示
Aggr對象屬性 AggrOLVS
AggrlVarnish
Aggr2Web
Aggr3__Java
Aggr4PHP
權(quán)利要求
1.一種云計算服務平臺的虛擬計算資源動態(tài)管理技術(shù),其特征在于 具有自動化物理服務器到虛擬服務器的供應能力,根據(jù)應用邏輯架構(gòu)定義的虛擬機資源分層管理,計算資源的智能分配,在線動態(tài)擴展資源。
2.上述權(quán)利要求I所述的系統(tǒng),具備自動化供應能力,其特征在于 具有大規(guī)模物理服務器通過網(wǎng)絡(luò)DHCP、TFTP、PXE、Kickstart、SystemImager自動化安裝操作系統(tǒng),并自動引導虛擬機的配置和操作系統(tǒng)的安裝; 通過網(wǎng)絡(luò)實時從映像機下載虛擬機操作系統(tǒng)壓縮映像,復制到各個虛擬機磁盤分區(qū),并解壓縮完成虛擬機系統(tǒng)安裝,通過腳本程序完成操作系統(tǒng)的配置; 當主機操作系統(tǒng)已完成,僅需虛擬機系統(tǒng)安裝、擴展或重新配置時,在主機中使用Kickstart完成指定虛擬機的重安裝。
3.上述權(quán)利要求I所述的系統(tǒng),具備虛擬計算資源的管理能力,其特征在于 分層的資源池管理技木,按照業(yè)務的邏輯架構(gòu)將自動化供應的虛擬機分層,如負載均衡層、全局緩存層、web層、應用層、數(shù)據(jù)庫緩存層、數(shù)據(jù)庫層等,每個層次生成ー個由數(shù)據(jù)對象結(jié)構(gòu)和列表表示的虛擬機資源池。
4.上述權(quán)利要求2所述的能力,其特征在于 定義了 3 種對象,Aggregate, Vol, vTask Aggregate對象表示所有同類虛擬機的聚合,姆ー個Aggregate對象的實例對應ー個層次的虛擬機聚合,在聚合中的每個虛擬機都具有相同的屬性,底層是物理機,可以通過自動化供應新的物理機實現(xiàn)自動擴展; Vol對象是在Aggregate之上的ー個子集對象,代表某ー業(yè)務在這個Aggregate實例層次上被分配的虛擬機集合,Vol是ー種邏輯上的裝載VM的容器,可以通過増加或減少VM任意改變?nèi)萜鞯拇笮。籚ol的大小決定于應用需要多少數(shù)據(jù)量傳輸、多少數(shù)據(jù)存儲等資源需求,而不是決定于物理機上有多少虛擬機;Vol里的VM是分布在不同的物理機上的,可將流量分配到不同的機器上,一臺機器出現(xiàn)故障時,不會影響整個業(yè)務;Vol可以自動的在線增加和減少,只要Aggr有足夠的空間;Vol是為某個具體應用在某個Aggr實例上產(chǎn)生的; vTask對象代表一個業(yè)務在各Aggregate層次上所需的vol對象的集合,包含了業(yè)務邏輯流程; vTask對應一個應用,由分布在不同Aggr里的vol組成;vTask定義不同Aggr里的vol的邏輯走向。
5.上述權(quán)利要求I所述的系統(tǒng),其特征在于 具備虛擬計算資源的智能分配能力,接收應用程序部署、虛擬機申請和動態(tài)擴展子系統(tǒng)的服務請求,生成對應層次的三個對象的實例,每個層次有自己的資源分配策略,應用層按照分散原則在資源池中找到下ー個可分配的虛擬機資源,保證該虛擬機在不同的物理機上,劃分虛擬機到Vol變量的VM列表中,并將該虛擬機從資源池中刪除。
6.上述權(quán)利要求I所述的系統(tǒng),其特征在于 具備虛擬計算資源的動態(tài)擴展能力,動態(tài)擴容觸發(fā)機制 通過實時監(jiān)測應用程序和虛擬機的負載,輸入經(jīng)過人工神經(jīng)網(wǎng)絡(luò)訓練的ニ維矩陣,判斷是否擴容和縮容,當系統(tǒng)通過人工神經(jīng)網(wǎng)絡(luò)的判度決定擴容或縮容時,系統(tǒng)向資源分配系統(tǒng)申請增加或減少VM,如果是新增VM,系統(tǒng)復制預先存好的VM配置拷貝到新的VM中,系統(tǒng)找到Aggr(i-l)中的vol的所有VM,察看姆ー個VM的服務或應用,如果是LVS、Apache、PHP, Java等標準服務,在服務配置表中找出該服務的配置文件,増加的新的VM名字的IP,在按照服務對應表中指定的命令使服務重讀修改過的配置文件。
7.上述權(quán)利要求I所述的系統(tǒng),其特征在于,具備虛擬機管理技術(shù) 虛擬機管理系統(tǒng)為程序員管理和分配開發(fā)用虛擬機。程序員通過web界面向系統(tǒng)提交所需虛擬機配置、數(shù)量、應用開發(fā)所需的服務、開發(fā)周期等需求,系統(tǒng)接收請求后,生成程序員記錄。系統(tǒng)管理員登陸管理接ロ,從資源池中分配下ー個可分配的符合要求的虛擬機,并劃分到程序員記錄中。系統(tǒng)后臺將分配的虛擬機從資源池中刪除,當程序開發(fā)完成、或程序員離職,系統(tǒng)將收回已分配的虛擬機到資源池中,并刪除程序員記錄。
全文摘要
云計算是IT技術(shù)的第三次變革,將深刻影響信息化社會的信息獲取模式。云計算服務平臺將計算、網(wǎng)絡(luò)和存儲轉(zhuǎn)化為資源池通過網(wǎng)絡(luò)為用戶提供服務。云計算服務平臺的虛擬計算資源動態(tài)管理技術(shù),提出了一個分層的云計算基礎(chǔ)架構(gòu)模型,定義了三種對象來描述并管理可伸縮的虛擬機資源的狀態(tài)、屬性、特征和行為;可自動化物理服務器到虛擬資源池的供應;提出了一種在線動態(tài)擴容的方法,通過實時采集系統(tǒng)負載狀態(tài)和應用運行狀況,由人工神經(jīng)網(wǎng)絡(luò)作為判斷資源伸縮觸發(fā)的機制,在不中斷服務的情況下動態(tài)擴展虛擬機算資源。
文檔編號G06F9/50GK102681899SQ20111005938
公開日2012年9月19日 申請日期2011年3月14日 優(yōu)先權(quán)日2011年3月14日
發(fā)明者金劍 申請人:金劍