動態負載均衡的方法、系統及監控調度設備的制造方法
【技術領域】
[0001]本申請涉及共享環境下的網絡資源分配技術,尤其涉及云計算環境中的動態負載 均衡的方法、系統及監控調度設備。
【背景技術】
[0002] 云計算(CloudComputing)是一種通過InternetW服務方式提供動態可伸縮的 虛擬資源的計算模式,通過該種方式,共享的軟硬件資源和信息可W按需求提供給計算機 和其他設備。云計算的基礎環境是虛擬化,虛擬化環境中存在資源共享。云計算環境中經 常使用虛擬機(VM,VirtualMachine),該些虛擬機主要關聯的系統資源有CPU、內存、磁盤 I/O、網絡帶寬等等。
[0003]可W理解的是,云計算環境中的該些資源只要是處于共享狀態的,就都會被多個 虛擬機爭搶。比如,云計算環境中的虛擬機磁盤共享遠端存儲集群,所有磁盤I/O都要通過 網絡訪問遠端的存儲集群。通常,一臺物理服務器上有十幾個虛擬機,該樣就存在兩種資源 爭搶的情況:其一為,遠端存儲集群的服務能力有上限,因而多個虛擬機對于遠端存儲集群 的磁盤I/O資源將進行資源爭搶;其二為,物理服務器的網卡和上聯鏈路帶寬容量有上限, 因而同一臺物理服務器上所有虛擬機磁盤I/O所耗用的網絡流量和該服務器上所有非磁 盤I/O所耗用的網絡流量之間將進行資源爭搶。由于虛擬機的資源爭搶,使得云計算環境 下的資源分配成為一個動態的過程。
[0004]正因為存在上述資源爭搶的狀況,使得在虛擬機用戶角度觀察到的系統資源容量 上限不是傳統物理機環境中的水平直線,而是一條上下波動的曲線,從而使容量規劃從一 個靜態的問題變成一個動態的問題。當系統資源容量不再是確定的,而是動態變化的前提 下,再繼續沿用與系統資源容量實際變化無關的傳統負載均衡算法,將無法保證應用的實 際可用性。否則,因為系統資源容量上限是剛性的,一旦應用實際耗用資源水平達到該上 限,就會產生系統層面的崩潰。所W,應根據系統中各維度系統資源的動態變化來實時調整 負載均衡權重,使得應用的實際耗用資源水平始終處于不斷變化的系統資源容量上限范圍 內,才能保證應用的可用性。
[0005]發明人認知的現有業務分配系統和負載均衡模塊的基本原理為:負載均衡模塊接 收各系統/各節點上報的自身資源使用狀況;根據各系統/各節點上報的所述資源使用狀 況,確定出所述各系統/各節點的業務分配比率;按照所述業務分配比率,將待分配業務 分配給所述各系統/各節點。該方法能實現根據各系統/各節點的當前資源使用狀況進行 業務的動態分配,使得各系統/各節點之間的實際負荷量基本達到均衡。但是該技術方案 也存在明顯的不足,主要體現為:
[0006]-方面,該方案未詳述根據資源使用率來計算資源空閑率,可W推斷該方案認為 的資源空閑率=100%-資源使用率。然而在云計算環境中,類似于磁盤I/O、網絡帶寬該樣存 在多虛擬機爭搶的共享資源,是無法通過該方案所述簡單方式計算資源使用率和資源空閑 率的。由于該負載均衡算法并不關也后端實際容量變化,因而無法適應云計算環境。
[0007] 另一方面,該方案中的所述監控數據采集依賴于各節點上報,若節點本身異常或 上報數據錯誤,會導致該系統作出錯誤的決策,由此無法保證應用可用性。由于各節點處于 主動地位,主動采集并根據設定的上報條件有選擇地上報,處理邏輯都在各節點,而負載均 衡模塊端處于被動地位,其只負責接收上報的信息,并沒有介紹如何應對節點失效、少報/ 錯報/漏報的問題。因此,該方案由于依賴于各節點的主動性和功能完整性,沒有考慮節點 失效的問題,存在較大的故障風險。
[0008] 由于存在W上缺陷,導致上述技術方案并不能有效地保證云計算環境下的負載均 衡,最終使得云計算客戶應用可用性較差。有鑒于此,有必要設計一種基于云計算環境下的 新的動態負載均衡方案。
【發明內容】
[0009] 針對現有技術存在的缺陷,本申請的目的在于針對云計算環境中虛擬機共享的特 點,設計一種動態負載均衡的方法,W便克服傳統負載均衡算法無視后端資源動態變化,導 致無法保證云計算客戶應用可用性問題。
[0010] 在此基礎上,本申請的另一目的在于提供與上述動態負載均衡方法相配套的動態 負載均衡監控調度系統及動態負載均衡監控調度設備,由此較好地保證云計算客戶應用的 可用性。
[0011] 為解決W上技術問題,本申請相應提供了一種動態負載均衡的方法,其技術方案 包括W下步驟:
[0012] 獲取云計算環境下虛擬化系統資源耗用狀況,虛擬化系統的資源耗用狀況包括各 虛擬機節點對應的宿主機整體容量和資源耗用狀況,相關遠程服務整體容量和資源耗用狀 況,W及應用集群虛擬機分布狀況;
[0013] 根據虛擬化系統的資源耗用狀況,按預設策略綜合計算并推送虛擬機負載均衡權 重列表;
[0014] 依照虛擬機負載均衡權重列表,調整相應虛擬機節點的虛擬機負載均衡權重。
[0015] 該些虛擬化系統資源耗用狀況包括虛擬化系統當前負載狀況數據,該虛擬化系統 當前負載狀況數據包括各虛擬機的系統資源耗用狀況數據、網絡資源耗用狀況數據W及遠 程服務I/O性能資源耗用狀況數據,其中:
[0016] 各虛擬機的系統資源耗用狀況數據可W表征虛擬機預設維度系統資源的耗用情 況,虛擬機預設維度系統資源包括CPU、內存、磁盤I/O及網絡帶寬,它們可W通過在各個虛 擬機中安裝探針程序,來獲取相應虛擬機的系統資源耗用狀況數據。具體方式之一是,探針 程序根據系統資源采集指令,抓取并反饋相應維度的本地虛擬機的系統資源耗用數據。更 具體地,探針程序根據W-定頻率下發的系統資源采集指令,抓取并反饋相應維度的本地 虛擬機的系統資源耗用數據。其中,當某節點虛擬機上探針程序未正常抓取并反饋相應維 度的本地虛擬機的系統資源耗用數據時,重置對應虛擬機節點負載均衡權重,一般是將對 應虛擬機節點負載均衡權重置為0 ;與此同時,還可W相應地觸發報警。
[0017] 網絡資源耗用狀況數據包括帶寬、處理器利用率,它們可W通過云計算系統中的 網絡設備,來獲取相應的網絡資源耗用狀況數據。
[0018] 遠程服務I/O性能資源耗用狀況數據,包括用于提供虛擬磁盤的遠端存儲集群1/ 0性能資源耗用狀況數據,它們可W通過云計算系統中的遠程服務模塊,來獲取虛擬機所依 賴的遠程服務I/O性能資源耗用狀況數據。
[0019] 本申請的一個改進方案中,當某一虛擬機節點上某個維度的虛擬機的系統資源耗 用總和達到對應維度宿主機系統資源容量上限的安全闊值時,逐步降低該宿主機上相關虛 擬機的負載均衡權重。此時可W結合應用集群虛擬機部署情況,調整相應虛擬機節點的虛 擬機負載均衡權重。
[0020] 特別地,本申請對于耗用系統資源總和即將整體超過安全闊值的應用集群,通過 觸發相應的自動擴容程序對應用集群擴容。其中,對于耗用系統資源總和即將整體超過安 全闊值的應用集群,自動擴容程序通過自動安裝新的虛擬機,并自動部署應用到該新的虛 擬機,并將該新的虛擬機加入應用集群W對外提供服務,來實現對應用集群擴容。并且,對 于耗用系統資源總和即將整體超過安全闊值的應用集群,觸發報警。
[0021] 類似地,對于耗用系統資源總和長期低于某個臨界闊值的應用集群,通過觸發相 應的自動縮容程序W回收并釋放閑置的虛擬機。具體方案可W是,對于耗用系統資源總和 長期低于某個臨界闊值的應用集群,自動縮容程序通過在原應用集群中剔除一個或多個虛 擬機,來實現對應用集群縮容。
[0022] 本申請同時提供一種動態負載均衡的系統,其包括:
[0023] 監控調度模塊,被配置為獲取云計算環境下虛擬化系統的資源耗用狀況,虛擬化 系統的資源耗用狀況包括各虛擬機節點對應的宿主機整體容量和資源耗用狀況,相關遠程 服務整體容量和資源耗用狀況,W及應用集群虛擬機分布狀況;W及根據虛擬化系統的資 源耗用狀況,按預設策略綜合計算并推送虛擬機負載均衡權重列表;
[0024] 負載均衡模塊,被配置為依照虛擬機負載均衡權重列表,調整相應虛擬機節點的 虛擬機負載均衡權重。
[00巧]相應地,本申請還相應提供一種動態負載均衡監控調度設備,其包括:
[0026] 系統資源耗用感知器,被配置為獲取云計算環境下虛擬化系統的資源耗用狀況, 虛擬化系統的資源耗用狀況包括各虛擬機節點對應的宿主機整體容量和資源耗用狀況,相 關遠程服務整體容量和資源耗用狀況,W及應用集群虛擬機分布狀況;
[0027] 負載均衡權重運算器,被配置為根據虛擬化系統的資源耗用狀況,按預設策略綜 合計算虛擬機負載均衡權重列表;W及
[0028] 負載均衡權重推送器,被配置為推送虛擬機負載均衡權重列表至負載均衡設備進 行處理。
[0029] 與現有技術相比,本申請針對云計算環境中各種共享資源動態變化的狀況,設計 了一種感知所述變化的動態負載均衡方法、系統及調度監控設備,其通過主動感知云計算 環境下的虛擬化系統資源狀況變化,并主動調整相應虛擬機的負載均衡權重,可W適應云 計算環境下共享資源的變化,由此可W保證應用的可用性。特別地,本申請通過監控調度模 塊從探針程序獲取虛擬機內部系統資源狀況的設計,而不是依賴于探針程序上報,可W有 效規避探針程序本身失效而導致的負載均衡失效。更