精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

您現(xiàn)在的位置是:首頁電子技術(shù)論文

高級工程師論文范文基于虛擬化技術(shù)的私有云計算平臺設(shè)計

發(fā)布時間: 1

  近年來,伴隨著計算機技術(shù)的飛速發(fā)展,越來越多的計算服務(wù)都離不開云計算的支撐。云計算是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴展且經(jīng)常是虛擬化的資源。本文是一篇高級工程師論文范文,主要論述了基于虛擬化技術(shù)的私有云計算平臺設(shè)計。
  摘要:為提高分布式集群系統(tǒng)的硬件資源利用率,避免閑置設(shè)備造成的經(jīng)濟損失,結(jié)合虛擬化技術(shù),提出了一種基于多種框架技術(shù)的私有云平臺實現(xiàn)方案。該方案整合底層硬件資源,實現(xiàn)了對資源的按需分割、動態(tài)分配及動態(tài)遷移,并針對傳統(tǒng)的虛擬機部署方法中的負載不均衡問題,提出了基于動態(tài)分配決策的虛擬機部署機制,該策略根據(jù)虛擬機資源的特點,結(jié)合現(xiàn)有物理節(jié)點的負載情況,對虛擬機進行了動態(tài)部署。最后設(shè)計實現(xiàn)了靈活性強、可擴展性能好的私有云計算服務(wù)平臺,以石油勘探中的傅里葉有限差分疊前深度偏移為測試用例進行了應(yīng)用測試,證明了私有云平臺的可行性和有效性,并對虛擬機的部署機制進行了測試。實驗結(jié)果表明,動態(tài)分配決策能夠在部署大量虛擬機的同時,較好地保持私有云平臺的負載平衡。

  關(guān)鍵詞:私有云服務(wù),私有云平臺架構(gòu),虛擬機部署,動態(tài)分配,負載均衡

  0引言

  云計算為各行各業(yè)帶來了多樣化的服務(wù),使數(shù)據(jù)中心極大地提高設(shè)備利用率,避免閑置設(shè)備造成的經(jīng)濟損失,降低人員及管理成本[2],這對企事業(yè)單位來說具有極大的誘惑力。因此,構(gòu)建一個靈活、高效、健壯的私有云計算平臺成為了國內(nèi)外各大信息技術(shù)(Information Technology, IT)企業(yè)的研究熱點之一[3]。現(xiàn)如今,構(gòu)建私有云平臺技術(shù)已日趨成熟,主要采用使用商業(yè)解決方案和開源解決方案來構(gòu)建私有云平臺[4]。不少商業(yè)公司提供了較為成熟的私有云整體解決方案,比較典型的是IBM藍云計算平臺[5],此外還可使用開源解決方案構(gòu)建私有云平臺,這種方案是利用開源系統(tǒng)構(gòu)造企業(yè)或組織的私有云平臺,比較典型的是使用OpenStack[6]和 Eucalyptus[7]等開源系統(tǒng)。

  目前石油勘探開發(fā)行業(yè)[8]對于高性能計算有著強勁的應(yīng)用需求,高精度勘探對地震資料的存儲和處理能力的需求呈指數(shù)倍增長,我校早期購置的一些32節(jié)點、64節(jié)點的小規(guī)模集群雖性能良好,但已不能滿足大規(guī)模計算任務(wù)日益增長的需求,從而導(dǎo)致可用資源處于閑置狀態(tài),迫切需要對現(xiàn)有的IT設(shè)備基礎(chǔ)資源進行最大限度的整合,形成統(tǒng)一、高效、彈性化的私有云計算平臺,提供給用戶方便、快捷的自愿申請及使用模式。使用商業(yè)方案的云構(gòu)建模式存在價格高、可擴展性差、授權(quán)模式復(fù)雜等問題,很多情況下并不適合采用,使用開源方案構(gòu)建模式雖可擴展性較好,但系統(tǒng)兼容性不佳,且對一般服務(wù)支持也較少,無法按照實際需求定制云服務(wù)模塊。高校的私有云平臺并不像企業(yè)云一樣僅提供一種或幾種固定的服務(wù),具有服務(wù)多樣性的需求,不僅需要 Web 服務(wù)等常規(guī)服務(wù),也有科研計算、數(shù)據(jù)存取等特殊服務(wù),同時還要考慮到日后可能會出現(xiàn)的新的服務(wù)模式,這就要求云平臺具備較強的靈活性和可擴展性。

  虛擬化技術(shù)[9]是云計算平臺的核心技術(shù)之一,基于虛擬化技術(shù)搭建私有云計算平臺可以降低運維成本、簡化管理、提高系統(tǒng)高可用性。虛擬技術(shù)優(yōu)勢的發(fā)揮取決于虛擬資源的部署,部署效果的好壞在很大程度上決定了云平臺所提供的服務(wù)質(zhì)量的好壞。目前針對虛擬機部署的研究較少,大多依據(jù)傳統(tǒng)的部署方法進行,未充分考慮宿主機所能承受的負載量,導(dǎo)致宿主機性能與虛擬機上產(chǎn)生的負載量匹配狀況不佳,不可避免地帶來由于資源得不到合理利用而引起的負載不均衡問題,影響了云計算提供的服務(wù)質(zhì)量。

  針對上述兩個問題,本文基于Java框架技術(shù)[10],設(shè)計實現(xiàn)了一種靈活性強、可擴展性能好的私有云計算服務(wù)平臺,作為基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service, IaaS)資源的通用前端,該平臺建立在服務(wù)器組合而成的計算機集群之上,通過服務(wù)器虛擬化技術(shù),實現(xiàn)了對資源的按需分割、動態(tài)分配及動態(tài)遷移,還提出一種動態(tài)分配管理機制,實現(xiàn)了虛擬機資源的快速部署,一定程度上解決了云平臺的負載不均衡問題,提高了資源的利用率。

  1云平臺框架構(gòu)建

  1.1平臺總體架構(gòu)

  云計算環(huán)境中的集群組織架構(gòu)一般分為兩種:集中式和對等式[11]。本文所建立的私有云平臺主要是以虛擬化服務(wù)為核心功能,其中最重要的物理資源的支撐就是計算機節(jié)點及存儲設(shè)備,為防止因單節(jié)點而導(dǎo)致系統(tǒng)崩潰的問題出現(xiàn),所以采用對等式的資源組織架構(gòu)。采用這一架構(gòu)就要求整個網(wǎng)絡(luò)中的每一個節(jié)點都必須有完整的服務(wù),當(dāng)新的消息到達時,響應(yīng)節(jié)點就必須要將消息傳播到各個節(jié)點中去,維護整個網(wǎng)絡(luò)數(shù)據(jù)的一致性。通過分析平臺功能需求,設(shè)計了私有云平臺的體系結(jié)構(gòu),如圖1所示,該體系結(jié)構(gòu)可以分為應(yīng)用層、服務(wù)層和資源層。平臺服務(wù)層用來建立一組通用的服務(wù)接口,來完成與本地資源的通信。資源層為私有云平臺提供可共享的資源,包括處理器、內(nèi)存、存儲系統(tǒng)等資源。網(wǎng)絡(luò)通信層為資源層提交的各種數(shù)據(jù)之間進行信息交換控制,包括各資源的注冊、驗證及資源監(jiān)測。這些服務(wù)將作為虛擬機服務(wù)的輔助模塊,為用戶提供資源申請。應(yīng)用層通過開發(fā)工具應(yīng)用程序編程接口(Application Programming Interface, API)調(diào)用相應(yīng)的服務(wù),繼而調(diào)用相應(yīng)的資源來完成具體的作業(yè)任務(wù)。

  1.2服務(wù)組件設(shè)計

  在上述平臺體系結(jié)構(gòu)的基礎(chǔ)上,將私有云平臺按照功能需求劃分為7個服務(wù)組件,在對等式組織結(jié)構(gòu)中,每個節(jié)點都具有完備的功能,因此每個節(jié)點都具有以上7部分功能服務(wù)組件,用戶訪問接口(User Port)、 信息服務(wù)(Information)、注冊服務(wù)(Register)、任務(wù)提交(Submit)、文件服務(wù)(File)、虛擬機部署(Deployment)、任務(wù)執(zhí)行(Executor)。各服務(wù)組件的功能描述如下:

  1)用戶訪問接口。為用戶提供訪問私有云平臺的方式,該接口提供監(jiān)控平臺運行狀態(tài)、獲取信息資源、訪問文件系統(tǒng)、申請?zhí)摂M機執(zhí)行任務(wù)的功能。   2)信息服務(wù)。維護并監(jiān)控私有云平臺的正常運轉(zhuǎn),獲取各個節(jié)點主機的運行情況。

  3)注冊服務(wù)。云平臺的搭建過程、申請?zhí)摂M機的動態(tài)加入私有云平臺的網(wǎng)絡(luò)組織結(jié)構(gòu)中。

  4)任務(wù)提交。接收來自用戶的任務(wù)請求,分析創(chuàng)建任務(wù)描述對象,將任務(wù)提交給用戶申請的虛擬機節(jié)點。

  5)文件服務(wù)。提供存儲和傳輸相關(guān)文件,如用戶申請?zhí)摂M機時的鏡像文件,執(zhí)行任務(wù)時將相關(guān)文件傳輸?shù)綀?zhí)行節(jié)點中。

  6)虛擬機部署。分析用戶申請的虛擬機具體要求,評估信息服務(wù)中的資源信息,選取合適的主機,部署并啟動虛擬機。

  7)任務(wù)執(zhí)行。執(zhí)行虛擬機中用戶提交的任務(wù)請求,監(jiān)控任務(wù)狀態(tài),將結(jié)果反饋給用戶。

  上述7個功能組件并不是獨立的,而是緊密配合,在相互協(xié)作的基礎(chǔ)上完成私有云平臺的各項服務(wù)功能。私有云平臺系統(tǒng)由信息監(jiān)控、文件服務(wù)、虛擬機服務(wù)和作業(yè)服務(wù)這4大模塊組成。其他服務(wù)功能都是以這4個模塊為基礎(chǔ)來實現(xiàn)的,如圖2所示,各模塊之間相互配合,完成用戶需求的各個功能。

  私有云平臺中提供的計算服務(wù)主要依靠虛擬機來完成,平臺集成了作業(yè)的提交服務(wù),但不支持提交到物理節(jié)點。出于系統(tǒng)穩(wěn)定性考慮,防止因作業(yè)占用過多的資源而導(dǎo)致系統(tǒng)崩潰。作業(yè)提交前需編寫任務(wù)描述文件,主要包括作業(yè)的執(zhí)行文件、輸出文件、文件位置和提交節(jié)點等作業(yè)信息。提交任務(wù)時需要向虛擬機節(jié)點傳輸相應(yīng)的處理文件和執(zhí)行文件,通過調(diào)用文件管理模塊來完成文件的傳輸。平臺任務(wù)的提交不牽扯任務(wù)節(jié)點的分配,由用戶指定特定的虛擬機節(jié)點。這樣既保證任務(wù)完成的可靠性,又能夠使平臺空閑出更多的資源。待作業(yè)提交到虛擬節(jié)點后,由虛擬機節(jié)點調(diào)用任務(wù)執(zhí)行進程自動執(zhí)行該作業(yè),直到作業(yè)結(jié)束,由文件管理模塊返回相應(yīng)的執(zhí)行結(jié)果文件到用戶存儲中,供用戶查詢及下載。

  1.3服務(wù)組件設(shè)計

  Spring企業(yè)級框架[10]技術(shù)簡化服務(wù)內(nèi)部資源組織、維護和管理,能與多種通信框架無縫結(jié)合,屏蔽服務(wù)底層繁雜通信邏輯,可向外部應(yīng)用者提供多種可選服務(wù)訪問方式,提高了系統(tǒng)靈活性。Spring框架技術(shù)在服務(wù)搭建過程中處于關(guān)鍵地位,圖3描述了私有云平臺中多種框架技術(shù)的組合方式。本文設(shè)計的私有云平臺以三大框架(JRE、JETTY、Spring Container[11])構(gòu)成基本服務(wù)環(huán)境,在此基礎(chǔ)上完善開發(fā)個服務(wù)組件。JETTY啟動時,Spring負責(zé)初始化各應(yīng)用對象,并且完成各個對象之間的依賴注入關(guān)系,各服務(wù)都正常運行時,Spring負責(zé)接收來自JETTY的請求,并解析轉(zhuǎn)換成Resource層的相應(yīng)方法調(diào)用處理,并將處理結(jié)果返回。

  以Spring面向接口編程為核心方法,結(jié)合多種框架技術(shù),實現(xiàn)了一個以Spring依賴注入方式的各個服務(wù)組件的開發(fā)過程。在實現(xiàn)某一服務(wù)的過程中,根據(jù)面向接口編程的思想,首先明確該服務(wù)的接口所提供的方法,再根據(jù)接口方法明確Model層的實體類,該實體類可以由開發(fā)人員自行設(shè)計,或者由前文提到的XSD(XML Schema Definition)工具進行統(tǒng)一生成。這些生成的實體類是該服務(wù)能否成功運行的保證。在完成上述工作后,使用簡單工廠方法確定一種該接口的實現(xiàn),由Manager層統(tǒng)一管理。這樣做的好處是當(dāng)需要對某一接口進行重新修改或者使用新方法實現(xiàn)時,不必在原有Impl上進行改動,只需將新的實現(xiàn)利用工廠方法重新使用Manager選擇新的實現(xiàn)即可,增加了代碼的靈活性和可擴展性,為以后代碼的健壯打下基礎(chǔ)。同時,使用Factory選擇適當(dāng)?shù)姆椒ㄗ⑷隦esource層到Logic層的引用中,當(dāng)外界有請求到來時,Resource層就能直接通過Logic層選擇合適的Impl來進行具體的任務(wù)處理。

  1.4關(guān)鍵模塊實現(xiàn)

  虛擬機管理模塊是私有云服務(wù)平臺提供的最核心的服務(wù),用戶可以通過該模塊直接申請平臺的虛擬化資源。目前主流虛擬化技術(shù)解決方案有 Xen、內(nèi)核級虛擬機(Kernelbased Virtual Machine, KVM)和 VMware 等,現(xiàn)有的云計算平臺也是基于不同的虛擬化技術(shù),如 IBM 的 Blue Cloud 使用了 Xen 虛擬化技術(shù),VMware 的 VMware vSphere 則使用了自己的虛擬化技術(shù)?紤]到KVM是基于硬件的完全虛擬化技術(shù),具有核心代碼少、操作簡單等優(yōu)勢,本文采用KVM虛擬化技術(shù)作為云計算平臺設(shè)計的支撐工具。虛擬機管理模塊的主要功能包括:

  1)提供不同類型的基礎(chǔ)鏡像庫。平臺提供不同的操作系統(tǒng)的基礎(chǔ)鏡像,供用戶選擇。本地資源應(yīng)包括Linux、Windows 7等操作系統(tǒng)鏡像庫。由統(tǒng)一的資源信息管理服務(wù)對資源進行管理。

  2)虛擬機申請。用戶可以申請一臺臨時虛擬機,使用完畢后系統(tǒng)自動回收該虛擬機,達到即用即申請的目的。用戶也可以申請一臺固有的虛擬機,該虛擬機不會被平臺銷毀,用戶通過遠程登錄該虛擬機,完成對該虛擬機的獨立配置。對于該種類型的虛擬機,平臺僅對空閑的虛擬機進行關(guān)機操作,而不會進行摧毀。新建的虛擬機應(yīng)以鏡像庫中已有虛擬機鏡像模板為標準來創(chuàng)建,用戶可以自行調(diào)整虛擬機的CPU核數(shù)、內(nèi)存大小等相關(guān)配置。

  3)虛擬機克隆。用戶配置好一臺需要的虛擬機后,若要進行并行或者多臺虛擬機配合的實驗,可利用本平臺進行虛擬機的克隆,私有云平臺所能克隆虛擬機數(shù)量的多少由平臺的計算能力決定。

  4)虛擬機在線遷移。虛擬機模塊中最重要的功能之一,主要負責(zé)維持整個私有云平臺的負載平衡,當(dāng)宿主節(jié)點過載時就需要動態(tài)地將該虛擬機遷移到別的空閑節(jié)點中,使平臺穩(wěn)定運行。

  5)虛擬機管理。用戶能夠管理自己創(chuàng)建的虛擬機,包括對虛擬機的日常操作,如開機、關(guān)機、暫停、回復(fù)、強制關(guān)機、銷毀、創(chuàng)建快照等操作。

  6)負載平衡。通過實時監(jiān)控平臺及虛擬機的運行情況及時對滿負載的節(jié)點進行及時的調(diào)整,以達到私有云平臺的負載平衡。當(dāng)節(jié)點負載過高時,平臺會對該節(jié)點進行自動處理,如對虛擬機遷移、銷毀等處理,結(jié)合VM的調(diào)度策略,選擇合適的調(diào)度算法,保證平臺正常運行。當(dāng)系統(tǒng)監(jiān)控到某一節(jié)點超載,就調(diào)用平臺管理調(diào)度策略,采取一定措施,減少節(jié)點開銷。虛擬化管理模塊的實現(xiàn)界面如圖4所示。   Libvirt Java[12]是KVM中遠程控制和管理虛擬機的重要編程接口。使用該工具可通過導(dǎo)入Libvirt包來連接虛擬化主機節(jié)點,從而方便地管理虛擬機,減少底層復(fù)雜繁瑣的安全訪問機制。Libvirt Java的訪問需要有安全協(xié)議的支持,在服務(wù)端配置好基于傳輸層安全協(xié)議的證書,即可通過Libvirt接口管理虛擬機。通過將Libvirt Java包融入到私有云平臺的框架中,形成一個單獨的服務(wù)組件,用戶即可方便地管理自己的虛擬機。

  2虛擬機部署機制

  云計算具有彈性服務(wù)和數(shù)據(jù)中心自治性的特點,這一特點的保障主要來自于虛擬機快速部署技術(shù)的實現(xiàn)。為保持私有云平臺的負載平衡,在虛擬機部署時需考慮虛擬機本身的資源特性,將虛擬機部署到合適的物理節(jié)點中。因此,本文提出一種虛擬機動態(tài)分配管理決策進行虛擬機的快速部署。

  2.1虛擬機部署流程

  云平臺的虛擬機資源部署流程如圖5所示,主要包括以下步驟:

  1)API接收用戶請求,將所需虛擬機信息發(fā)送給私有云平臺控制中心,由控制中心確定這些信息的正確性,其中虛擬機信息包括虛擬機系統(tǒng)類型、架構(gòu)、核數(shù)、內(nèi)存等基本信息。

  2)控制中心將虛擬機信息發(fā)送給鏡像管理中心,并尋找符合要求的鏡像模板。找到鏡像模板則復(fù)制鏡像文件并將鏡像位置信息返回給控制中心;若未找到,不予響應(yīng),并返回未找到符合要求的虛擬機模板消息。

  3)控制中心接收鏡像模板位置信息后,則向網(wǎng)絡(luò)控制器請求分配固定的IP、MAC地址等相關(guān)信息,由網(wǎng)絡(luò)控制器生成相應(yīng)IP、MAC地址信息并反饋給控中心。

  4)采用本文提出的虛擬機動態(tài)分配管理決策進行宿主節(jié)點的分配。分配完成后,由控制中心進行宿主節(jié)點虛擬機基本信息的配置。至此,虛擬機部署完成,控制中心會反饋給用戶一個部署完成的反饋信號,在虛擬機啟動完畢后,用戶即可訪問該虛擬機。

  虛擬機啟動時,會自動加載所有服務(wù)模塊,虛擬機快速部署的實現(xiàn)需要信息監(jiān)控模塊和文件管理模塊兩個模塊的相互配合才能完成。信息監(jiān)控模塊負責(zé)收集監(jiān)控平臺可用節(jié)點,供宿主物理節(jié)點的選擇,文件傳輸模塊負責(zé)將鏡像庫里的模板文件復(fù)制到網(wǎng)絡(luò)文件系統(tǒng)(Network File System, NFS)中各個物理節(jié)點文件夾。以兩個功能模塊為支撐,虛擬機管理模塊進行虛擬機的定義、啟動和部署。

  2.2虛擬機動態(tài)分配

  2.2.1資源描述

  在私有云平臺中,組織結(jié)構(gòu)的構(gòu)建是基于對等式的,所以管理節(jié)點可以是平臺中的任何一個節(jié)點。為了管理方便,一般會指定一個節(jié)點為管理節(jié)點,負責(zé)管理其他的節(jié)點。該節(jié)點將不會作為虛擬機的部署節(jié)點,只是管理監(jiān)控其他節(jié)點的正常運行。其余節(jié)點就可以作為虛擬機部署節(jié)點,稱為資源節(jié)點RS,其節(jié)點集合定義為:

  RN={N1,N2,…,Nn}(1

  私有云平臺使用NFS共享存儲,所以在一般情況下不考慮平臺的存儲性能,其存儲的管理主要由NFS管理。各節(jié)點間的網(wǎng)絡(luò)使用InfiniBand高速網(wǎng)絡(luò),它主要針對服務(wù)器端的連接,負責(zé)各個節(jié)點間的通信,不僅提高了通信的效率,而且提高了性能。NFS和InfiniBand減少了虛擬機部署需考慮的因素,主要考慮節(jié)點主要性能,如CPU及內(nèi)存的使用情況。定義節(jié)點性能的閾值為th,其節(jié)點相關(guān)服務(wù)能力定義如下:

  th={thproc,thmem,thd}(2)

  其中:thproc、thmem、thd分別表示處理器、內(nèi)存以及硬盤的負載情況。由于私有云平臺系統(tǒng)采用NFS硬盤共享,所以thd就是整個平臺網(wǎng)絡(luò)硬盤存儲的閾值。定義th區(qū)間范圍為0到1,可以用來表示某一性能指標是否過載。

  CPU處理能力NSproc主要包括以下幾個性能指標,定義如下:

  NSproc={us,q,p(t)}(3)

  其中:us為當(dāng)前CPU的使用百分比,q為CPU內(nèi)核數(shù),p(t)為t時刻,CPU使用負載情況,一般q>1,所以得到的p(t)為一個集合p(t)={p1(t),p2(t),…,pk(t)},通過一段連續(xù)的時刻T={t1,t2,…,ti}內(nèi),這個T時間段應(yīng)是很短的一段時間內(nèi),如幾秒左右的CPU的使用情況。在T時間段內(nèi)得到的各個p(t),我們對其進行平均處理,即可知當(dāng)前節(jié)點CPU的使用情況。

  i(t)=∑tsj=1pi(tj)/ts(4

  (t)=∑qi=1pi(t)/q(5)

  其中:ts為時間段T的總區(qū)間,i表示CPU內(nèi)核數(shù)。式(4)表示在T時間段內(nèi)各個內(nèi)核的執(zhí)行負載情況,式(5)表示求取q個內(nèi)核的負載平均數(shù)值,可以用來表示當(dāng)前節(jié)點CPU的負載情況。由于(t)總是在0到1的范圍內(nèi),CPU空閑情況可以用1-(t)來說明。

  內(nèi)存性能指標RSmem定義如下:

  RSmem={m,m(t)}(6)

  其中:m為內(nèi)存的大小,m(t)為內(nèi)存的t時刻的負載情況,同CPU負載的處理方式一樣,在獲得一段時間T={t1,t2,…,ti}的內(nèi)存的負載后,取其平均值即可得到當(dāng)前內(nèi)存的負載情況。

  m(t)=∑ui=1m(ti)/u(7

  由于是NFS共享存儲,所以不需要考慮單一節(jié)點的存儲情況,只需要監(jiān)控全局存儲即可。使用這些數(shù)據(jù)還需對其進行標準化處理,采用式(8)所示的最常用的標準化處理方法。其中Zij為節(jié)點i的某一項性能指標j的歸一化后值,Xij表示節(jié)點i的某一性能指標j的值。

  Zij=Xij/∑(Xij)2(8

  2.2.2虛擬機動態(tài)分配機制

  虛擬機的動態(tài)分配管理將決定著私有云平臺能否穩(wěn)定地運行。合理的分配機制能夠?qū)崟r監(jiān)控所有部署節(jié)點的運行狀況,并根據(jù)具體情況及時作出調(diào)整,保持系統(tǒng)負載平衡。   虛擬機管理模塊監(jiān)聽來自用戶新建虛擬機的請求,分析該虛擬機的各項性能指標,如CPU核數(shù)、內(nèi)存大小等,并通過動態(tài)分配的決策算法選擇最優(yōu)宿主物理節(jié)點。若通過決策找到該節(jié)點,則將虛擬機鏡像按照前文提到的部署步驟創(chuàng)建在該節(jié)點并啟動加入私有云平臺中;若沒有找到合適物理節(jié)點,則說明私有云平臺物理節(jié)點資源匱乏,已達到滿載狀態(tài)。私有云平臺啟動完成后監(jiān)控模塊隨之啟動,實時監(jiān)控各個物理節(jié)點的使用情況。將式(2)中閾值的上限值定義為th,下限值定義為thmin。當(dāng)監(jiān)控該虛擬機的閾值低于thmin時,則表明該虛擬機處于空閑狀態(tài)。當(dāng)檢測到某一節(jié)點閾值超過th時,私有云平臺將對該節(jié)點進行處理。具體實施過程如下:

  1)檢測節(jié)點是否有閑置虛擬機節(jié)點(閾值小于thmin)。若監(jiān)控系統(tǒng)判定其為閑置節(jié)點,則將其從私有云平臺中移除,并將該虛擬機銷毀并刪除。

  2)若該節(jié)點中的虛擬機存在負載情況,則考慮虛擬機在線遷移。在該節(jié)點選擇一臺負載較大或者其本身對性能要求較高(如CPU和內(nèi)存要求較大)的節(jié)點,通過虛擬機分配決策方法選擇一臺最優(yōu)主機。

  3)若找到可以遷移的主機,則將選擇出來的虛擬機在線遷移到該節(jié)點中,遷移過程中,虛擬機中的運行程序?qū)⒉皇苡绊。若找不到可以遷移的主機,則繼續(xù)查看物理節(jié)點中的閑置虛擬機。

  4)找到閑置虛擬機后,若其釋放后的資源性能可以支持待遷移的虛擬機,則銷毀閑置的虛擬機,并開始在線遷移。

  5)若未找到閑置虛擬機,則說明平臺運行環(huán)境性能指標已達到閾值,系統(tǒng)會通知管理員采取一定措施,使得用戶能夠繼續(xù)申請?zhí)摂M機,維護私有云平臺穩(wěn)定運行。

  2.2.3虛擬機動態(tài)分配決策

  虛擬機的決策分配與在平臺執(zhí)行作業(yè)任務(wù)不同,虛擬機的部署時間相對較固定,并且是可控制的,一個虛擬機在平臺節(jié)點中的運行時間一般比較長,在節(jié)點硬件資源充足的情況下,一般不會過多地干擾虛擬機的運行。所以,選擇一個較優(yōu)的物理節(jié)點來部署是至關(guān)重要的。分配決策過程主要包括單一虛擬機的部署和多個虛擬機的部署。

  1)單一虛擬機的分配決策。

  單個虛擬機的分配相對較為簡單,只需要找到一個可以接受該虛擬機的最優(yōu)主機即可。在前文中已將節(jié)點資源統(tǒng)一量綱化,方便進行決策對比,從而選出最優(yōu)主機來部署虛擬機。各個節(jié)點資源的使用情況主要是看(t)和(t)的負載情況,與系統(tǒng)規(guī)定的閾值th相比,選取各項性能指標小于閾值的n個節(jié)點作為候選節(jié)點,N={N1,N2,…,Nn}。分別計算各個節(jié)點標準化處理后剩余負載的量綱值。

  由于私有云平臺的節(jié)點都是同構(gòu)的,所以式(9)可以簡化為:

  i=(1-i)∑nj=1(1-j)2

  i=(1-i)∑nj=1(1-j)2(10

  根據(jù)當(dāng)前虛擬機對資源的需求情況,定義虛擬機對CPU、mem的權(quán)值,得到節(jié)點的總評估值如下:

  Evi=wproc×i+wmem×i(11

  最后選取的最優(yōu)節(jié)點為Evi(i=1,2,…,n)中最大的節(jié)點。單個虛擬機分配過程結(jié)束。

  2)多個虛擬機的分配決策。

  若用戶需要同時部署多個虛擬機,則系統(tǒng)需要對這些虛擬機進行合理安排,保持負載平衡。克隆出來的多個虛擬機配置完全一樣,定義需分配的虛擬機個數(shù)數(shù)集為V, V={1,2,…,v}。 則按照上文描述,可以得到n個候選主機。由于上文是單個虛擬機的分配過程,虛擬機節(jié)點的資源評估值暫不考慮,但是多虛擬機的分配會涉及到物理節(jié)點資源是否能夠支撐多個虛擬機,所以需要對虛擬機和候選節(jié)點進行標準化評估。

  vm=pvm/∑nj=1(1-j)2

  vm=mvm/∑nj=1(1-j)2(12

  根據(jù)式(11)得到虛擬機的最終評估值Evvm與候選主機的評估值相比,選取Evi大于等于Evvm的k個主機作為候選節(jié)點(k≤v)。設(shè)其為劃分向量α={α1,α2,…,αk},供需分配v個虛擬機,則可以得到式(13):

  ∑ki=1αi=v(13

  虛擬機的分配原則是保證私有云平臺的負載平衡,所以在完成虛擬機的分配后,所有節(jié)點的負載量要達到一致,如式(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)通過計算即可得到α1,如式(16),并通過式(14)即可依次遞推得到整個α,從而得到各個宿主節(jié)點分配的虛擬機個數(shù),完成虛擬機的動態(tài)分配過程。該策略根據(jù)虛擬機資源的特點,結(jié)合現(xiàn)有物理節(jié)點的負載情況,對虛擬機進行了動態(tài)部署,既滿足了用戶的需求,又能夠明顯提高閑散資源的利用率,使私有云平臺的整體負載達到較好的平衡狀態(tài)。

  3實驗及結(jié)果分析

  私有云平臺是由一組浪潮服務(wù)器組成的集群系統(tǒng),總計擁有存儲空間12TB。每個節(jié)點使用主頻為2.60GHz 的Xeon E52670 的16線程CPU,內(nèi)存為32GB。系統(tǒng)運行的實驗作業(yè)是處理一個數(shù)據(jù)文件,本文以地震資料處理中的傅里葉有限差分疊前深度偏移(Fourier FiniteDifference,F(xiàn)FD) [13]為實際測試用例。地震資料數(shù)據(jù)格式嚴格,其數(shù)據(jù)文件可進行切割拆分存儲,并且處理每一炮數(shù)據(jù)的時間基本一致,以Marmousi模型[14]為處理數(shù)據(jù)來進行私有云平臺作業(yè)提交與執(zhí)行的測試。   3.1虛擬機部署測試

  虛擬機的部署需要測試多臺虛擬機的性能參數(shù)。以Linux redhat鏡像為測試用例,在私有云平臺中同時部署N=20臺克隆的虛擬機。虛擬機參數(shù)如下:2核CPU,內(nèi)存大小為2GB,硬盤為10GB。

  為方便測試,直接選取云平臺環(huán)境中的6個節(jié)點來進行虛擬機分配。本文規(guī)定虛擬機所需資源的權(quán)重為wproc=0.4,wmem=0.6。虛擬機分配前各個節(jié)點資源情況如表1所示(CPU Use表示CPU利用率,Mem Use表示內(nèi)存利用率)。

  選取N=20個虛擬機進行分配,所需總內(nèi)存大小為40GB,根據(jù)表1所示信息,這6個節(jié)點完全可以滿足20個虛擬機的分配。根據(jù)上文的虛擬機動態(tài)分配機制,得到節(jié)點分配的向量α={2,3,2,4,6,3},按照各節(jié)點分配虛擬機數(shù)量進行部署后,得到各個節(jié)點負載情況,如表2所示。

  由圖6可知,分配前的各節(jié)點負載處在非常不平衡的狀態(tài),其節(jié)點負載的跨度高達0.348,各節(jié)點性能差距較大;在此基礎(chǔ)上進行虛擬機的分配后,節(jié)點的負載趨于緩和,其跨度變?yōu)?.169,相比分配前,整體負載趨于平衡;但由圖中可以看出,整體的負載未達到很好的平衡狀態(tài)。原因在于對節(jié)點進行評估時將CPU也算入其中,但是在實際分配虛擬機時,當(dāng)虛擬機中并沒有負載的時候,其占用系統(tǒng)的使用率是基本不變的。在實際計算過程中考慮了CPU的影響,所以最后結(jié)果與理論值有一定的偏差,由圖6可以得出,運用該動態(tài)分配決策過程是能夠在同時分配大量虛擬機時,較好地保持私有云平臺的負載平衡。

  3.2應(yīng)用測試
高級工程師論文范文

  3.2.1單虛擬機執(zhí)行作業(yè)測試

  為測試私有云平臺中虛擬機的性能,選取與虛擬主機配置相近的一臺實際主機作為對比,分別在主機中計算20、40、60、80炮數(shù)據(jù)的FFD[13],對比計算時間及執(zhí)行結(jié)果的正確性。虛擬機使用主頻為2.60GHz 的QEMU Virtual CPU,內(nèi)存為2GB。物理主機使用主頻為2.53GHz的Intel Core2 Duo CPU,內(nèi)存為2GB。以不同規(guī)模的地震資料處理數(shù)據(jù)在不同的主機內(nèi)進行執(zhí)行作業(yè),為驗證執(zhí)行結(jié)果的正確性,選取80炮時的數(shù)據(jù)成像,作業(yè)執(zhí)行時間對比如表3所示。處理結(jié)果對比如圖7所示。

  由圖7可知,虛擬機和物理主機處理結(jié)果是一致的,說明虛擬機能夠正常執(zhí)行作業(yè)任務(wù)。表3數(shù)據(jù)表明,虛擬機的性能與實際物理節(jié)點的計算時間幾乎一致,所以虛擬機在性能方面接近實際相同配置的物理主機。

  3.2.2多虛擬機節(jié)點執(zhí)行作業(yè)測試

  選取私有云平臺中的一個服務(wù)節(jié)點作為對比,比較單服務(wù)節(jié)點Cu01執(zhí)行Marmousi模型138炮數(shù)據(jù)與多虛擬機節(jié)點并行執(zhí)行的效率?寺7個配置一樣的Linux虛擬機(Vm1,Vm2,…,Vm7),每個虛擬機具體配置:CPU為2核;內(nèi)存為2GB。利用平臺將模型文件分割提交到不同的虛擬機中,設(shè)定執(zhí)行作業(yè)時虛擬機已經(jīng)創(chuàng)建完成,因此虛擬機創(chuàng)建時間忽略不計,并且每個文件都較小,文件傳輸及回收的時間也可忽略不計,各節(jié)點處理炮數(shù)、作業(yè)計算時間如表4和表5所示。

  執(zhí)行結(jié)果成像如圖8所示,Cu01與虛擬機并行執(zhí)行的結(jié)果是一致的,說明了執(zhí)行結(jié)果的正確性。表4和5中的數(shù)據(jù)表明單個虛擬機節(jié)點執(zhí)行作業(yè)的效率低于單個服務(wù)節(jié)點,但隨著虛擬機節(jié)點規(guī)模的擴大,處理的時間明顯減少。利用虛擬機并行處理同一作業(yè)的效率明顯高于單個服務(wù)節(jié)點,利用虛擬機并行處理比利用單一節(jié)點處理具有明顯優(yōu)勢,由于虛擬機的自治性,當(dāng)某一虛擬機崩潰時,不會影響其他虛擬機作業(yè)的執(zhí)行,崩潰節(jié)點的計算任務(wù)可轉(zhuǎn)移到別的空閑虛擬機中運行,為任務(wù)的穩(wěn)定運行提供了保障。

  4結(jié)語

  在深入研究云計算架構(gòu)和虛擬化技術(shù)特性的基礎(chǔ)上,結(jié)合多種框架技術(shù)設(shè)計實現(xiàn)了一個能夠?qū)ν馓峁┗A(chǔ)設(shè)施即服務(wù)功能的私有云平臺。該平臺整合了目前分布式系統(tǒng)的硬件資源,提高了資源的使用效率,針對云平臺運行過程中不可避免的負載不均衡問題,提出了一種虛擬機動態(tài)分配策略,該策略根據(jù)虛擬機資源的特點,結(jié)合現(xiàn)有物理節(jié)點的負載情況,對虛擬機進行了動態(tài)部署,完成了虛擬機的動態(tài)分配,使私有云平臺的整體負載達到了較好的平衡。以石油勘探中的傅里葉有限差分疊前深度偏移為應(yīng)用背景,采用Marmousi模型波場正演為例進行了應(yīng)用測試,證明了私有云平臺和虛擬機執(zhí)行作業(yè)的可行性,并對虛擬機進行了部署測試,實驗結(jié)果表明,運用本文提出的動態(tài)分配決策能夠在分配大量虛擬機的同時,較好地保持私有云平臺的負載平衡。

  參考文獻

  [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].計算機學(xué)報,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ù)的私有云計算平臺設(shè)計[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è)私有云平臺建設(shè)研究[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é)志, 潘吳斌, 等. 云計算:概念, 技術(shù)及應(yīng)用研究綜述[J]. 南京信息工程大學(xué)學(xué)報:自然科學(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.(姜毅, 王偉軍, 曹麗, 等. 基于開源軟件的私有云計算平臺構(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.(張進鐸,迮小平,鄭建勇,等.地震勘探行業(yè)私有云的架構(gòu)與遠景展望[J].石油工業(yè)計算機應(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.
  高級工程師職稱論文發(fā)表期刊推薦計算機工程與設(shè)計》創(chuàng)刊于1980年,是中國航天科工集團主管、中國航天科工集團二院706所主辦的國內(nèi)外公開發(fā)行的計算機專業(yè)技術(shù)類刊物。該刊是中國計算機學(xué)會會刊、北京計算機學(xué)會會刊、中國宇航學(xué)會會刊,是全國中文核心期刊、中國科技核心期刊。


轉(zhuǎn)載請注明來自:http://www.jinnzone.com/dianzijishulw/55432.html