專利名稱:一種虛擬云平臺管理系統及方法
技術領域:
本發明屬于云計算技術領域,尤其涉及一種虛擬云平臺管理系統及方法。
背景技術:
目前虛擬化技術與云計算技術越來越受到重視,虛擬機管理的服務正是云服務的一種。虛擬化廠商在云計算大潮中也開始推出自己的虛擬機管理平臺,但是這些平臺均存
在一定的差異。目前應用比較廣泛的虛擬機管理方案主要有Eucalyptus、OpenNebula和OpenStack0Eucalyptus方案核心為Eucalyptus私有云平臺系統,云接口基于AmazonAWS API規范定義,能夠提供與公有云計算平臺Amazon EC2/S3服務相同的功能。Eucalyptus包括云控制器(CLC)、Walrus、集群控制器(CC)、存儲控制器(SC)和節點控制器(NC)。CLC是整個Eucalyptu系統的核心,負責高層次的資源調度,例如向CC請求計算資源。Walrus是一個與AmazonS3類似的存儲服務,主要用于存儲虛擬機映像和用戶數據。CC是一個集群的前端,負責協調一個集群內的計算資源,并且管理集群內的網絡流量。SC是一個與AmazonEBS類似的存儲塊設備服務,可以用來存儲業務數據。NC是最終的計算節點,通過調用操作系統層的虛擬化技術來啟動和關閉虛擬機。在同一個集群(CC)內的所有計算節點(NC)必須在同一個子網內。在一個集群(CC)內通常需要部署一臺存儲服務器(SC),為該集群內的計算節點提供數據存儲服務。Eucalyptus通過Agent的方式來管理計算資源。在每一個計算節點上,都需要運行一個Eucalyptus-nc的服務。該服務在集群控制器(CC)上注冊后,云控制器(CLC)即可通過 集群控制器(CLC)將需要運行的虛擬機映像文件(EMI)拷貝到該計算節點上運行。OpenNebula是開放原始碼的虛擬基礎設施引擎,可用來動態部署虛擬機器在一群實體資源上。OpenNebula的構架包括三個部分驅動層、核心層、工具層。驅動層直接與操作系統打交道,負責虛擬機的創建、啟動和關閉,為虛擬機分配存儲,監控物理機和虛擬機的運行狀況。核心層負責對虛擬機、存儲設備、虛擬網絡等進行管理。工具層通過命令行界面/瀏覽器界面方式提供用戶交互接口,通過API方式提供程序調用接口。OpenNebula使用共享存儲設備來提供虛擬機映像服務,使得每一個計算節點都能夠訪問到相同的虛擬機映像資源。當用戶需要啟動或者是關閉某個虛擬機時,OpenNebula通過SSH登陸到計算節點,在計算節點上直接運行相對應的虛擬化管理命令。這種模式也稱為無代理模式,由于不需要在計算節點上安裝額外的軟件(或者服務),系統的復雜度也相對降低了。OpenStack 也是一個與 Amazon EC2 兼容的 IaaS 系統。OpenStack 包括 OpenStackCompute 和 OpenStack Object Storage 兩個部分。OpenStackCompute 又包含 Web 前端、計算服務、存儲服務、身份認證服務、存儲塊設備(卷)服務、網絡服務、任務調度等多個模塊。OpenStack Compute的不同模塊之間不共享任何信息,通過消息傳遞進行通訊。因此,不同的模塊可以運行在不同的服務器上,也可以運行在同一臺服務器上。OpenStack通過Agent的方式來管理計算資源。在每一個計算節點上,都需要運行nova-network服務和nova-compute服務。這些服務啟動之后,就可以通過消息隊列來與云控制器進行交互。OpenNebula功能易用性和開放性較好,支持OCCI規范,但存在穩定性和部署過程復雜的問題;網絡虛擬化VLAN只能實現Level2級網絡隔離,功能有限。Eucalyptus與Ubuntu系統集成的UEC版部署簡單,產品易用性和穩定性較好,支持能耗管理等高級功能,網絡虛擬化功能較OpenNebula完善,提供了四種虛擬網絡模式,但對支持VMWare、SAN存儲網絡和跨虛擬化平臺的鏡像遷移功能需要購買企業版,而且對彈性控制策略定義和對虛擬機監控的功能尚不完善。OpenStack功能上雖然比較全面,且以全開源方式提供給我們所需的功能,但它的功能還不是很成熟,在計費,日志和policy管理等功能方面還沒有完整地實現。不同的虛擬化管理平臺的二次開發接口不盡相同,如相關廠商推出的Eucalyptus、0penStack和OpenNebula雖然提供了與Amazon EC2兼容或者是類似的接口,但這些管理平臺開放的功能接口還正在完善,這對虛擬資源(虛擬內存,虛擬網絡,虛擬磁盤,虛擬CPU)進行統一全面的管理帶來了一定的難度;不同的虛擬化管理平臺是在不同的設計思想下完成的,支持的虛擬化技術也不完全一樣,如VMware的vCloud就是基于VMware產品的可靠性和技術而構建的一種虛擬機管理解決方案,但其僅支持VMware的產品,而OpenNebula和Eucalyptus均支持Xen、KVM/Linux和VMware ;不同的虛擬化管理平臺的架構也相差迥異,例如Eucalyptus和OpenStack均是基于代理的方式來管理計算資源,具有單獨的存儲服務組件(Eucalyptus 的 Walrus 和 OpenStack 的 OpenStack Object Store)提供對鏡像的存儲服務,而OpenNebula是由一個主節點統一對集群中的從節點進行資源管理,使用共享存儲設備(例如NFS (Network File System))來提對鏡像的存儲服務;不同的虛擬化管理平臺在技術文檔中類似概念的描述也不盡相同,而且虛擬化管理平臺軟件的安裝、配置和測試均比較繁瑣。綜上所述,現有 的虛擬化管理平臺的缺陷在于不同的虛擬機管理平臺的完善程度不一,同時具有功能、架構、安裝配置、技術文檔,用戶界面的差異,對這些虛擬資源進行統一管理帶來了一定的難度,增加了最終用戶使用的復雜度;另外,不同管理平臺間的服務器資源不能動態共享,影響了彈性服務的性能。
發明內容
本發明提供了一種虛擬云平臺管理系統及方法,旨在解決現有的虛擬化管理平臺不能對各種架構的虛擬資源進行統一管理、且不同管理平臺間的服務器資源不能動態共享的技術問題。本發明提供的技術方案為一種虛擬云平臺管理系統,包括界面模塊和異構虛擬云模塊,所述界面模塊是用戶與虛擬云平臺交互的窗口,所述異構虛擬云模塊包括各種虛擬云平臺,還包括混合云管理模塊用于管理異構虛擬云模塊中的各種虛擬云平臺;虛擬云適配器用于為混合云管理模塊提供統一的編程接口來管理和屏蔽底層多種不同的虛擬云平臺的差異性。本發明的技術方案還包括所述虛擬云平臺管理系統還包括
混合云管理接口模塊用于向界面模塊提供混合云管理模塊所有開放的功能,支持界面模塊提供給最終用戶使用的所有功能。本發明的技術方案還包括所述混合云管理模塊包括虛擬云池部件用于承載各種虛擬云平臺的數據空間,提供對各種虛擬云平臺數據操作的一致訪問,并裝載各種虛擬云數據對象,提供虛擬云數據對象的增加、刪除和查找功能;信息管理部件用于調用虛擬云池部件提供的虛擬云數據對象的操作接口獲取日志信息和平臺信息,并將不同平臺的日志信息和平臺信息用統一的數據格式提供給界面顯
/Jn ο本發明的技術方案還包括所述虛擬云數據對象通過創建的可動態增加大小的容器進行裝載和維護,所述容器提供通過輪詢的方法查詢每個虛擬云數據的內部狀態,通過部件內部提供的名稱查找方法找到需要操作的虛擬云數據對象。本發明的技術方案還包括所述混合云管理模塊還包括負載均衡部件根據集群內部所有服務器的處理性能高低,將外部用戶的虛擬資源請求根據設定的策略合理分配到服務器;用戶數據庫部件利用數據庫系統對用戶的權限數據、用戶運行的虛擬機基本信息進行持久化保存。本發明的技術方案還包括所述混合云管理模塊為自身維護一個管理線程,所述管理線程通過消息觸發機制協調和管理模塊內各個部件之間的運行以及框架中各個模塊之間的運行。
本發明的技術方案還包括所述虛擬云適配器包括適配器模塊接口部件,所述適配器模塊接口部件屏蔽了不同虛擬云平臺接口的差異性,按需動態匹配到合適的虛擬云驅動部件。本發明提供的另一技術方案為一種虛擬云平臺管理方法,包括步驟a :創建虛擬云平臺管理系統總線程;步驟b :虛擬云平臺管理系統總線程創建信息管理線程,觸發信息管理線程從虛擬云池管理線程中獲取平臺信息,然后將獲取的平臺信息的格式歸一化;步驟c :將歸一化的虛擬云平臺資源信息數據返回至界面,按照界面格式呈現給用戶。本發明的技術方案還包括所述步驟a和b之間還包括虛擬云平臺管理系統總線程創建用戶數據庫管理線程,觸發用戶數據庫線程獲取系統數據庫信息事件。本發明的技術方案還包括所述步驟a和b之間還包括虛擬云平臺管理系統總線程創建負載均衡線程,觸發負載均衡線程,通過負載均衡線程的策略分析,返回符合虛擬資源申請條件的物理節點訪問地址。本發明的技術方案還包括所述步驟a和b之間還包括虛擬云平臺管理系統總線程創建虛擬云池管理線程,同時觸發虛擬云池管理線程獲取用戶數據庫線程獲取的系統相關數據,觸發虛擬云池管理線程通過虛擬云適配器獲取虛擬云平臺部件的平臺信息,由獲取的平臺信息構建虛擬云數據對象。本發明的技術方案具有如下優點或有益效果本發明實施例的虛擬云平臺管理系統及方法提供一種以單一的方式管理多種異構的虛擬云平臺的方式,實現了不同用戶管理異構平臺的透明性;系統內部各個模塊在框架系統運行期以多線程的方式存在,各個模塊之間以及各個部件之間的交互通過事件機制觸發,保證了框架內部模塊之間、模塊內部各個部件的松耦合,使得框架具有可維護性;框架內的虛擬云適配器包含的物理節點管控部件可以直接對物理節點進行管理,彌補了目前主流虛擬機管理平臺缺乏對物理資源直接控制的不足,這樣保障了框架的容錯性和穩定性;框架內虛擬云適配器基于驅動程序設計理想實現適配器模塊部件的動態可擴展,使得框架對現有虛擬云平臺的兼容性和可擴展性。本發明實施例的虛擬云平臺管理系統及方法具有可維護性,可擴展性,一定的容錯性和用戶操控的透明性。
附圖1是本發明實施例的虛擬云平臺管理系統的結構示意圖;附圖2是本發明實施例的虛擬云平臺管理系統的虛擬云數據對象的結構示意圖;附圖3是本發明實施例的虛擬·云平臺管理系統的虛擬云適配器的結構示意圖;附圖4是本發明實施例的虛擬云平臺管理方法的流程示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。請參閱圖1,為本發明實施例的虛擬云平臺管理系統的結構示意圖。本發明實施例的虛擬云平臺管理系統包括界面模塊、混合云管理接口模塊、混合云管理模塊、虛擬云適配器和異構虛擬云模塊。界面模塊是用戶與虛擬云平臺交互的窗口,用戶可以通過WEB界面或者命令行的方式完成下述功能設置虛擬機的相關參數,如內存大小、CPU、磁盤大小、鏡像種類和虛擬網絡等;選擇虛擬機運行的虛擬機管理平臺,如OpenNebula, Eucalyptus和OpenStack等;創建用戶所需的虛擬機集群;查看異構平臺中的虛擬機運行狀態;管理和控制異構平臺中虛擬機的運行周期;管理不同物理主機之間實施虛擬機的冷遷移或熱遷移。混合云管理接口模塊面向界面模塊提供了混合云管理模塊所有開放的功能,支持界面模塊提供給最終用戶使用的所有功能,并支持功能的進一步擴展,混合云管理接口模塊接口的設計標準依據EC2標準設計,最終用戶可以與系統建立XMLRPC連接,并通過該連接使用這些開放的接口。混合云管理模塊用于管理各種虛擬云平臺,管理各種虛擬云平臺的信息,例如平臺信息,日志信息等,以及管理虛擬機的供應和基于負載均衡的虛擬機部署,維護和管理用戶的權限。混合云管理模塊包括虛擬云池部件、信息管理部件、負載均衡部件和用戶數據庫部件。虛擬云池部件是承載各種虛擬云平臺的數據空間,提供了對各種虛擬云平臺數據操作的一致訪問,其裝載了各種虛擬云的數據對象(例如OpenNebula數據對象、Eucalyptus數據對象和OpenStack數據對象),提供虛擬云對象的增加、刪除和查找功能。虛擬云數據對象特封裝了虛擬云的通用屬性數據,這些數據包括虛擬云平臺的名稱、虛擬云平臺程序接口的訪問地址信息、訪問該地址的賬戶信息、運行的實例信息、虛擬機宿主機信息、虛擬網絡信息和運行期的日志信息;虛擬云平臺的名稱是唯一的,用于不同虛擬云池平臺識別的依據;虛擬云池中管理的虛擬云數據對象的數據操作接口是一致的,便于其它部件對虛擬云池中的平臺數據對象的一致訪問。本發明實施例的虛擬云平臺管理系統通過創建一個可動態增加大小的容器,裝載和維護不同的虛擬云數據對象,該容器提供通過輪詢的方法查詢每個虛擬云數據的內部狀態,通過部件內部提供的名稱查找方法找到需要操作的虛擬云數據對象;部件會在設定的時間周期內更新虛擬云數據對象的內部數據,進而觸發其它相關部件的數據更新。虛擬云數據對象如圖2所示,包括虛擬云數據對象的名稱,每一種虛擬云數據對象的命名必須是唯一的。規則為虛擬云平臺名稱加上虛擬云數據對象的序號,其中異構的虛擬云平臺可以設為集合X,X= {OpenNebula, Eucalyptus, Openstack...},其中 X1=OpenNebula7X2=Eucalyptus,依次類推;虛擬云數據對象的序號為按虛擬數據對象的產生順序由O依次遞增;虛擬云平臺驅動,在混 合云管理模塊操作適配器模塊接口時,適配器模塊具體指派的虛擬云平臺驅動對象的名稱,通過該名稱適配器模塊能適配到對應的虛擬云平臺驅動對象;虛擬機/[目息、物理機/[目息、虛擬網絡/[目息、鏡像/[目息、集群/[目息和模板彳目息,其均是通過具體虛擬云平臺獲取的信息,虛擬機信息包括虛擬機的網絡信息、虛擬機所在的宿主機信息、虛擬機的磁盤和內存大小、虛擬機的CPU數量和主頻。這些信息的具體格式和內容與具體的虛擬云平臺相關,針對不同的虛擬云平臺的數據需要利用不同的解析器進行解析,混合云管理模塊提供了信息管理模塊,以實現對這些異構平臺的數據格式進行歸一化。信息管理部件屏蔽了各個平臺信息格式的差異性,統一數據格式,同時管理和維護日志信息和平臺信息,其能調用虛擬云池部件提供的虛擬云數據對象的操作接口獲取日志信息和平臺信息,并將不同平臺的日志信息和平臺信息用統一的數據格式提供給界面顯示。日志信息主要用于監控系統的健康狀態和追蹤錯誤,這些信息主要包括系統運行期關鍵過程信息和虛擬機運行過程中的狀態信息和錯誤信息。平臺信息主要包括系統管理下的各個平臺的虛擬集群信息,物理主機信息,虛擬機信息,虛擬網絡信息,鏡像信息。信息管理模塊獲取各種平臺的日志信息和平臺信息,并對這些信息格式進行解析,將解析的信息用統一的數據格式提供給界面顯示,提供給負載均衡部件作為負載信息分析的依據,提供給用戶數據庫部件進行持久化保存。信息管理部件獲取信息的方式為信息管理部件通過虛擬云適配器的遠程物理節點管控部件以輪詢的方式,以SSH的方式登陸到集群中的各個目的物理主機;信息管理部件在每一臺登陸的物理主機中運行獲取CPU利用率和內存利用率,進程數,連接數的腳本程序,并收集腳本程序獲取的數據。負載均衡部件能根據集群內部所有服務器的處理性能高低,將外部用戶的虛擬資源請求根據設定的策略合理分配到每一臺服務器上,使各臺服務器的負載處于相對均衡的狀態,從而最大限度地利用好每一臺服務器,提升集群的整體服務性能,及時地供應用戶所需虛擬資源,其中設定策略的基本步驟為
負載均衡部件從信息管理模塊獲取各個物理主機所屬虛擬云平臺的信息,這些信息包括物理機所屬平臺的虛擬機虛擬化技術、物理機上已經運行的虛擬機運行數量、物理機所屬平臺的虛擬機運行的健康狀態;負載均衡部件利用從物理主機采集的五個輸入參數CPU利用率、內存利用率、進程數、連接數和響應時間,計算各物理主機的當前負載權值,五個輸入參數對應的權值和物理主機負載權值的計算方式均可以通過腳本的方式根據用戶的需求動態設定;將計算所得的各個物理主機的負載權值進行排序,依據負載均衡部件從信息管理部件獲取的信息,選擇虛擬機虛擬化技術一致,虛擬機運行數量沒有超過設定的最大運行數量,虛擬機運行狀態健康的物理機地址和物理機上運行的虛擬云平臺名稱。用戶數據庫部件利用數據庫系統對用戶的權限數據、用戶運行的虛擬機基本信息進行持久化保存,用戶權限數據包括用戶名、密碼和權限,用戶的權限為用戶所在的賬戶下能運行的虛擬機最大數量和占用物理資源的最大數量,用戶在所在賬戶下能進行的操作虛擬機基本信息包括虛擬機運行的平臺名稱,用戶所擁有的虛擬機數量和虛擬機訪問的地址信息。混合云管理模塊為自身維護一個管理線程,該線程從系統啟動后便開始運行,管理線程會通過消息觸發的機制協調和管理模塊內各個部件之間的運行以及框架中各個模塊之間的運行。一般情況下,管理線程處于循環運行的狀態,管理線程會在設定的時間觸發虛擬云池部件的更新事件,虛擬云池部件中的各個虛擬云數據對象更新各自的數據,然后管理線程將再次觸發信息管理部件的更新事件,信息管理部件將更新的數據格式統一,最終更新至WEB界面。當用戶的虛擬資源請求到達時,管理線程會根據用戶的權限執行相應的動作如果用戶的權限不滿足申請虛擬資源的條件,則返回申請資源錯誤至界面;如果用戶的權限滿足申請資源的條件則觸發負載均衡部件的分配資源事件,負載均衡部件找到符合條件的物理主機和物理主機上運行的虛擬云平臺名稱,利用虛擬云平臺名稱作為虛擬云池部件的輸入,找到虛擬云池中的 虛擬云數據對象,通過該對象的接口申請虛擬云資源,虛擬云數據對象會將需要申請的資源作為輸入傳送給虛擬云適配器,虛擬云適配器適配到對應的虛擬云平臺操作接口,最終通過操作接口的一系列動作在給定的物理主機上申請到需要的虛擬資源,并將虛擬資源的訪問地址返回給用戶使用。虛擬云適配器為上層的混合云管理模塊提供了統一的編程接口來管理和屏蔽底層多種不同的虛擬機供應和管理方式,其具有動態配置性,能根據混合云管理模塊提供的虛擬云平臺信息找到對應的虛擬云平臺部件(如OpenNebula虛擬云平臺部件、Eucalyptus虛擬云平臺部件和OpenStack虛擬云平臺部件)實際的操作接口,然后將虛擬云平臺部件實際的操作接口配置給混合云管理模塊中的虛擬云池部件的數據操作接口 ;虛擬云適配器對不同的虛擬云平臺所具有的接口的進一步封裝,設計了對虛擬云平臺部件操作一致的接口,通過用戶設定的配置文件實現對不同虛擬云平臺部件的選擇。虛擬云適配器以一組應用程序編程接口的形式存在,它通過動態匹配的機制與每個有效的虛擬云平臺部件進行通信,以完成用戶調用各個虛擬云平臺部件接口的請求。為支持各種虛擬云平臺部件的可擴展性,虛擬云適配器被設計為一種基于驅動程序的結構,該結構允許以一種通用的接口為大量潛在的虛擬云管理平臺提供服務。請參閱圖3,圖3是本發明實施例的虛擬云平臺管理系統的虛擬云適配器的結構示意圖。本發明實施例的虛擬云平臺管理系統的虛擬云適配器包括適配器模塊接口部件,適配器模塊接口部件屏蔽了不同虛擬云平臺接口的差異性,不同的虛擬云平臺驅動部件的接口設計一致,適配器模塊接口部件能按需動態匹配到合適的虛擬云驅動部件,最終實現框架對不同虛擬云平臺對象透明一致地管理,適配器模塊接口部件的接口根據類型可以劃分為五種類型1、虛擬機 管理接口,這些接口通過兩種方式管理虛擬機,第一種方式是通過適配器模塊的各個驅動對象提供的接口實現對異構平臺的虛擬機的統一管理,這些接口主要有創建虛擬機、暫停虛擬機、恢復虛擬機、停止虛擬機和遷移虛擬機;第二種方式是通過適配器模塊的遠程物理節點管控部件所提供的接口實現對物理機上的虛擬機資源管理,這些接口主要有虛擬機物理環境健康狀態獲取,虛擬機失控時的物理資源清理,第二種方式是在虛擬機失控時對虛擬機的維護,以彌補某些虛擬云平臺對虛擬機管理的不足。2、存儲管理接口,由虛擬云適配器遠程物理節點管控部件實現,遠程物理節點管控部件通過ssh登錄到物理節點,運行遠程物理節點上對應的腳本程序,構建用戶所需的存儲系統,存儲系統主要包括創建存儲卷、創建共享存儲系統和刪除創建的存儲卷和系統;3、存儲池管理接口,通過虛擬云適配器的遠程物理節點管控部件管理存儲池實現對用戶創建的存儲塊管理,存儲塊存儲的資源主要包括插入存儲資源,刪除存儲資源,查找存儲資源;4、虛擬網絡管理接口,通過虛擬云適配器中各個虛擬云平臺部件提供的接口實現對異構平臺的虛擬網絡的統一管理,統一管理包括創建虛擬網絡、刪除虛擬網絡和查看虛擬網絡狀態。5、鏡像管理接口,通過虛擬云適配器中各個虛擬云平臺部件提供的接口實現對異構平臺的鏡像的統一管理,統一管理包括創建鏡像,刪除鏡像。異構虛擬云模塊包括多種虛擬云平臺,如OpenNebula虛擬云平臺、Eucalyptus虛擬云平臺和OpenStack虛擬云平臺。最終用戶可以通過界面模塊的部件(WEB界面或者命令行界面)調用混合云管理接口模塊提供的接口,混合云管理接口模塊利用混合云管理模塊中各個部件提供的服務,由虛擬云適配器動態選擇匹配的虛擬云封裝對象,實現了對各種虛擬云管理平臺地統一管理。本發明實施例的虛擬云平臺管理系統包括的部件或模塊之間通過事件機制交互信息和觸發模塊的行為,由此降低了部件間的耦合度。事件機制是由事件觸發器、事件響應器和事件隊列三種對象協作實現,其中,事件中承載的數據包括數據的觸發源信息、事件的響應方信息、事件執行需要的數據和事件執行的動作序列。框架中的每一部件內部均維護了一個事件隊列,該隊列用以裝載和管理外部部件觸發產生的各種事件,部件會依序執行自身事件隊列中的事件。另外本發明實施例的虛擬云平臺管理系統包括的部件或模塊在運行之前需要初始化,初始化的內容包括模塊構建自身的運行數據和空間、構建模塊運作的事件機制和創建模塊運行期的監聽線程,初始化的基本流程包括步驟a :虛擬云平臺管理系統的主系統啟動;
步驟b :主系統創建虛擬云平臺管理系統總線程;步驟c :虛擬云平臺管理系統總線程創建用戶數據庫管理線程;步驟d :虛擬云平臺管理系統總線程觸發用戶數據庫線程獲取系統數據庫信息事件,用戶數據庫線程獲取主系統的系統相關數據,其中,系統相關數據包括與用戶關聯的各個平臺虛擬機/[目息、虛擬機宿主機/[目息、虛擬網絡/[目息、鏡像/[目息、模板/[目息和物理節點/[目息;步驟e :虛擬云平臺管理系統總線程創建虛擬云池管理線程,同時觸發虛擬云池管理線程獲取用戶數據庫線程獲取的系統相關數據,觸發虛擬云池管理線程通過虛擬云適配器獲取虛擬云平臺部件的平臺信息,由這些平臺信息構建虛擬云數據對象,其中平臺信息主要包括各個平臺的虛擬機信息、虛擬機宿主機信息、虛擬網絡信息、鏡像信息、模板信息和物理節點信息;步驟f :主系統創建虛擬云適配器虛擬云驅動部件;步驟g :主系統創建物理節點管控線程,物理節點管控線程通過數據庫中存儲的物理節點信息登陸各個物理節點;步驟h :物理節點管控線程獲取物理節點的狀態信息,構建虛擬機運行需要的存儲資源,其中所述的物理節點狀態信息包括存儲狀態、網絡狀態、CPU狀態和內存狀態;步驟1:虛擬云平臺管理系統總線程創建信息管理線程,觸發信息管理線程從虛擬云池管理線程中獲取平臺信息,然后將獲取的平臺信息的格式歸一化;步驟j :虛擬云平臺管理系統總線程創建負載均衡線程,觸發負載均衡線程從虛擬云池管理線程獲取 平臺信息,從物理節點管控線程中獲取物理節點的狀態信息,由這些信息對當前管控的異構平臺負載進行分析,分析得到候選的虛擬機運行的物理節點;步驟k :各線程進入循環等待狀態,等待事件觸發。請參閱圖4,為本發明實施例的虛擬云平臺管理方法的流程示意圖。本發明實施例的虛擬云平臺管理方法包括如下步驟步驟1:當用戶輸入申請的虛擬資源信息后,界面將信息傳送至主線程;步驟2 :主線程通過信息觸發虛擬云平臺的管理線程分析數據;步驟3 :虛擬云平臺的管理線程觸發數據庫線程查詢用戶的權限,并返回用戶的選項數據,如果用戶的權限不滿足申請虛擬資源的條件,則步驟運行至步驟14,返回主線程用戶權限不夠的錯誤;步驟4:如果用戶的權限滿足申請的虛擬資源的條件,則虛擬云平臺的管理線程觸發負載均衡線程模塊,通過負載均衡線程的策略分析,返回符合虛擬資源申請條件的物理節點訪問地址;步驟5 :虛擬云平臺的管理線程觸發虛擬云池線程創建虛擬機資源的事件,虛擬云池線程通過負載均衡線程分析得到的物理節點地址查找到對應物理節點上運行的虛擬云平臺數據對象;步驟6 :虛擬云平臺的管理線程調用適配器模塊接口,同時將步驟5查找到的虛擬云數據對象傳送給對應的虛擬資源創建接口;步驟7 :適配器管理接口通過步驟6傳送的虛擬云數據對象中的虛擬云驅動對象適配到對應的虛擬云驅動對象;
步驟8 :適配器管理接口通過步驟7適配的虛擬云驅動對象操作對應的虛擬云驅動對象創建虛擬資源的接口;步驟9 :虛擬云驅動對象控制對應的虛擬云平臺創建虛擬機資源;步驟10 :虛擬云平臺在指定的物理節點上創建虛擬機資源;步驟11 :創建的虛擬機資源由虛擬云平臺返回,最后到達虛擬云池對象;步驟12 :虛擬云池線程觸發信息管理線程信息歸一化事件,信息管理線程將虛擬機資源信息數據格式歸一化;步驟13 :信息管理線程將信息返回至混合云管理線程;步驟14 :混合云管理線程最終將步驟12歸一化的虛擬機資源信息數據返回至界面,界面將信息按照界面的格式呈現給用戶;步驟15 :如果用戶需要管理和維護虛擬機的存儲系統,還可以通過混合云管理線程觸發物理節點管控線程的存儲資源管理事件。在步驟15中,混合云管理線程還會根據請求觸發物理節點管控線程獲取物理節點信息事件,并將信息更新至信息管理線程。本發明實施例的虛擬云平臺管理系統及方法提供一種以單一的方式管理多種異構的虛擬云平臺的方式,實現了不同用戶管理異構平臺的透明性;系統內部各個模塊在框架系統運行期以多線程的方式存在,各個模塊之間以及各個部件之間的交互通過事件機制觸發,保證了框架內部模塊之間、模塊內部各個部件的松耦合,使得框架具有可維護性;框架內的虛擬云適配器包含的物理節點管控部件可以直接對物理節點進行管理,彌補了目前主流虛擬機管理平臺缺乏對物理資源直接控制的不足,這樣保障了框架的容錯性和穩定性;框架內虛擬云適配器基 于驅動程序設計理想實現適配器模塊部件的動態可擴展,使得框架對現有虛擬云平臺的兼容性和可擴展性。本發明實施例的虛擬云平臺管理系統及方法具有可維護性,可擴展性,一定的容錯性和用戶操控的透明性。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種虛擬云平臺管理系統,包括界面模塊和異構虛擬云模塊,所述界面模塊是用戶與虛擬云平臺交互的窗口,所述異構虛擬云模塊包括各種虛擬云平臺,其特征在于,還包括 混合云管理模塊用于管理異構虛擬云模塊中的各種虛擬云平臺; 虛擬云適配器用于為混合云管理模塊提供統一的編程接口來管理和屏蔽底層多種不同的虛擬云平臺的差異性。
2.根據權利要求1所述的虛擬云平臺管理系統,其特征在于,還包括 混合云管理接口模塊用于向界面模塊提供混合云管理模塊所有開放的功能,支持界面模塊提供給最終用戶使用的所有功能。
3.根據權利要求2所述的虛擬云平臺管理系統,其特征在于,所述混合云管理模塊包括 虛擬云池部件用于承載各種虛擬云平臺的數據空間,提供對各種虛擬云平臺數據操作的一致訪問,并裝載各種虛擬云數據對象,提供虛擬云數據對象的增加、刪除和查找功倉泛; 信息管理部件用于調用虛擬云池部件提供的虛擬云數據對象的操作接口獲取日志信息和平臺信息,并將不同平臺的日志信息和平臺信息用統一的數據格式提供給界面顯示。
4.根據權利要求3所述的虛擬云平臺管理系統,其特征在于,所述虛擬云數據對象通過創建的可動態增加大小的容器進行裝載和維護,所述容器提供通過輪詢的方法查詢每個虛擬云數據的內部狀態,通過部件內部提供的名稱查找方法找到需要操作的虛擬云數據對象。
5.根據權利要求3所述的虛擬云平臺管理系統,其特征在于,所述混合云管理模塊還包括 負載均衡部件根據集群內部所有服務器的處理性能高低,將外部用戶的虛擬資源請求根據設定的策略合理分配到服務器; 用戶數據庫部件利用數據庫系統對用戶的權限數據、用戶運行的虛擬機基本信息進行持久化保存。
6.根據權利要求1或2所述的虛擬云平臺管理系統,其特征在于,所述混合云管理模塊為自身維護一個管理線程,所述管理線程通過消息觸發機制協調和管理模塊內各個部件之間的運行以及框架中各個模塊之間的運行。
7.根據權利要求1或2所述的虛擬云平臺管理系統,其特征在于,所述虛擬云適配器包括適配器模塊接口部件,所述適配器模塊接口部件屏蔽了不同虛擬云平臺接口的差異性,按需動態匹配到合適的虛擬云驅動部件。
8.一種虛擬云平臺管理方法,包括 步驟a :創建虛擬云平臺管理系統總線程; 步驟b :虛擬云平臺管理系統總線程創建信息管理線程,觸發信息管理線程從虛擬云池管理線程中獲取平臺信息,然后將獲取的平臺信息的格式歸一化; 步驟c :將歸一化的虛擬云平臺資源信息數據返回至界面,按照界面格式呈現給用戶。
9.根據權利要求8所述的虛擬云平臺管理方法,其特征在于,所述步驟a和b之間還包括虛擬云平臺管理系統總線程創建用戶數據庫管理線程,觸發用戶數據庫線程獲取系統數據庫信息事件。
10.根據權利要求9所述的虛擬云平臺管理方法,其特征在于,所述步驟a和b之間還包括虛擬云平臺管理系統總線程創建負載均衡線程,觸發負載均衡線程,通過負載均衡線程的策略分析,返回符合虛擬資源申請條件的物理節點訪問地址。
11.根據權利要求10所述的虛擬云平臺管理方法,其特征在于,所述步驟a和b之間還包括虛擬云平臺管理系統總線程創建虛擬云池管理線程,同時觸發虛擬云池管理線程獲取用戶數據庫線程獲取的系統相關數據,觸發虛擬云池管理線程通過虛擬云適配器獲取虛擬云平臺部件的平臺信息,由獲取的平臺信息構建虛擬云數據對象。
全文摘要
本發明屬于云計算技術領域,尤其涉及一種虛擬云平臺管理系統及方法。本發明的虛擬云平臺管理系統包括界面模塊和異構虛擬云模塊,所述界面模塊是用戶與虛擬云平臺交互的窗口,所述異構虛擬云模塊包括各種虛擬云平臺,還包括混合云管理模塊用于管理異構虛擬云模塊中的各種虛擬云平臺;虛擬云適配器用于為混合云管理模塊提供統一的編程接口來管理和屏蔽底層多種不同的虛擬云平臺的差異性。本發明實施例的虛擬云平臺管理系統及方法提供一種以單一的方式管理多種異構的虛擬云平臺的方式,實現了不同用戶管理異構平臺的透明性。
文檔編號H04L29/08GK103051710SQ201210558549
公開日2013年4月17日 申請日期2012年12月20日 優先權日2012年12月20日
發明者貝振東, 須成忠, 郭龍, 洪爵 申請人:中國科學院深圳先進技術研究院