分配物理資源和虛擬資源的系統和方法
【技術領域】
[0001]本發明涉及云計算領域,特別涉及一種統一動態按需分配物理資源和虛擬資源的系統和方法。
【背景技術】
[0002]傳統服務器租用業務一般存在服務器資源與用戶請求不匹配的現象,要么由于分配給客戶的服務器資源過多而造成服務器資源的浪費,要么由于分配給客戶的服務器資源過少而造成被分配的服務器負載過高。
[0003]隨著云計算技術的發展,通過虛擬化及云計算技術,解決了上述服務器租用業務中存在的典型問題。同時,運營商從傳統的IDC (互聯網數據中心)機房、機架、服務器租用商逐步向云服務提供商轉變,充分利用云主機快速部署、彈性擴展、按需使用等特點,以租用的方式向政府、中小企業客戶提供計算、存儲資源。
[0004]然而,至少存在下列幾種情況,無法使用虛擬機提供服務或使用虛擬機提供服務的性價比不聞:
[0005]I) 一些具有高配置的輸入輸出應用程序;網格應用程序或者需要高速、圖形密集型的分布式SMP應用程序;或者需要硬件卡的應用程序等;
[0006]2)客戶有些應用程序的許可證不允許其在虛擬機上運行;
[0007]3)客戶已有的任務關鍵型應用程序內置高可用性,如果使用虛擬機后這些可用性就會喪失作用;
[0008]4)客戶的應用程序原來部署在小型機上,編譯運行依賴于小型機的庫;
[0009]5 )客戶定制化需要的虛擬機超大規格接近物理服務器配置。
[0010]在上述情況下,需要通過物理資源為客戶提供服務,但同時需要和客戶租用的虛擬資源平臺統一動態分配管理,共同搭建其網絡。然而,目前的云管理平臺僅具備對虛擬資源的動態分配能力,尚不具備統一分配物理資源和虛擬資源的能力。
【發明內容】
[0011]本發明實施例的一個目的是:在云管理平臺實現物理資源和虛擬資源的統一分配。
[0012]根據本發明實施例的一個方面,提出一種分配物理資源和虛擬資源的方法,包括:從資源使用請求的任務隊列中獲取資源調度所需要的資源參數;判斷資源參數中是否有需要以物理機方式提供資源的參數;響應于資源參數中有需要以物理機方式提供資源的參數的判斷結果,從物理資源分配列表中選擇第一物理服務器,在選中的第一物理服務器部署物理機;響應于資源參數中沒有需要以物理機方式提供資源的參數的判斷結果,自動部署虛擬機;其中,第一物理服務器是物理資源中直接作為計算資源結點的物理服務器。
[0013]在一個實施例中,自動部署虛擬機包括:判斷虛擬資源分配列表是否為空;響應于虛擬資源分配列表不空的判斷結果,從虛擬資源分配列表中選擇第二物理服務器,在選中的第二物理服務器上部署虛擬機;響應于虛擬資源分配列表為空的判斷結果,將未分配的第一物理服務器轉換為第二物理服務器,在轉換得到的第二物理服務器上部署虛擬機;其中,第二物理服務器是物理資源中運行虛擬化管理軟件的物理服務器。
[0014]在一個實施例中,虛擬資源分配列表中的各第二物理服務器按照規則定義的優先級排列;根據優先級從虛擬資源分配列表中選擇第二物理服務器。
[0015]在一個實施例中,將未分配的第一物理服務器轉換為第二物理服務器包括:下載虛擬化管理軟件,在該未分配的第一物理服務器上安裝虛擬化管理軟件,從管理IP池中取出未分配的管理IP分配給該未分配的第一物理服務器,以便完成第二物理服務器的轉換。
[0016]在一個實施例中,從物理資源分配列表中選擇第一物理服務器包括:根據申請資源的數量和類型,從物理資源分配列表中選擇滿足要求的第一物理服務器。
[0017]根據本發明實施例的再一個方面,提出一種分配物理資源和虛擬資源的系統,包括:資源申請接口模塊、資源分配調度模塊、資源抽象模塊和資源模塊;資源抽象模塊,用于對資源模塊的計算資源進行管理,計算資源分為虛擬資源和物理資源;資源申請接口模塊,用于接收用戶資源使用請求,將資源使用請求轉化為任務,放入任務隊列;資源分配調度模塊,用于在資源抽象模塊的基礎上對計算資源進行統一調度,將資源使用請求的任務分配到虛擬資源或物理資源上。
[0018]在一個實施例中,資源抽象模塊包括物理資源部署子模塊和虛擬資源部署子模塊,其中,物理資源部署子模塊用于部署物理機,虛擬資源部署子模塊用于部署虛擬機;資源分配調度模塊,具體用于:從資源申請接口模塊中的資源使用請求的任務隊列中獲取資源調度所需要的資源參數;判斷資源參數中是否有需要以物理機方式提供資源的參數;響應于資源參數中有需要以物理機方式提供資源的參數的判斷結果,從物理資源分配列表中選擇第一物理服務器,調用資源抽象模塊中的物理資源部署子模塊的第一物理服務器部署分支,在選中的第一物理服務器部署物理機;響應于資源參數中沒有需要以物理機方式提供資源的參數的判斷結果,調用資源抽象模塊中的虛擬資源部署子模塊,自動部署虛擬機;其中,第一物理服務器是物理資源中直接作為計算資源結點的物理服務器。
[0019]在一個實施例中,資源分配調度模塊在自動部署虛擬機時,具體用于:判斷虛擬資源分配列表是否為空;響應于虛擬資源分配列表不空的判斷結果,從虛擬資源分配列表中選擇第二物理服務器,調用資源抽象模塊中的虛擬資源部署子模塊,在選中的第二物理服務器上部署虛擬機;響應于虛擬資源分配列表為空的判斷結果,調用資源抽象模塊中的物理資源部署子模塊的第二物理服務器部署分支,將未分配的第一物理服務器轉換為第二物理服務器,調用資源抽象模塊中的虛擬資源部署子模塊,在轉換得到的第二物理服務器上部署虛擬機;其中,第二物理服務器是物理資源中運行虛擬化管理軟件的物理服務器。
[0020]在一個實施例中,虛擬資源分配列表中的各第二物理服務器按照規則定義的優先級排列;根據優先級從虛擬資源分配列表中選擇第二物理服務器。
[0021]在一個實施例中,資源分配調度模塊在將未分配的第一物理服務器轉換為第二物理服務器時,具體用于:下載虛擬化管理軟件,在該未分配的第一物理服務器上安裝虛擬化管理軟件,從管理IP池中取出未分配的管理IP分配給該未分配的第一物理服務器,以便完成第二物理服務器的轉換。
[0022]在一個實施例中,資源抽象模塊還包括:資源數據實時采集子模塊,用于計算資源信息的存儲、查詢或更新。
[0023]在一個實施例中,資源抽象模塊還包括:統一模板鏡像資源子模塊,用于管理虛擬機模板、物理機安裝鏡像文件、虛擬化操作系統鏡像文件。
[0024]本發明提供的資源分配方案具有以下優點:
[0025]首先,從資源使用請求的任務隊列中獲取資源調度所需要的資源參數,并判斷資源參數中是否有需要以物理機方式提供資源的參數,根據判斷結果將資源使用請求的任務分配到虛擬資源或物理資源上,從而實現物理資源和虛擬資源的統一分配方案,適用于云計算平臺。
[0026]其次,在資源分配系統中設置資源抽象模塊,對異構的各種計算資源進行管理,屏蔽計算資源之間的差異。
[0027]再次,在物理資源部署子模塊中針對不同的物理服務器的劃分了兩大部署分支,實現了物理資源的彈性管理。
[0028]最后,分配列表基于動態優先隊列實現,可以滿足例如負載平臺和高可用性等需要。
[0029]通過以下參照附圖對本發明的示例性實施例的詳細描述,本發明的其它特征及其優點將會變得清楚。
【附圖說明】
[0030]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0031]圖1為本發明統一分配物理資源和虛擬資源的系統一個實施例的結構示意圖。
[0032]圖2為本發明資源分配調度模塊與系統其他模塊配合統一分配物理資源和虛擬資源一個實施例的流程圖。
[0033]圖3為本發明資源分配調度模塊與系統其他模塊配合統一分配物理資源和虛擬資源再一個實施例的流程圖。
[0034]圖4為本發明以Hypervisor為例資源分配調度模塊與系統其他模塊配合統一分配物理資源和虛擬資源一個實施例的流程圖。
[0035]圖5為本發明統一分配物理資源和虛擬資源的方法一個實施例的流程示意圖。
[0036]圖6為本發明統一分配物理資源和虛擬資源的方法再一個實施例的流程示意圖。
【具體實施方式】
[0037]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發明及其應用或使用的任何限制。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0038]圖1為本