近年來(lái),伴隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,越來(lái)越多的計(jì)算服務(wù)都離不開(kāi)云計(jì)算的支撐。云計(jì)算是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過(guò)互聯(lián)網(wǎng)來(lái)提供動(dòng)態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。本文是一篇高級(jí)工程師論文范文,主要論述了基于虛擬化技術(shù)的私有云計(jì)算平臺(tái)設(shè)計(jì)。
摘要:為提高分布式集群系統(tǒng)的硬件資源利用率,避免閑置設(shè)備造成的經(jīng)濟(jì)損失,結(jié)合虛擬化技術(shù),提出了一種基于多種框架技術(shù)的私有云平臺(tái)實(shí)現(xiàn)方案。該方案整合底層硬件資源,實(shí)現(xiàn)了對(duì)資源的按需分割、動(dòng)態(tài)分配及動(dòng)態(tài)遷移,并針對(duì)傳統(tǒng)的虛擬機(jī)部署方法中的負(fù)載不均衡問(wèn)題,提出了基于動(dòng)態(tài)分配決策的虛擬機(jī)部署機(jī)制,該策略根據(jù)虛擬機(jī)資源的特點(diǎn),結(jié)合現(xiàn)有物理節(jié)點(diǎn)的負(fù)載情況,對(duì)虛擬機(jī)進(jìn)行了動(dòng)態(tài)部署。最后設(shè)計(jì)實(shí)現(xiàn)了靈活性強(qiáng)、可擴(kuò)展性能好的私有云計(jì)算服務(wù)平臺(tái),以石油勘探中的傅里葉有限差分疊前深度偏移為測(cè)試用例進(jìn)行了應(yīng)用測(cè)試,證明了私有云平臺(tái)的可行性和有效性,并對(duì)虛擬機(jī)的部署機(jī)制進(jìn)行了測(cè)試。實(shí)驗(yàn)結(jié)果表明,動(dòng)態(tài)分配決策能夠在部署大量虛擬機(jī)的同時(shí),較好地保持私有云平臺(tái)的負(fù)載平衡。
關(guān)鍵詞:私有云服務(wù),私有云平臺(tái)架構(gòu),虛擬機(jī)部署,動(dòng)態(tài)分配,負(fù)載均衡
0引言
云計(jì)算為各行各業(yè)帶來(lái)了多樣化的服務(wù),使數(shù)據(jù)中心極大地提高設(shè)備利用率,避免閑置設(shè)備造成的經(jīng)濟(jì)損失,降低人員及管理成本[2],這對(duì)企事業(yè)單位來(lái)說(shuō)具有極大的誘惑力。因此,構(gòu)建一個(gè)靈活、高效、健壯的私有云計(jì)算平臺(tái)成為了國(guó)內(nèi)外各大信息技術(shù)(Information Technology, IT)企業(yè)的研究熱點(diǎn)之一[3],F(xiàn)如今,構(gòu)建私有云平臺(tái)技術(shù)已日趨成熟,主要采用使用商業(yè)解決方案和開(kāi)源解決方案來(lái)構(gòu)建私有云平臺(tái)[4]。不少商業(yè)公司提供了較為成熟的私有云整體解決方案,比較典型的是IBM藍(lán)云計(jì)算平臺(tái)[5],此外還可使用開(kāi)源解決方案構(gòu)建私有云平臺(tái),這種方案是利用開(kāi)源系統(tǒng)構(gòu)造企業(yè)或組織的私有云平臺(tái),比較典型的是使用OpenStack[6]和 Eucalyptus[7]等開(kāi)源系統(tǒng)。
目前石油勘探開(kāi)發(fā)行業(yè)[8]對(duì)于高性能計(jì)算有著強(qiáng)勁的應(yīng)用需求,高精度勘探對(duì)地震資料的存儲(chǔ)和處理能力的需求呈指數(shù)倍增長(zhǎng),我校早期購(gòu)置的一些32節(jié)點(diǎn)、64節(jié)點(diǎn)的小規(guī)模集群雖性能良好,但已不能滿(mǎn)足大規(guī)模計(jì)算任務(wù)日益增長(zhǎng)的需求,從而導(dǎo)致可用資源處于閑置狀態(tài),迫切需要對(duì)現(xiàn)有的IT設(shè)備基礎(chǔ)資源進(jìn)行最大限度的整合,形成統(tǒng)一、高效、彈性化的私有云計(jì)算平臺(tái),提供給用戶(hù)方便、快捷的自愿申請(qǐng)及使用模式。使用商業(yè)方案的云構(gòu)建模式存在價(jià)格高、可擴(kuò)展性差、授權(quán)模式復(fù)雜等問(wèn)題,很多情況下并不適合采用,使用開(kāi)源方案構(gòu)建模式雖可擴(kuò)展性較好,但系統(tǒng)兼容性不佳,且對(duì)一般服務(wù)支持也較少,無(wú)法按照實(shí)際需求定制云服務(wù)模塊。高校的私有云平臺(tái)并不像企業(yè)云一樣僅提供一種或幾種固定的服務(wù),具有服務(wù)多樣性的需求,不僅需要 Web 服務(wù)等常規(guī)服務(wù),也有科研計(jì)算、數(shù)據(jù)存取等特殊服務(wù),同時(shí)還要考慮到日后可能會(huì)出現(xiàn)的新的服務(wù)模式,這就要求云平臺(tái)具備較強(qiáng)的靈活性和可擴(kuò)展性。
虛擬化技術(shù)[9]是云計(jì)算平臺(tái)的核心技術(shù)之一,基于虛擬化技術(shù)搭建私有云計(jì)算平臺(tái)可以降低運(yùn)維成本、簡(jiǎn)化管理、提高系統(tǒng)高可用性。虛擬技術(shù)優(yōu)勢(shì)的發(fā)揮取決于虛擬資源的部署,部署效果的好壞在很大程度上決定了云平臺(tái)所提供的服務(wù)質(zhì)量的好壞。目前針對(duì)虛擬機(jī)部署的研究較少,大多依據(jù)傳統(tǒng)的部署方法進(jìn)行,未充分考慮宿主機(jī)所能承受的負(fù)載量,導(dǎo)致宿主機(jī)性能與虛擬機(jī)上產(chǎn)生的負(fù)載量匹配狀況不佳,不可避免地帶來(lái)由于資源得不到合理利用而引起的負(fù)載不均衡問(wèn)題,影響了云計(jì)算提供的服務(wù)質(zhì)量。
針對(duì)上述兩個(gè)問(wèn)題,本文基于Java框架技術(shù)[10],設(shè)計(jì)實(shí)現(xiàn)了一種靈活性強(qiáng)、可擴(kuò)展性能好的私有云計(jì)算服務(wù)平臺(tái),作為基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service, IaaS)資源的通用前端,該平臺(tái)建立在服務(wù)器組合而成的計(jì)算機(jī)集群之上,通過(guò)服務(wù)器虛擬化技術(shù),實(shí)現(xiàn)了對(duì)資源的按需分割、動(dòng)態(tài)分配及動(dòng)態(tài)遷移,還提出一種動(dòng)態(tài)分配管理機(jī)制,實(shí)現(xiàn)了虛擬機(jī)資源的快速部署,一定程度上解決了云平臺(tái)的負(fù)載不均衡問(wèn)題,提高了資源的利用率。
1云平臺(tái)框架構(gòu)建
1.1平臺(tái)總體架構(gòu)
云計(jì)算環(huán)境中的集群組織架構(gòu)一般分為兩種:集中式和對(duì)等式[11]。本文所建立的私有云平臺(tái)主要是以虛擬化服務(wù)為核心功能,其中最重要的物理資源的支撐就是計(jì)算機(jī)節(jié)點(diǎn)及存儲(chǔ)設(shè)備,為防止因單節(jié)點(diǎn)而導(dǎo)致系統(tǒng)崩潰的問(wèn)題出現(xiàn),所以采用對(duì)等式的資源組織架構(gòu)。采用這一架構(gòu)就要求整個(gè)網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都必須有完整的服務(wù),當(dāng)新的消息到達(dá)時(shí),響應(yīng)節(jié)點(diǎn)就必須要將消息傳播到各個(gè)節(jié)點(diǎn)中去,維護(hù)整個(gè)網(wǎng)絡(luò)數(shù)據(jù)的一致性。通過(guò)分析平臺(tái)功能需求,設(shè)計(jì)了私有云平臺(tái)的體系結(jié)構(gòu),如圖1所示,該體系結(jié)構(gòu)可以分為應(yīng)用層、服務(wù)層和資源層。平臺(tái)服務(wù)層用來(lái)建立一組通用的服務(wù)接口,來(lái)完成與本地資源的通信。資源層為私有云平臺(tái)提供可共享的資源,包括處理器、內(nèi)存、存儲(chǔ)系統(tǒng)等資源。網(wǎng)絡(luò)通信層為資源層提交的各種數(shù)據(jù)之間進(jìn)行信息交換控制,包括各資源的注冊(cè)、驗(yàn)證及資源監(jiān)測(cè)。這些服務(wù)將作為虛擬機(jī)服務(wù)的輔助模塊,為用戶(hù)提供資源申請(qǐng)。應(yīng)用層通過(guò)開(kāi)發(fā)工具應(yīng)用程序編程接口(Application Programming Interface, API)調(diào)用相應(yīng)的服務(wù),繼而調(diào)用相應(yīng)的資源來(lái)完成具體的作業(yè)任務(wù)。
1.2服務(wù)組件設(shè)計(jì)
在上述平臺(tái)體系結(jié)構(gòu)的基礎(chǔ)上,將私有云平臺(tái)按照功能需求劃分為7個(gè)服務(wù)組件,在對(duì)等式組織結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)都具有完備的功能,因此每個(gè)節(jié)點(diǎn)都具有以上7部分功能服務(wù)組件,用戶(hù)訪問(wèn)接口(User Port)、 信息服務(wù)(Information)、注冊(cè)服務(wù)(Register)、任務(wù)提交(Submit)、文件服務(wù)(File)、虛擬機(jī)部署(Deployment)、任務(wù)執(zhí)行(Executor)。各服務(wù)組件的功能描述如下:
1)用戶(hù)訪問(wèn)接口。為用戶(hù)提供訪問(wèn)私有云平臺(tái)的方式,該接口提供監(jiān)控平臺(tái)運(yùn)行狀態(tài)、獲取信息資源、訪問(wèn)文件系統(tǒng)、申請(qǐng)?zhí)摂M機(jī)執(zhí)行任務(wù)的功能。 2)信息服務(wù)。維護(hù)并監(jiān)控私有云平臺(tái)的正常運(yùn)轉(zhuǎn),獲取各個(gè)節(jié)點(diǎn)主機(jī)的運(yùn)行情況。
3)注冊(cè)服務(wù)。云平臺(tái)的搭建過(guò)程、申請(qǐng)?zhí)摂M機(jī)的動(dòng)態(tài)加入私有云平臺(tái)的網(wǎng)絡(luò)組織結(jié)構(gòu)中。
4)任務(wù)提交。接收來(lái)自用戶(hù)的任務(wù)請(qǐng)求,分析創(chuàng)建任務(wù)描述對(duì)象,將任務(wù)提交給用戶(hù)申請(qǐng)的虛擬機(jī)節(jié)點(diǎn)。
5)文件服務(wù)。提供存儲(chǔ)和傳輸相關(guān)文件,如用戶(hù)申請(qǐng)?zhí)摂M機(jī)時(shí)的鏡像文件,執(zhí)行任務(wù)時(shí)將相關(guān)文件傳輸?shù)綀?zhí)行節(jié)點(diǎn)中。
6)虛擬機(jī)部署。分析用戶(hù)申請(qǐng)的虛擬機(jī)具體要求,評(píng)估信息服務(wù)中的資源信息,選取合適的主機(jī),部署并啟動(dòng)虛擬機(jī)。
7)任務(wù)執(zhí)行。執(zhí)行虛擬機(jī)中用戶(hù)提交的任務(wù)請(qǐng)求,監(jiān)控任務(wù)狀態(tài),將結(jié)果反饋給用戶(hù)。
上述7個(gè)功能組件并不是獨(dú)立的,而是緊密配合,在相互協(xié)作的基礎(chǔ)上完成私有云平臺(tái)的各項(xiàng)服務(wù)功能。私有云平臺(tái)系統(tǒng)由信息監(jiān)控、文件服務(wù)、虛擬機(jī)服務(wù)和作業(yè)服務(wù)這4大模塊組成。其他服務(wù)功能都是以這4個(gè)模塊為基礎(chǔ)來(lái)實(shí)現(xiàn)的,如圖2所示,各模塊之間相互配合,完成用戶(hù)需求的各個(gè)功能。
私有云平臺(tái)中提供的計(jì)算服務(wù)主要依靠虛擬機(jī)來(lái)完成,平臺(tái)集成了作業(yè)的提交服務(wù),但不支持提交到物理節(jié)點(diǎn)。出于系統(tǒng)穩(wěn)定性考慮,防止因作業(yè)占用過(guò)多的資源而導(dǎo)致系統(tǒng)崩潰。作業(yè)提交前需編寫(xiě)任務(wù)描述文件,主要包括作業(yè)的執(zhí)行文件、輸出文件、文件位置和提交節(jié)點(diǎn)等作業(yè)信息。提交任務(wù)時(shí)需要向虛擬機(jī)節(jié)點(diǎn)傳輸相應(yīng)的處理文件和執(zhí)行文件,通過(guò)調(diào)用文件管理模塊來(lái)完成文件的傳輸。平臺(tái)任務(wù)的提交不牽扯任務(wù)節(jié)點(diǎn)的分配,由用戶(hù)指定特定的虛擬機(jī)節(jié)點(diǎn)。這樣既保證任務(wù)完成的可靠性,又能夠使平臺(tái)空閑出更多的資源。待作業(yè)提交到虛擬節(jié)點(diǎn)后,由虛擬機(jī)節(jié)點(diǎn)調(diào)用任務(wù)執(zhí)行進(jìn)程自動(dòng)執(zhí)行該作業(yè),直到作業(yè)結(jié)束,由文件管理模塊返回相應(yīng)的執(zhí)行結(jié)果文件到用戶(hù)存儲(chǔ)中,供用戶(hù)查詢(xún)及下載。
1.3服務(wù)組件設(shè)計(jì)
Spring企業(yè)級(jí)框架[10]技術(shù)簡(jiǎn)化服務(wù)內(nèi)部資源組織、維護(hù)和管理,能與多種通信框架無(wú)縫結(jié)合,屏蔽服務(wù)底層繁雜通信邏輯,可向外部應(yīng)用者提供多種可選服務(wù)訪問(wèn)方式,提高了系統(tǒng)靈活性。Spring框架技術(shù)在服務(wù)搭建過(guò)程中處于關(guān)鍵地位,圖3描述了私有云平臺(tái)中多種框架技術(shù)的組合方式。本文設(shè)計(jì)的私有云平臺(tái)以三大框架(JRE、JETTY、Spring Container[11])構(gòu)成基本服務(wù)環(huán)境,在此基礎(chǔ)上完善開(kāi)發(fā)個(gè)服務(wù)組件。JETTY啟動(dòng)時(shí),Spring負(fù)責(zé)初始化各應(yīng)用對(duì)象,并且完成各個(gè)對(duì)象之間的依賴(lài)注入關(guān)系,各服務(wù)都正常運(yùn)行時(shí),Spring負(fù)責(zé)接收來(lái)自JETTY的請(qǐng)求,并解析轉(zhuǎn)換成Resource層的相應(yīng)方法調(diào)用處理,并將處理結(jié)果返回。
以Spring面向接口編程為核心方法,結(jié)合多種框架技術(shù),實(shí)現(xiàn)了一個(gè)以Spring依賴(lài)注入方式的各個(gè)服務(wù)組件的開(kāi)發(fā)過(guò)程。在實(shí)現(xiàn)某一服務(wù)的過(guò)程中,根據(jù)面向接口編程的思想,首先明確該服務(wù)的接口所提供的方法,再根據(jù)接口方法明確Model層的實(shí)體類(lèi),該實(shí)體類(lèi)可以由開(kāi)發(fā)人員自行設(shè)計(jì),或者由前文提到的XSD(XML Schema Definition)工具進(jìn)行統(tǒng)一生成。這些生成的實(shí)體類(lèi)是該服務(wù)能否成功運(yùn)行的保證。在完成上述工作后,使用簡(jiǎn)單工廠方法確定一種該接口的實(shí)現(xiàn),由Manager層統(tǒng)一管理。這樣做的好處是當(dāng)需要對(duì)某一接口進(jìn)行重新修改或者使用新方法實(shí)現(xiàn)時(shí),不必在原有Impl上進(jìn)行改動(dòng),只需將新的實(shí)現(xiàn)利用工廠方法重新使用Manager選擇新的實(shí)現(xiàn)即可,增加了代碼的靈活性和可擴(kuò)展性,為以后代碼的健壯打下基礎(chǔ)。同時(shí),使用Factory選擇適當(dāng)?shù)姆椒ㄗ⑷隦esource層到Logic層的引用中,當(dāng)外界有請(qǐng)求到來(lái)時(shí),Resource層就能直接通過(guò)Logic層選擇合適的Impl來(lái)進(jìn)行具體的任務(wù)處理。
1.4關(guān)鍵模塊實(shí)現(xiàn)
虛擬機(jī)管理模塊是私有云服務(wù)平臺(tái)提供的最核心的服務(wù),用戶(hù)可以通過(guò)該模塊直接申請(qǐng)平臺(tái)的虛擬化資源。目前主流虛擬化技術(shù)解決方案有 Xen、內(nèi)核級(jí)虛擬機(jī)(Kernelbased Virtual Machine, KVM)和 VMware 等,現(xiàn)有的云計(jì)算平臺(tái)也是基于不同的虛擬化技術(shù),如 IBM 的 Blue Cloud 使用了 Xen 虛擬化技術(shù),VMware 的 VMware vSphere 則使用了自己的虛擬化技術(shù)?紤]到KVM是基于硬件的完全虛擬化技術(shù),具有核心代碼少、操作簡(jiǎn)單等優(yōu)勢(shì),本文采用KVM虛擬化技術(shù)作為云計(jì)算平臺(tái)設(shè)計(jì)的支撐工具。虛擬機(jī)管理模塊的主要功能包括:
1)提供不同類(lèi)型的基礎(chǔ)鏡像庫(kù)。平臺(tái)提供不同的操作系統(tǒng)的基礎(chǔ)鏡像,供用戶(hù)選擇。本地資源應(yīng)包括Linux、Windows 7等操作系統(tǒng)鏡像庫(kù)。由統(tǒng)一的資源信息管理服務(wù)對(duì)資源進(jìn)行管理。
2)虛擬機(jī)申請(qǐng)。用戶(hù)可以申請(qǐng)一臺(tái)臨時(shí)虛擬機(jī),使用完畢后系統(tǒng)自動(dòng)回收該虛擬機(jī),達(dá)到即用即申請(qǐng)的目的。用戶(hù)也可以申請(qǐng)一臺(tái)固有的虛擬機(jī),該虛擬機(jī)不會(huì)被平臺(tái)銷(xiāo)毀,用戶(hù)通過(guò)遠(yuǎn)程登錄該虛擬機(jī),完成對(duì)該虛擬機(jī)的獨(dú)立配置。對(duì)于該種類(lèi)型的虛擬機(jī),平臺(tái)僅對(duì)空閑的虛擬機(jī)進(jìn)行關(guān)機(jī)操作,而不會(huì)進(jìn)行摧毀。新建的虛擬機(jī)應(yīng)以鏡像庫(kù)中已有虛擬機(jī)鏡像模板為標(biāo)準(zhǔn)來(lái)創(chuàng)建,用戶(hù)可以自行調(diào)整虛擬機(jī)的CPU核數(shù)、內(nèi)存大小等相關(guān)配置。
3)虛擬機(jī)克隆。用戶(hù)配置好一臺(tái)需要的虛擬機(jī)后,若要進(jìn)行并行或者多臺(tái)虛擬機(jī)配合的實(shí)驗(yàn),可利用本平臺(tái)進(jìn)行虛擬機(jī)的克隆,私有云平臺(tái)所能克隆虛擬機(jī)數(shù)量的多少由平臺(tái)的計(jì)算能力決定。
4)虛擬機(jī)在線遷移。虛擬機(jī)模塊中最重要的功能之一,主要負(fù)責(zé)維持整個(gè)私有云平臺(tái)的負(fù)載平衡,當(dāng)宿主節(jié)點(diǎn)過(guò)載時(shí)就需要?jiǎng)討B(tài)地將該虛擬機(jī)遷移到別的空閑節(jié)點(diǎn)中,使平臺(tái)穩(wěn)定運(yùn)行。
5)虛擬機(jī)管理。用戶(hù)能夠管理自己創(chuàng)建的虛擬機(jī),包括對(duì)虛擬機(jī)的日常操作,如開(kāi)機(jī)、關(guān)機(jī)、暫停、回復(fù)、強(qiáng)制關(guān)機(jī)、銷(xiāo)毀、創(chuàng)建快照等操作。
6)負(fù)載平衡。通過(guò)實(shí)時(shí)監(jiān)控平臺(tái)及虛擬機(jī)的運(yùn)行情況及時(shí)對(duì)滿(mǎn)負(fù)載的節(jié)點(diǎn)進(jìn)行及時(shí)的調(diào)整,以達(dá)到私有云平臺(tái)的負(fù)載平衡。當(dāng)節(jié)點(diǎn)負(fù)載過(guò)高時(shí),平臺(tái)會(huì)對(duì)該節(jié)點(diǎn)進(jìn)行自動(dòng)處理,如對(duì)虛擬機(jī)遷移、銷(xiāo)毀等處理,結(jié)合VM的調(diào)度策略,選擇合適的調(diào)度算法,保證平臺(tái)正常運(yùn)行。當(dāng)系統(tǒng)監(jiān)控到某一節(jié)點(diǎn)超載,就調(diào)用平臺(tái)管理調(diào)度策略,采取一定措施,減少節(jié)點(diǎn)開(kāi)銷(xiāo)。虛擬化管理模塊的實(shí)現(xiàn)界面如圖4所示。 Libvirt Java[12]是KVM中遠(yuǎn)程控制和管理虛擬機(jī)的重要編程接口。使用該工具可通過(guò)導(dǎo)入Libvirt包來(lái)連接虛擬化主機(jī)節(jié)點(diǎn),從而方便地管理虛擬機(jī),減少底層復(fù)雜繁瑣的安全訪問(wèn)機(jī)制。Libvirt Java的訪問(wèn)需要有安全協(xié)議的支持,在服務(wù)端配置好基于傳輸層安全協(xié)議的證書(shū),即可通過(guò)Libvirt接口管理虛擬機(jī)。通過(guò)將Libvirt Java包融入到私有云平臺(tái)的框架中,形成一個(gè)單獨(dú)的服務(wù)組件,用戶(hù)即可方便地管理自己的虛擬機(jī)。
2虛擬機(jī)部署機(jī)制
云計(jì)算具有彈性服務(wù)和數(shù)據(jù)中心自治性的特點(diǎn),這一特點(diǎn)的保障主要來(lái)自于虛擬機(jī)快速部署技術(shù)的實(shí)現(xiàn)。為保持私有云平臺(tái)的負(fù)載平衡,在虛擬機(jī)部署時(shí)需考慮虛擬機(jī)本身的資源特性,將虛擬機(jī)部署到合適的物理節(jié)點(diǎn)中。因此,本文提出一種虛擬機(jī)動(dòng)態(tài)分配管理決策進(jìn)行虛擬機(jī)的快速部署。
2.1虛擬機(jī)部署流程
云平臺(tái)的虛擬機(jī)資源部署流程如圖5所示,主要包括以下步驟:
1)API接收用戶(hù)請(qǐng)求,將所需虛擬機(jī)信息發(fā)送給私有云平臺(tái)控制中心,由控制中心確定這些信息的正確性,其中虛擬機(jī)信息包括虛擬機(jī)系統(tǒng)類(lèi)型、架構(gòu)、核數(shù)、內(nèi)存等基本信息。
2)控制中心將虛擬機(jī)信息發(fā)送給鏡像管理中心,并尋找符合要求的鏡像模板。找到鏡像模板則復(fù)制鏡像文件并將鏡像位置信息返回給控制中心;若未找到,不予響應(yīng),并返回未找到符合要求的虛擬機(jī)模板消息。
3)控制中心接收鏡像模板位置信息后,則向網(wǎng)絡(luò)控制器請(qǐng)求分配固定的IP、MAC地址等相關(guān)信息,由網(wǎng)絡(luò)控制器生成相應(yīng)IP、MAC地址信息并反饋給控中心。
4)采用本文提出的虛擬機(jī)動(dòng)態(tài)分配管理決策進(jìn)行宿主節(jié)點(diǎn)的分配。分配完成后,由控制中心進(jìn)行宿主節(jié)點(diǎn)虛擬機(jī)基本信息的配置。至此,虛擬機(jī)部署完成,控制中心會(huì)反饋給用戶(hù)一個(gè)部署完成的反饋信號(hào),在虛擬機(jī)啟動(dòng)完畢后,用戶(hù)即可訪問(wèn)該虛擬機(jī)。
虛擬機(jī)啟動(dòng)時(shí),會(huì)自動(dòng)加載所有服務(wù)模塊,虛擬機(jī)快速部署的實(shí)現(xiàn)需要信息監(jiān)控模塊和文件管理模塊兩個(gè)模塊的相互配合才能完成。信息監(jiān)控模塊負(fù)責(zé)收集監(jiān)控平臺(tái)可用節(jié)點(diǎn),供宿主物理節(jié)點(diǎn)的選擇,文件傳輸模塊負(fù)責(zé)將鏡像庫(kù)里的模板文件復(fù)制到網(wǎng)絡(luò)文件系統(tǒng)(Network File System, NFS)中各個(gè)物理節(jié)點(diǎn)文件夾。以?xún)蓚(gè)功能模塊為支撐,虛擬機(jī)管理模塊進(jìn)行虛擬機(jī)的定義、啟動(dòng)和部署。
2.2虛擬機(jī)動(dòng)態(tài)分配
2.2.1資源描述
在私有云平臺(tái)中,組織結(jié)構(gòu)的構(gòu)建是基于對(duì)等式的,所以管理節(jié)點(diǎn)可以是平臺(tái)中的任何一個(gè)節(jié)點(diǎn)。為了管理方便,一般會(huì)指定一個(gè)節(jié)點(diǎn)為管理節(jié)點(diǎn),負(fù)責(zé)管理其他的節(jié)點(diǎn)。該節(jié)點(diǎn)將不會(huì)作為虛擬機(jī)的部署節(jié)點(diǎn),只是管理監(jiān)控其他節(jié)點(diǎn)的正常運(yùn)行。其余節(jié)點(diǎn)就可以作為虛擬機(jī)部署節(jié)點(diǎn),稱(chēng)為資源節(jié)點(diǎn)RS,其節(jié)點(diǎn)集合定義為:
RN={N1,N2,…,Nn}(1
私有云平臺(tái)使用NFS共享存儲(chǔ),所以在一般情況下不考慮平臺(tái)的存儲(chǔ)性能,其存儲(chǔ)的管理主要由NFS管理。各節(jié)點(diǎn)間的網(wǎng)絡(luò)使用InfiniBand高速網(wǎng)絡(luò),它主要針對(duì)服務(wù)器端的連接,負(fù)責(zé)各個(gè)節(jié)點(diǎn)間的通信,不僅提高了通信的效率,而且提高了性能。NFS和InfiniBand減少了虛擬機(jī)部署需考慮的因素,主要考慮節(jié)點(diǎn)主要性能,如CPU及內(nèi)存的使用情況。定義節(jié)點(diǎn)性能的閾值為th,其節(jié)點(diǎn)相關(guān)服務(wù)能力定義如下:
th={thproc,thmem,thd}(2)
其中:thproc、thmem、thd分別表示處理器、內(nèi)存以及硬盤(pán)的負(fù)載情況。由于私有云平臺(tái)系統(tǒng)采用NFS硬盤(pán)共享,所以thd就是整個(gè)平臺(tái)網(wǎng)絡(luò)硬盤(pán)存儲(chǔ)的閾值。定義th區(qū)間范圍為0到1,可以用來(lái)表示某一性能指標(biāo)是否過(guò)載。
CPU處理能力NSproc主要包括以下幾個(gè)性能指標(biāo),定義如下:
NSproc={us,q,p(t)}(3)
其中:us為當(dāng)前CPU的使用百分比,q為CPU內(nèi)核數(shù),p(t)為t時(shí)刻,CPU使用負(fù)載情況,一般q>1,所以得到的p(t)為一個(gè)集合p(t)={p1(t),p2(t),…,pk(t)},通過(guò)一段連續(xù)的時(shí)刻T={t1,t2,…,ti}內(nèi),這個(gè)T時(shí)間段應(yīng)是很短的一段時(shí)間內(nèi),如幾秒左右的CPU的使用情況。在T時(shí)間段內(nèi)得到的各個(gè)p(t),我們對(duì)其進(jìn)行平均處理,即可知當(dāng)前節(jié)點(diǎn)CPU的使用情況。
i(t)=∑tsj=1pi(tj)/ts(4
(t)=∑qi=1pi(t)/q(5)
其中:ts為時(shí)間段T的總區(qū)間,i表示CPU內(nèi)核數(shù)。式(4)表示在T時(shí)間段內(nèi)各個(gè)內(nèi)核的執(zhí)行負(fù)載情況,式(5)表示求取q個(gè)內(nèi)核的負(fù)載平均數(shù)值,可以用來(lái)表示當(dāng)前節(jié)點(diǎn)CPU的負(fù)載情況。由于(t)總是在0到1的范圍內(nèi),CPU空閑情況可以用1-(t)來(lái)說(shuō)明。
內(nèi)存性能指標(biāo)RSmem定義如下:
RSmem={m,m(t)}(6)
其中:m為內(nèi)存的大小,m(t)為內(nèi)存的t時(shí)刻的負(fù)載情況,同CPU負(fù)載的處理方式一樣,在獲得一段時(shí)間T={t1,t2,…,ti}的內(nèi)存的負(fù)載后,取其平均值即可得到當(dāng)前內(nèi)存的負(fù)載情況。
m(t)=∑ui=1m(ti)/u(7
由于是NFS共享存儲(chǔ),所以不需要考慮單一節(jié)點(diǎn)的存儲(chǔ)情況,只需要監(jiān)控全局存儲(chǔ)即可。使用這些數(shù)據(jù)還需對(duì)其進(jìn)行標(biāo)準(zhǔn)化處理,采用式(8)所示的最常用的標(biāo)準(zhǔn)化處理方法。其中Zij為節(jié)點(diǎn)i的某一項(xiàng)性能指標(biāo)j的歸一化后值,Xij表示節(jié)點(diǎn)i的某一性能指標(biāo)j的值。
Zij=Xij/∑(Xij)2(8
2.2.2虛擬機(jī)動(dòng)態(tài)分配機(jī)制
虛擬機(jī)的動(dòng)態(tài)分配管理將決定著私有云平臺(tái)能否穩(wěn)定地運(yùn)行。合理的分配機(jī)制能夠?qū)崟r(shí)監(jiān)控所有部署節(jié)點(diǎn)的運(yùn)行狀況,并根據(jù)具體情況及時(shí)作出調(diào)整,保持系統(tǒng)負(fù)載平衡。 虛擬機(jī)管理模塊監(jiān)聽(tīng)來(lái)自用戶(hù)新建虛擬機(jī)的請(qǐng)求,分析該虛擬機(jī)的各項(xiàng)性能指標(biāo),如CPU核數(shù)、內(nèi)存大小等,并通過(guò)動(dòng)態(tài)分配的決策算法選擇最優(yōu)宿主物理節(jié)點(diǎn)。若通過(guò)決策找到該節(jié)點(diǎn),則將虛擬機(jī)鏡像按照前文提到的部署步驟創(chuàng)建在該節(jié)點(diǎn)并啟動(dòng)加入私有云平臺(tái)中;若沒(méi)有找到合適物理節(jié)點(diǎn),則說(shuō)明私有云平臺(tái)物理節(jié)點(diǎn)資源匱乏,已達(dá)到滿(mǎn)載狀態(tài)。私有云平臺(tái)啟動(dòng)完成后監(jiān)控模塊隨之啟動(dòng),實(shí)時(shí)監(jiān)控各個(gè)物理節(jié)點(diǎn)的使用情況。將式(2)中閾值的上限值定義為th,下限值定義為thmin。當(dāng)監(jiān)控該虛擬機(jī)的閾值低于thmin時(shí),則表明該虛擬機(jī)處于空閑狀態(tài)。當(dāng)檢測(cè)到某一節(jié)點(diǎn)閾值超過(guò)th時(shí),私有云平臺(tái)將對(duì)該節(jié)點(diǎn)進(jìn)行處理。具體實(shí)施過(guò)程如下:
1)檢測(cè)節(jié)點(diǎn)是否有閑置虛擬機(jī)節(jié)點(diǎn)(閾值小于thmin)。若監(jiān)控系統(tǒng)判定其為閑置節(jié)點(diǎn),則將其從私有云平臺(tái)中移除,并將該虛擬機(jī)銷(xiāo)毀并刪除。
2)若該節(jié)點(diǎn)中的虛擬機(jī)存在負(fù)載情況,則考慮虛擬機(jī)在線遷移。在該節(jié)點(diǎn)選擇一臺(tái)負(fù)載較大或者其本身對(duì)性能要求較高(如CPU和內(nèi)存要求較大)的節(jié)點(diǎn),通過(guò)虛擬機(jī)分配決策方法選擇一臺(tái)最優(yōu)主機(jī)。
3)若找到可以遷移的主機(jī),則將選擇出來(lái)的虛擬機(jī)在線遷移到該節(jié)點(diǎn)中,遷移過(guò)程中,虛擬機(jī)中的運(yùn)行程序?qū)⒉皇苡绊憽H粽也坏娇梢赃w移的主機(jī),則繼續(xù)查看物理節(jié)點(diǎn)中的閑置虛擬機(jī)。
4)找到閑置虛擬機(jī)后,若其釋放后的資源性能可以支持待遷移的虛擬機(jī),則銷(xiāo)毀閑置的虛擬機(jī),并開(kāi)始在線遷移。
5)若未找到閑置虛擬機(jī),則說(shuō)明平臺(tái)運(yùn)行環(huán)境性能指標(biāo)已達(dá)到閾值,系統(tǒng)會(huì)通知管理員采取一定措施,使得用戶(hù)能夠繼續(xù)申請(qǐng)?zhí)摂M機(jī),維護(hù)私有云平臺(tái)穩(wěn)定運(yùn)行。
2.2.3虛擬機(jī)動(dòng)態(tài)分配決策
虛擬機(jī)的決策分配與在平臺(tái)執(zhí)行作業(yè)任務(wù)不同,虛擬機(jī)的部署時(shí)間相對(duì)較固定,并且是可控制的,一個(gè)虛擬機(jī)在平臺(tái)節(jié)點(diǎn)中的運(yùn)行時(shí)間一般比較長(zhǎng),在節(jié)點(diǎn)硬件資源充足的情況下,一般不會(huì)過(guò)多地干擾虛擬機(jī)的運(yùn)行。所以,選擇一個(gè)較優(yōu)的物理節(jié)點(diǎn)來(lái)部署是至關(guān)重要的。分配決策過(guò)程主要包括單一虛擬機(jī)的部署和多個(gè)虛擬機(jī)的部署。
1)單一虛擬機(jī)的分配決策。
單個(gè)虛擬機(jī)的分配相對(duì)較為簡(jiǎn)單,只需要找到一個(gè)可以接受該虛擬機(jī)的最優(yōu)主機(jī)即可。在前文中已將節(jié)點(diǎn)資源統(tǒng)一量綱化,方便進(jìn)行決策對(duì)比,從而選出最優(yōu)主機(jī)來(lái)部署虛擬機(jī)。各個(gè)節(jié)點(diǎn)資源的使用情況主要是看(t)和(t)的負(fù)載情況,與系統(tǒng)規(guī)定的閾值th相比,選取各項(xiàng)性能指標(biāo)小于閾值的n個(gè)節(jié)點(diǎn)作為候選節(jié)點(diǎn),N={N1,N2,…,Nn}。分別計(jì)算各個(gè)節(jié)點(diǎn)標(biāo)準(zhǔn)化處理后剩余負(fù)載的量綱值。
由于私有云平臺(tái)的節(jié)點(diǎn)都是同構(gòu)的,所以式(9)可以簡(jiǎn)化為:
i=(1-i)∑nj=1(1-j)2
i=(1-i)∑nj=1(1-j)2(10
根據(jù)當(dāng)前虛擬機(jī)對(duì)資源的需求情況,定義虛擬機(jī)對(duì)CPU、mem的權(quán)值,得到節(jié)點(diǎn)的總評(píng)估值如下:
Evi=wproc×i+wmem×i(11
最后選取的最優(yōu)節(jié)點(diǎn)為Evi(i=1,2,…,n)中最大的節(jié)點(diǎn)。單個(gè)虛擬機(jī)分配過(guò)程結(jié)束。
2)多個(gè)虛擬機(jī)的分配決策。
若用戶(hù)需要同時(shí)部署多個(gè)虛擬機(jī),則系統(tǒng)需要對(duì)這些虛擬機(jī)進(jìn)行合理安排,保持負(fù)載平衡?寺〕鰜(lái)的多個(gè)虛擬機(jī)配置完全一樣,定義需分配的虛擬機(jī)個(gè)數(shù)數(shù)集為V, V={1,2,…,v}。 則按照上文描述,可以得到n個(gè)候選主機(jī)。由于上文是單個(gè)虛擬機(jī)的分配過(guò)程,虛擬機(jī)節(jié)點(diǎn)的資源評(píng)估值暫不考慮,但是多虛擬機(jī)的分配會(huì)涉及到物理節(jié)點(diǎn)資源是否能夠支撐多個(gè)虛擬機(jī),所以需要對(duì)虛擬機(jī)和候選節(jié)點(diǎn)進(jìn)行標(biāo)準(zhǔn)化評(píng)估。
vm=pvm/∑nj=1(1-j)2
vm=mvm/∑nj=1(1-j)2(12
根據(jù)式(11)得到虛擬機(jī)的最終評(píng)估值Evvm與候選主機(jī)的評(píng)估值相比,選取Evi大于等于Evvm的k個(gè)主機(jī)作為候選節(jié)點(diǎn)(k≤v)。設(shè)其為劃分向量α={α1,α2,…,αk},供需分配v個(gè)虛擬機(jī),則可以得到式(13):
∑ki=1αi=v(13
虛擬機(jī)的分配原則是保證私有云平臺(tái)的負(fù)載平衡,所以在完成虛擬機(jī)的分配后,所有節(jié)點(diǎn)的負(fù)載量要達(dá)到一致,如式(14):
αi(1-Evi)=αi+1(1-Evi+1); i=1,2,…,k-1(14
由式(13)和(14)可得到以下線性方程組。
1-Ev1-(1-Ev2)00…00
01-Ev2-(1-Ev3)0…00
001-Ev3-(1-Ev4)…00
0000…1-Evk-1-(1-Evk)
1111…11α1α2α3αk-1αk=0000v(15
α1=v/(1+∑ki=21-Ev11-Evi)(16
由式(15)通過(guò)計(jì)算即可得到α1,如式(16),并通過(guò)式(14)即可依次遞推得到整個(gè)α,從而得到各個(gè)宿主節(jié)點(diǎn)分配的虛擬機(jī)個(gè)數(shù),完成虛擬機(jī)的動(dòng)態(tài)分配過(guò)程。該策略根據(jù)虛擬機(jī)資源的特點(diǎn),結(jié)合現(xiàn)有物理節(jié)點(diǎn)的負(fù)載情況,對(duì)虛擬機(jī)進(jìn)行了動(dòng)態(tài)部署,既滿(mǎn)足了用戶(hù)的需求,又能夠明顯提高閑散資源的利用率,使私有云平臺(tái)的整體負(fù)載達(dá)到較好的平衡狀態(tài)。
3實(shí)驗(yàn)及結(jié)果分析
私有云平臺(tái)是由一組浪潮服務(wù)器組成的集群系統(tǒng),總計(jì)擁有存儲(chǔ)空間12TB。每個(gè)節(jié)點(diǎn)使用主頻為2.60GHz 的Xeon E52670 的16線程CPU,內(nèi)存為32GB。系統(tǒng)運(yùn)行的實(shí)驗(yàn)作業(yè)是處理一個(gè)數(shù)據(jù)文件,本文以地震資料處理中的傅里葉有限差分疊前深度偏移(Fourier FiniteDifference,F(xiàn)FD) [13]為實(shí)際測(cè)試用例。地震資料數(shù)據(jù)格式嚴(yán)格,其數(shù)據(jù)文件可進(jìn)行切割拆分存儲(chǔ),并且處理每一炮數(shù)據(jù)的時(shí)間基本一致,以Marmousi模型[14]為處理數(shù)據(jù)來(lái)進(jìn)行私有云平臺(tái)作業(yè)提交與執(zhí)行的測(cè)試。 3.1虛擬機(jī)部署測(cè)試
虛擬機(jī)的部署需要測(cè)試多臺(tái)虛擬機(jī)的性能參數(shù)。以Linux redhat鏡像為測(cè)試用例,在私有云平臺(tái)中同時(shí)部署N=20臺(tái)克隆的虛擬機(jī)。虛擬機(jī)參數(shù)如下:2核CPU,內(nèi)存大小為2GB,硬盤(pán)為10GB。
為方便測(cè)試,直接選取云平臺(tái)環(huán)境中的6個(gè)節(jié)點(diǎn)來(lái)進(jìn)行虛擬機(jī)分配。本文規(guī)定虛擬機(jī)所需資源的權(quán)重為wproc=0.4,wmem=0.6。虛擬機(jī)分配前各個(gè)節(jié)點(diǎn)資源情況如表1所示(CPU Use表示CPU利用率,Mem Use表示內(nèi)存利用率)。
選取N=20個(gè)虛擬機(jī)進(jìn)行分配,所需總內(nèi)存大小為40GB,根據(jù)表1所示信息,這6個(gè)節(jié)點(diǎn)完全可以滿(mǎn)足20個(gè)虛擬機(jī)的分配。根據(jù)上文的虛擬機(jī)動(dòng)態(tài)分配機(jī)制,得到節(jié)點(diǎn)分配的向量α={2,3,2,4,6,3},按照各節(jié)點(diǎn)分配虛擬機(jī)數(shù)量進(jìn)行部署后,得到各個(gè)節(jié)點(diǎn)負(fù)載情況,如表2所示。
由圖6可知,分配前的各節(jié)點(diǎn)負(fù)載處在非常不平衡的狀態(tài),其節(jié)點(diǎn)負(fù)載的跨度高達(dá)0.348,各節(jié)點(diǎn)性能差距較大;在此基礎(chǔ)上進(jìn)行虛擬機(jī)的分配后,節(jié)點(diǎn)的負(fù)載趨于緩和,其跨度變?yōu)?.169,相比分配前,整體負(fù)載趨于平衡;但由圖中可以看出,整體的負(fù)載未達(dá)到很好的平衡狀態(tài)。原因在于對(duì)節(jié)點(diǎn)進(jìn)行評(píng)估時(shí)將CPU也算入其中,但是在實(shí)際分配虛擬機(jī)時(shí),當(dāng)虛擬機(jī)中并沒(méi)有負(fù)載的時(shí)候,其占用系統(tǒng)的使用率是基本不變的。在實(shí)際計(jì)算過(guò)程中考慮了CPU的影響,所以最后結(jié)果與理論值有一定的偏差,由圖6可以得出,運(yùn)用該動(dòng)態(tài)分配決策過(guò)程是能夠在同時(shí)分配大量虛擬機(jī)時(shí),較好地保持私有云平臺(tái)的負(fù)載平衡。
3.2應(yīng)用測(cè)試
3.2.1單虛擬機(jī)執(zhí)行作業(yè)測(cè)試
為測(cè)試私有云平臺(tái)中虛擬機(jī)的性能,選取與虛擬主機(jī)配置相近的一臺(tái)實(shí)際主機(jī)作為對(duì)比,分別在主機(jī)中計(jì)算20、40、60、80炮數(shù)據(jù)的FFD[13],對(duì)比計(jì)算時(shí)間及執(zhí)行結(jié)果的正確性。虛擬機(jī)使用主頻為2.60GHz 的QEMU Virtual CPU,內(nèi)存為2GB。物理主機(jī)使用主頻為2.53GHz的Intel Core2 Duo CPU,內(nèi)存為2GB。以不同規(guī)模的地震資料處理數(shù)據(jù)在不同的主機(jī)內(nèi)進(jìn)行執(zhí)行作業(yè),為驗(yàn)證執(zhí)行結(jié)果的正確性,選取80炮時(shí)的數(shù)據(jù)成像,作業(yè)執(zhí)行時(shí)間對(duì)比如表3所示。處理結(jié)果對(duì)比如圖7所示。
由圖7可知,虛擬機(jī)和物理主機(jī)處理結(jié)果是一致的,說(shuō)明虛擬機(jī)能夠正常執(zhí)行作業(yè)任務(wù)。表3數(shù)據(jù)表明,虛擬機(jī)的性能與實(shí)際物理節(jié)點(diǎn)的計(jì)算時(shí)間幾乎一致,所以虛擬機(jī)在性能方面接近實(shí)際相同配置的物理主機(jī)。
3.2.2多虛擬機(jī)節(jié)點(diǎn)執(zhí)行作業(yè)測(cè)試
選取私有云平臺(tái)中的一個(gè)服務(wù)節(jié)點(diǎn)作為對(duì)比,比較單服務(wù)節(jié)點(diǎn)Cu01執(zhí)行Marmousi模型138炮數(shù)據(jù)與多虛擬機(jī)節(jié)點(diǎn)并行執(zhí)行的效率。克隆7個(gè)配置一樣的Linux虛擬機(jī)(Vm1,Vm2,…,Vm7),每個(gè)虛擬機(jī)具體配置:CPU為2核;內(nèi)存為2GB。利用平臺(tái)將模型文件分割提交到不同的虛擬機(jī)中,設(shè)定執(zhí)行作業(yè)時(shí)虛擬機(jī)已經(jīng)創(chuàng)建完成,因此虛擬機(jī)創(chuàng)建時(shí)間忽略不計(jì),并且每個(gè)文件都較小,文件傳輸及回收的時(shí)間也可忽略不計(jì),各節(jié)點(diǎn)處理炮數(shù)、作業(yè)計(jì)算時(shí)間如表4和表5所示。
執(zhí)行結(jié)果成像如圖8所示,Cu01與虛擬機(jī)并行執(zhí)行的結(jié)果是一致的,說(shuō)明了執(zhí)行結(jié)果的正確性。表4和5中的數(shù)據(jù)表明單個(gè)虛擬機(jī)節(jié)點(diǎn)執(zhí)行作業(yè)的效率低于單個(gè)服務(wù)節(jié)點(diǎn),但隨著虛擬機(jī)節(jié)點(diǎn)規(guī)模的擴(kuò)大,處理的時(shí)間明顯減少。利用虛擬機(jī)并行處理同一作業(yè)的效率明顯高于單個(gè)服務(wù)節(jié)點(diǎn),利用虛擬機(jī)并行處理比利用單一節(jié)點(diǎn)處理具有明顯優(yōu)勢(shì),由于虛擬機(jī)的自治性,當(dāng)某一虛擬機(jī)崩潰時(shí),不會(huì)影響其他虛擬機(jī)作業(yè)的執(zhí)行,崩潰節(jié)點(diǎn)的計(jì)算任務(wù)可轉(zhuǎn)移到別的空閑虛擬機(jī)中運(yùn)行,為任務(wù)的穩(wěn)定運(yùn)行提供了保障。
4結(jié)語(yǔ)
在深入研究云計(jì)算架構(gòu)和虛擬化技術(shù)特性的基礎(chǔ)上,結(jié)合多種框架技術(shù)設(shè)計(jì)實(shí)現(xiàn)了一個(gè)能夠?qū)ν馓峁┗A(chǔ)設(shè)施即服務(wù)功能的私有云平臺(tái)。該平臺(tái)整合了目前分布式系統(tǒng)的硬件資源,提高了資源的使用效率,針對(duì)云平臺(tái)運(yùn)行過(guò)程中不可避免的負(fù)載不均衡問(wèn)題,提出了一種虛擬機(jī)動(dòng)態(tài)分配策略,該策略根據(jù)虛擬機(jī)資源的特點(diǎn),結(jié)合現(xiàn)有物理節(jié)點(diǎn)的負(fù)載情況,對(duì)虛擬機(jī)進(jìn)行了動(dòng)態(tài)部署,完成了虛擬機(jī)的動(dòng)態(tài)分配,使私有云平臺(tái)的整體負(fù)載達(dá)到了較好的平衡。以石油勘探中的傅里葉有限差分疊前深度偏移為應(yīng)用背景,采用Marmousi模型波場(chǎng)正演為例進(jìn)行了應(yīng)用測(cè)試,證明了私有云平臺(tái)和虛擬機(jī)執(zhí)行作業(yè)的可行性,并對(duì)虛擬機(jī)進(jìn)行了部署測(cè)試,實(shí)驗(yàn)結(jié)果表明,運(yùn)用本文提出的動(dòng)態(tài)分配決策能夠在分配大量虛擬機(jī)的同時(shí),較好地保持私有云平臺(tái)的負(fù)載平衡。
參考文獻(xiàn):
[1]ARMBRUST M, FOX A, GRIFFITH R, et al. A view of cloud computing[J]. Communications of the ACM, 2010, 53(4): 50-58.
[2]YE K, WU Z. Power management of virtualized cloud computing platform[J].Chinese Journal of Computers,2012,35(6):1263-1280.(葉可江,吳朝暉.虛擬化云計(jì)算平臺(tái)的能耗管理[J].計(jì)算機(jī)學(xué)報(bào),2012,35(6):1263-1280.)
[3]YANG R. The design of private cloud computing platform based on virtualization technology[D]. Tianjin: Hebei University of Technology, 2013:8-10.(楊榮霞. 基于虛擬化技術(shù)的私有云計(jì)算平臺(tái)設(shè)計(jì)[D]. 天津:河北工業(yè)大學(xué), 2013: 8-10.)
[4]HUANG L, CHEN L, WANG J, et al. Research on the construction of enterprise private clouds platforms[J]. Journal of Mechanical and Electrical Engineering, 2014, 31(8): 1090-1093.(黃梁, 陳魯敏, 王加興, 等. 企業(yè)私有云平臺(tái)建設(shè)研究[J]. 機(jī)電工程, 2014, 31(8): 1090-1093.) [5]FANG W, WEN X, PAN W, et al. Cloud computing: conceptions, key technologies and application[J]. Journal of Nanjing University of Information Science and Technology:Natural Science Edition, 2012,4(4):351-361.(方巍, 文學(xué)志, 潘吳斌, 等. 云計(jì)算:概念, 技術(shù)及應(yīng)用研究綜述[J]. 南京信息工程大學(xué)學(xué)報(bào):自然科學(xué)版, 2012, 4(4): 351-361.)
[6]JIANG Y, WANG W, CAO L, et al. Construction of private cloud computing platform based on open source software[J]. Telecom Science, 2013, 29(1): 68-75.(姜毅, 王偉軍, 曹麗, 等. 基于開(kāi)源軟件的私有云計(jì)算平臺(tái)構(gòu)建[J]. 電信科學(xué), 2013, 29(1): 68-75.)
[7]RATHI A, PARMAR N. Secure cloud data computing with third party auditor control[C]// Proceedings of the 3rd International Conference on Frontiers of Intelligent Computing: Theory and Applications. Berlin: Springer, 2015: 145-152.
[8]ZHANG J, ZE X, ZHENG J, et al. Architecture and prospects of private cloud in seismic prospecting industry[J].Computer Applications of Petroleum, 2014(2):7-12.(張進(jìn)鐸,迮小平,鄭建勇,等.地震勘探行業(yè)私有云的架構(gòu)與遠(yuǎn)景展望[J].石油工業(yè)計(jì)算機(jī)應(yīng)用,2014(2):7-12.)
[9]XU W, MADISON K, FLINN M, et al. Applying virtualization technology in security education[J]. Procedia ― Social and Behavioral Sciences, 2014, 141: 10-14.
高級(jí)工程師職稱(chēng)論文發(fā)表期刊推薦《計(jì)算機(jī)工程與設(shè)計(jì)》創(chuàng)刊于1980年,是中國(guó)航天科工集團(tuán)主管、中國(guó)航天科工集團(tuán)二院706所主辦的國(guó)內(nèi)外公開(kāi)發(fā)行的計(jì)算機(jī)專(zhuān)業(yè)技術(shù)類(lèi)刊物。該刊是中國(guó)計(jì)算機(jī)學(xué)會(huì)會(huì)刊、北京計(jì)算機(jī)學(xué)會(huì)會(huì)刊、中國(guó)宇航學(xué)會(huì)會(huì)刊,是全國(guó)中文核心期刊、中國(guó)科技核心期刊。
轉(zhuǎn)載請(qǐng)注明來(lái)自:http://www.jinnzone.com/dianzijishulw/55432.html