一種虛擬機部署方法及裝置的制造方法
【技術領域】
[0001]本發明涉及云計算技術領域,尤其涉及一種虛擬機部署方法及裝置。
【背景技術】
[0002]云計算(CloudComputing)是虛擬化(Virtualizat1n)、效用計算(UtilityComputing)、IaaS (基礎設施即服務)、PaaS (平臺即服務)、SaaS (軟件即服務)等概念混合演進并躍升的結果。它提供了一個全新的互聯網商業服務模型,即用戶可以通過網絡以按需、易擴展的方式租用所需的服務。
[0003]基礎設施即服務IaaS (Infrastructure as a service)是把基礎設備這些設施作為一種底層資源來為上層提供服務。IaaS的設施有很多,常見的PC、網絡、處理、存儲、帶寬等等都可以是它的基礎資源。這些基礎資源對用戶來說是透明的,也就是說當它們被提供的時候是經過虛擬化后的計算資源,這些資源只作為服務提供給終端用戶,終端用戶不用關心這些資源的來源或者實現細節。此外這些資源對外都會被封裝為統一的邏輯接口,從而屏蔽了底層硬件的差異。因此,虛擬化過程對IaaS顯得尤為重要,其中,基礎資源被抽象為虛擬數據中心、服務機群、虛擬機群等。
[0004]面對如此大規模的集群資源,如何很好地協調、配置和使用這么多的資源是一個迫在眉睫的問題。現有技術僅是通過輪詢直接將虛擬機部署在計算組件上來實現負載均衡,但通過輪詢且直接在計算節點上部署虛擬機會造成部分組件過載,部分組件閑置,從而導致負載分布不均、資源浪費。
【發明內容】
[0005]本發明實施例提出一種虛擬機部署方法及裝置,能夠優化虛擬機部署,實現負載均勻分布。
[0006]本發明實施例提供一種虛擬機部署方法,包括:
[0007]第一物理機掃描IaaS平臺中所有組件,獲取每個組件的參數信息;所述組件為計算組件或控制組件;所述第一物理機被部署為所述控制組件;
[0008]所述第一物理機根據所述參數信息,對每個組件進行權值計算,獲得權值最小的組件;
[0009]所述第一物理機在所述權值最小的組件上部署虛擬機。
[0010]優選地,所述參數信息包括CPU、內存和網絡帶寬。
[0011]進一步地,所述第一物理機根據所述參數信息,對每個組件進行權值計算,獲得權值最小的組件,具體包括:
[0012]根據所述參數信息以及預設的所述CPU、所述內存和所述網絡帶寬的權重值,計算每個組件的權值,獲得權值最小的組件。
[0013]進一步地,在所述第一物理機掃描IaaS平臺中所有組件,獲取每個組件的參數信息之前,還包括:
[0014]所述第一物理機接收主控組件發送的安裝列表和服務配置指令;所述服務配置指令包含控制服務和計算服務配置指令;所述安裝列表是配置各個服務所需的安裝文件;
[0015]所述第一物理機根據所述服務配置指令,從所述安裝列表中獲取配置控制服務所需的第一安裝文件和配置計算服務所需的第二安裝文件;
[0016]所述第一物理機安裝所述第一安裝文件和所述第二安裝文件,部署為控制組件。
[0017]進一步地,所述IaaS平臺通過可視化構建方法進行部署;所述可視化構建方法具體包括:
[0018]主控組件接收用戶發送的網絡環境配置指令;
[0019]所述主控組件根據所述網絡環境配置指令配置IaaS網絡環境,并對所述IaaS網絡環境的網絡連通性進行驗證;
[0020]若驗證成功,則所述主控組件接收用戶發送的組件配置指令;
[0021]所述主控組件根據所述組件配置指令,向第一物理機和第二物理機發送安裝列表,使所述第一物理機安裝配置控制服務所需的第一安裝文件和配置計算服務所需的第二安裝文件,部署為控制組件,并使所述第二物理機安裝配置計算服務所需的第二安裝文件,部署為計算組件;
[0022]所述主控組件完成IaaS平臺的構建。
[0023]相應地,本發明實施例提供一種虛擬機部署裝置,包括:
[0024]參數信息獲取模塊,用于掃描IaaS平臺中所有組件,獲取每個組件的參數信息;所述組件為計算組件或控制組件;所述虛擬機部署裝置被部署為所述控制組件;
[0025]計算模塊,用于根據所述參數信息,對每個組件進行權值計算,獲得權值最小的組件;以及,
[0026]部署模塊,用于在所述權值最小的組件上部署虛擬機。
[0027]優選地,所述參數信息包括CPU、內存和網絡帶寬。
[0028]進一步地,所述計算模塊具體用于根據所述參數信息以及預設的所述CPU、所述內存和所述網絡帶寬的權重值,計算每個組件的權值,獲得權值最小的組件。
[0029]進一步地,所述虛擬機部署裝置還包括:
[0030]指令接收模塊,用于接收主控組件發送的安裝列表和服務配置指令;所述服務配置指令包含控制服務和計算服務配置指令;所述安裝列表是配置各個服務所需的安裝文件;
[0031]安裝文件獲取模塊,用于根據所述服務配置指令,從所述安裝列表中獲取配置控制服務所需的第一安裝文件和配置計算服務所需的第二安裝文件;以及,
[0032]安裝模塊,用于安裝所述第一安裝文件和所述第二安裝文件,部署為控制組件。
[0033]進一步地,所述IaaS平臺通過可視化構建方法進行部署;所述可視化構建方法具體包括:
[0034]主控組件接收用戶發送的網絡環境配置指令;
[0035]所述主控組件根據所述網絡環境配置指令配置IaaS網絡環境,并對所述IaaS網絡環境的網絡連通性進行驗證;
[0036]若驗證成功,則所述主控組件接收用戶發送的組件配置指令;
[0037]所述主控組件根據所述組件配置指令,向所述第一物理機和第二物理機發送安裝列表,使所述第一物理機安裝配置控制服務所需的第一安裝文件和配置計算服務所需的第二安裝文件,部署為控制組件,并使所述第二物理機安裝配置計算服務所需的第二安裝文件,部署為計算組件;
[0038]所述主控組件完成IaaS平臺的構建。
[0039]實施本發明實施例,具有如下有益效果:
[0040]本發明實施例提供的虛擬機部署方法及裝置,能夠使控制組件獲取IaaS平臺中包括計算組件和控制組件在內的所有組件的參數信息,根據每個組件的參數信息來部署虛擬機,而不僅僅在計算組件上部署,防止部分組件異常過載,降低組件閑置率,實現負載均勻分布;可根據用戶需求來設置CPU、內存和網絡帶寬的權重值,結合組件的多個參數信息選擇最適合部署虛擬機的組件,進一步優化虛擬機的部署;采用可視化操作快速部署私有云IaaS平臺各個功能組件,準確評估平臺的網絡和組件的可用性,可以提高部署的成功率,提高整個構建過程的效率。
【附圖說明】
[0041]圖1是本發明提供的虛擬機部署方法的一個實施例的流程示意圖;
[0042]圖2是IaaS平臺部署方法的一個實施例的流程示意圖;
[0043]圖3是本發明提供的虛擬機部署裝置的一個實施例的結構示意圖;
[0044]圖4是部署IaaS平臺的一個實施例的結構示意圖。
【具體實施方式】
[0045]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0046]參見圖1,是本發明提供的虛擬機部署方法的一個實施例的流程示意圖,包括:
[0047]