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