本發(fā)明涉及信息技術(shù),特別涉及實(shí)現(xiàn)負(fù)載均衡的計(jì)算機(jī)設(shè)備、系統(tǒng)和方法。
背景技術(shù):
負(fù)載均衡是由多臺(tái)服務(wù)器以對(duì)稱的方式組成一個(gè)服務(wù)器集合,每臺(tái)服務(wù)器都具有等價(jià)的地位,都可以單獨(dú)對(duì)外提供服務(wù)而無(wú)須其他服務(wù)器的輔助。通過(guò)某種負(fù)載分擔(dān)技術(shù),將外部發(fā)送來(lái)的請(qǐng)求均勻分配到對(duì)稱結(jié)構(gòu)中的某一臺(tái)服務(wù)器上,而接收到請(qǐng)求的服務(wù)器獨(dú)立地回應(yīng)客戶的請(qǐng)求。均衡負(fù)載能夠平均分配客戶請(qǐng)求到服務(wù)器列陣,籍此提供快速獲取重要數(shù)據(jù),解決大量并發(fā)訪問(wèn)服務(wù)問(wèn)題。這種群集技術(shù)可以用最少的投資獲得接近于大型主機(jī)的性能。
隨著云計(jì)算技術(shù)的發(fā)展,各種業(yè)務(wù)遷移到云環(huán)境中,對(duì)負(fù)載均衡器也提出了云化的需求,虛擬化負(fù)載均衡器(vlb,virtualloadbalancer)應(yīng)運(yùn)而生。
目前虛擬化負(fù)載均衡器大部分是傳統(tǒng)負(fù)載均衡器的虛擬化和軟件化,這些都無(wú)法滿足云計(jì)算的對(duì)vlb在高可靠性,水平擴(kuò)展,高帶寬方面的需求。為提高vlb服務(wù)的可靠性,往往通過(guò)兩臺(tái)vlb以主備關(guān)系提供服務(wù)。主備vlb之間通過(guò)虛擬路由冗余協(xié)議(vrrp,virtualrouterredundancyprotocol)協(xié)議傳遞心跳信息,當(dāng)備機(jī)發(fā)現(xiàn)主機(jī)宕機(jī),備機(jī)接替主機(jī)繼續(xù)進(jìn)行工作。這種通過(guò)vrrp實(shí)現(xiàn)的主備關(guān)系,在主機(jī)宕機(jī)后,備機(jī)接著工作,主備切換需要一定的時(shí)間,造成切換過(guò)程中流量的中斷。并且,所有的負(fù)載均衡業(yè)務(wù)都要到一個(gè)負(fù)載均衡節(jié)點(diǎn)執(zhí)行負(fù)載均衡,當(dāng)負(fù)載均衡的訪問(wèn)量大的時(shí)候,集中的負(fù)載均衡節(jié)點(diǎn)帶寬會(huì)成為瓶頸,造成業(yè)務(wù)的擁塞和延遲。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種實(shí)現(xiàn)負(fù)載均衡的計(jì)算機(jī)設(shè)備、系統(tǒng)和方法,以解決現(xiàn)有技術(shù)中主備負(fù)載均衡模式因切換造成的業(yè)務(wù)中斷,以及集中式的負(fù)載均衡造成的擁塞的問(wèn)題。
一方面,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)負(fù)載均衡的方法,應(yīng)用于包括至少兩臺(tái)計(jì)算機(jī)設(shè)備的計(jì)算機(jī)系統(tǒng),其中,每臺(tái)計(jì)算機(jī)設(shè)備包括中央處理器和內(nèi)存,所述至少兩臺(tái)計(jì)算機(jī)設(shè)備中包括第一計(jì)算機(jī)設(shè)備和第二計(jì)算機(jī)設(shè)備,所述第一計(jì)算機(jī)設(shè)備作為云管理平臺(tái),所述第二計(jì)算機(jī)設(shè)備運(yùn)行有發(fā)起業(yè)務(wù)的虛擬機(jī),所述業(yè)務(wù)為負(fù)載均衡業(yè)務(wù),包括:
所述第一計(jì)算機(jī)設(shè)備獲得待創(chuàng)建在所述第二計(jì)算機(jī)設(shè)備的負(fù)載均衡器的配置信息,所述負(fù)載均衡器的配置信息包括所述負(fù)載均衡器的標(biāo)識(shí)、所述負(fù)載均衡器的虛擬化ip地址vip,所述負(fù)載均衡器的vip指示所述負(fù)載均衡業(yè)務(wù);
所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡器;
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,所述轉(zhuǎn)發(fā)模式使得所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)起的所述負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文定向轉(zhuǎn)發(fā)到所述負(fù)載均衡器;
所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)根據(jù)所述轉(zhuǎn)發(fā)模式,發(fā)送所述業(yè)務(wù)報(bào)文到所述負(fù)載均衡器;
所述第二計(jì)算機(jī)設(shè)備上的所述負(fù)載均衡器接收到所述業(yè)務(wù)報(bào)文后,選擇至少一個(gè)后端服務(wù)器執(zhí)行所述業(yè)務(wù),所述后端服務(wù)器用于執(zhí)行所述負(fù)載均衡業(yè)務(wù)。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式包括:
所述第一計(jì)算機(jī)設(shè)備配置所述第二計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī),將所述負(fù)載均衡器的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī);
所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)根據(jù)所述轉(zhuǎn)發(fā)模式,發(fā)送所述業(yè)務(wù)報(bào)文到所述負(fù)載均衡器包括:
所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述負(fù)載均衡器的mac地址作為目的地址的所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)根據(jù)所述業(yè)務(wù)報(bào)文的目的地址將所述業(yè)務(wù)報(bào)文發(fā)送到所述負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,在所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述負(fù)載均衡器的mac地址作為目的地址的所述業(yè)務(wù)報(bào)文之前,所述方法還包括:
所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送控制報(bào)文到所述虛擬交換機(jī),所述控制報(bào)文攜帶所述vip;
所述虛擬交換機(jī)向所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述控制報(bào)文的響應(yīng)消息,所述響應(yīng)消息中攜帶所述負(fù)載均衡器的mac地址。
在一種可能的設(shè)計(jì)中,所述控制報(bào)文為地址解析協(xié)議arp報(bào)文或互聯(lián)網(wǎng)控制消息協(xié)議icmp報(bào)文。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,包括:
所述第一計(jì)算機(jī)設(shè)備指示所述負(fù)載均衡器將所述負(fù)載均衡器的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī);或者,
所述第一計(jì)算機(jī)設(shè)備在所述發(fā)起業(yè)務(wù)的虛擬機(jī)上配置所述負(fù)載均衡器的mac地址;
相應(yīng)的,所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)根據(jù)所述轉(zhuǎn)發(fā)模式,發(fā)送所述業(yè)務(wù)報(bào)文到所述負(fù)載均衡器包括:
所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述負(fù)載均衡器的mac地址作為目的地址的所述業(yè)務(wù)報(bào)文,所述第二計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī)根據(jù)所述業(yè)務(wù)報(bào)文的目的地址將所述業(yè)務(wù)報(bào)文發(fā)送到所述負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡器包括:
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建第一臺(tái)發(fā)起所述負(fù)載均衡業(yè)務(wù)的虛擬機(jī)后,創(chuàng)建所述負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,,所述方法還包括:
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建的最后一臺(tái)發(fā)起所述負(fù)載均衡業(yè)務(wù)的虛擬機(jī)被刪除后,刪除所述創(chuàng)建的負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述方法還包括:
所述選擇的后端服務(wù)器將執(zhí)行所述業(yè)務(wù)的結(jié)果直接返回給所述發(fā)起業(yè)務(wù)的虛擬機(jī);或者,
所述選擇的后端服務(wù)器將所述業(yè)務(wù)的執(zhí)行結(jié)果返回給所述負(fù)載均衡器,由所述負(fù)載均衡器將所述執(zhí)行結(jié)果返回給所述發(fā)起業(yè)務(wù)的虛擬機(jī)。
另一方面,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)負(fù)載均衡的方法,應(yīng)用于包括至少三臺(tái)計(jì)算機(jī)設(shè)備的計(jì)算機(jī)系統(tǒng),其中,每臺(tái)計(jì)算機(jī)設(shè)備包括中央處理器和內(nèi)存,所述至少三臺(tái)計(jì)算機(jī)設(shè)備中包括第一計(jì)算機(jī)設(shè)備,所述第一計(jì)算機(jī)設(shè)備作為云管理平臺(tái),所述至少三臺(tái)計(jì)算機(jī)設(shè)備中除所述第一計(jì)算機(jī)設(shè)備之外的計(jì)算機(jī)設(shè)備作為業(yè)務(wù)計(jì)算機(jī)設(shè)備,每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上運(yùn)行有發(fā)起業(yè)務(wù)的虛擬機(jī),所述業(yè)務(wù)為負(fù)載均衡業(yè)務(wù),包括:
所述第一計(jì)算機(jī)設(shè)備分別獲得待創(chuàng)建在每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上的負(fù)載均衡器的配置信息,所述負(fù)載均衡器的配置信息包括所述負(fù)載均衡器的標(biāo)識(shí)、所述負(fù)載均衡器的虛擬化ip地址vip,所述負(fù)載均衡器的vip指示所述負(fù)載均衡業(yè)務(wù);
所述第一計(jì)算機(jī)設(shè)備根據(jù)所述待創(chuàng)建在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備的負(fù)載均衡器的配置信息,在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備的本地負(fù)載均衡器;
所述第一計(jì)算機(jī)設(shè)備在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,所述轉(zhuǎn)發(fā)模式使得所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)起的所述負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文定向轉(zhuǎn)發(fā)到本地的負(fù)載均衡器,以使得所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上的本地的負(fù)載均衡器對(duì)本業(yè)務(wù)計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)起的業(yè)務(wù)報(bào)文進(jìn)行負(fù)載均衡的處理。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式包括:
所述第一計(jì)算機(jī)設(shè)備配置所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī),將本地的負(fù)載均衡器的mac地址發(fā)送給本地的所述發(fā)起業(yè)務(wù)的虛擬機(jī)。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備配置所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī),將所述本地的負(fù)載均衡器的mac地址發(fā)送給本地的所述發(fā)起業(yè)務(wù)的虛擬機(jī)之后還包括:
所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送控制報(bào)文到本地的所述虛擬交換機(jī),所述控制報(bào)文攜帶所述vip;
所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上本地的虛擬交換機(jī)向所述本地的發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述控制報(bào)文的響應(yīng)消息,所述響應(yīng)消息中攜帶所述本地的負(fù)載均衡器的mac地址。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡器之前,還包括:
所述第一計(jì)算機(jī)設(shè)備獲知第一業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建了第一臺(tái)所述發(fā)起業(yè)務(wù)的虛擬機(jī),在所述第一業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建所述第一業(yè)務(wù)計(jì)算機(jī)設(shè)備的負(fù)載均衡器,直至在每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上的本地負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述負(fù)載均衡器包括負(fù)載均衡虛擬機(jī)、負(fù)載均衡容器或負(fù)載均衡的namespace。
另一方面,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)負(fù)載均衡的方法,應(yīng)用于包括至少兩臺(tái)計(jì)算機(jī)設(shè)備的計(jì)算機(jī)系統(tǒng),其中,每臺(tái)計(jì)算機(jī)設(shè)備包括中央處理器和內(nèi)存,所述至少兩臺(tái)計(jì)算機(jī)設(shè)備中包括第一計(jì)算機(jī)設(shè)備和第二計(jì)算機(jī)設(shè)備,所述第一計(jì)算機(jī)設(shè)備作為云管理平臺(tái),所述第二計(jì)算機(jī)設(shè)備運(yùn)行有發(fā)起業(yè)務(wù)的虛擬機(jī),所述業(yè)務(wù)為負(fù)載均衡業(yè)務(wù),包括:
所述第一計(jì)算機(jī)設(shè)備獲得待創(chuàng)建在所述第二計(jì)算機(jī)設(shè)備的負(fù)載均衡器的配置信息,所述負(fù)載均衡器的配置信息包括所述負(fù)載均衡器的標(biāo)識(shí)、所述負(fù)載均衡器的虛擬化ip地址vip,所述負(fù)載均衡器的vip指示所述負(fù)載均衡業(yè)務(wù);
所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡器;
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,所述轉(zhuǎn)發(fā)模式使得所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)起的所述負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文定向轉(zhuǎn)發(fā)到所述負(fù)載均衡器,以使得所述負(fù)載均衡器接收到所述業(yè)務(wù)報(bào)文后,選擇執(zhí)行所述業(yè)務(wù)的后端服務(wù)器。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,包括:
所述第一計(jì)算機(jī)設(shè)備配置所述第二計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī)將所述負(fù)載均衡器的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī),以使得所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述負(fù)載均衡器的mac地址作為目的地址的所述業(yè)務(wù)報(bào)文。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備配置所述第二計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī)將所述負(fù)載均衡器的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī)之后還包括:
所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送控制報(bào)文到所述虛擬交換機(jī),所述控制報(bào)文攜帶所述vip;
所述虛擬交換機(jī)向所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述控制報(bào)文的響應(yīng)消息,所述響應(yīng)消息中攜帶所述負(fù)載均衡器的mac地址。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡包括:
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建第一臺(tái)發(fā)起所述負(fù)載均衡業(yè)務(wù)的虛擬機(jī)后,創(chuàng)建所述負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述方法還包括:
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建的最后一臺(tái)發(fā)起所述負(fù)載均衡業(yè)務(wù)的虛擬機(jī)被刪除后,刪除所述創(chuàng)建的負(fù)載均衡器。
另一方面,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)負(fù)載均衡的計(jì)算機(jī)系統(tǒng),包括至少兩臺(tái)計(jì)算機(jī)設(shè)備,其中,每臺(tái)計(jì)算機(jī)設(shè)備包括中央處理器和內(nèi)存,所述至少兩臺(tái)計(jì)算機(jī)設(shè)備中包括第一計(jì)算機(jī)設(shè)備和第二計(jì)算機(jī)設(shè)備,所述第一計(jì)算機(jī)設(shè)備作為云管理平臺(tái),所述第二計(jì)算機(jī)設(shè)備運(yùn)行有發(fā)起業(yè)務(wù)的虛擬機(jī),所述業(yè)務(wù)為負(fù)載均衡業(yè)務(wù),其中,
所述第一計(jì)算機(jī)設(shè)備獲得待創(chuàng)建在所述第二計(jì)算機(jī)設(shè)備的負(fù)載均衡器的配置信息,所述負(fù)載均衡器的配置信息包括所述負(fù)載均衡器的標(biāo)識(shí)、所述負(fù)載均衡器的虛擬化ip地址vip,所述負(fù)載均衡器的vip指示所述負(fù)載均衡業(yè)務(wù);
所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡器;
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,所述轉(zhuǎn)發(fā)模式使得所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)起的所述負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文定向轉(zhuǎn)發(fā)到所述負(fù)載均衡器;
所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)根據(jù)所述轉(zhuǎn)發(fā)模式,發(fā)送所述業(yè)務(wù)報(bào)文到所述負(fù)載均衡器;
所述第二計(jì)算機(jī)設(shè)備上的所述負(fù)載均衡器接收到所述業(yè)務(wù)報(bào)文后,選擇至少一個(gè)后端服務(wù)器執(zhí)行所述業(yè)務(wù),所述后端服務(wù)器用于執(zhí)行所述負(fù)載均衡業(yè)務(wù)。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式包括:
所述第一計(jì)算機(jī)設(shè)備配置所述第二計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī),將所述負(fù)載均衡器的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī);
所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)根據(jù)所述轉(zhuǎn)發(fā)模式,發(fā)送所述業(yè)務(wù)報(bào)文到所述負(fù)載均衡器包括:
所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述負(fù)載均衡器的mac地址作為目的地址的所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)根據(jù)所述業(yè)務(wù)報(bào)文的目的地址將所述業(yè)務(wù)報(bào)文發(fā)送到所述負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,在所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述負(fù)載均衡器的mac地址作為目的地址的所述業(yè)務(wù)報(bào)文之前,還包括:
所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送控制報(bào)文到所述虛擬交換機(jī),所述控制報(bào)文攜帶所述vip;
所述虛擬交換機(jī)向所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述控制報(bào)文的響應(yīng)消息,所述響應(yīng)消息中攜帶所述負(fù)載均衡器的mac地址。
在一種可能的設(shè)計(jì)中,所述控制報(bào)文為地址解析協(xié)議arp報(bào)文或互聯(lián)網(wǎng)控制消息協(xié)議icmp報(bào)文。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,包括:
所述第一計(jì)算機(jī)設(shè)備指示所述負(fù)載均衡器將所述負(fù)載均衡器的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī);或者,
所述第一計(jì)算機(jī)設(shè)備在所述發(fā)起業(yè)務(wù)的虛擬機(jī)上配置所述負(fù)載均衡器的mac地址;
相應(yīng)的,所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)根據(jù)所述轉(zhuǎn)發(fā)模式,發(fā)送所述業(yè)務(wù)報(bào)文到所述負(fù)載均衡器包括:
所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述負(fù)載均衡器的mac地址作為目的地址的所述業(yè)務(wù)報(bào)文,所述第二計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī)根據(jù)所述業(yè)務(wù)報(bào)文的目的地址將所述業(yè)務(wù)報(bào)文發(fā)送到所述負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡器包括:
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建第一臺(tái)發(fā)起所述負(fù)載均衡業(yè)務(wù)的虛擬機(jī)后,創(chuàng)建所述負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建的最后一臺(tái)發(fā)起所述負(fù)載均衡業(yè)務(wù)的虛擬機(jī)被刪除后,刪除所述創(chuàng)建的負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述選擇的后端服務(wù)器將執(zhí)行所述業(yè)務(wù)的結(jié)果直接返回給所述發(fā)起業(yè)務(wù)的虛擬機(jī);或者,
所述選擇的后端服務(wù)器將所述業(yè)務(wù)的執(zhí)行結(jié)果返回給所述負(fù)載均衡器,由所述負(fù)載均衡器將所述執(zhí)行結(jié)果返回給所述發(fā)起業(yè)務(wù)的虛擬機(jī)。
另一方面,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)負(fù)載均衡的計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括至少三臺(tái)計(jì)算機(jī)設(shè)備,其中,每臺(tái)計(jì)算機(jī)設(shè)備包括中央處理器和內(nèi)存,所述至少三臺(tái)計(jì)算機(jī)設(shè)備中包括第一計(jì)算機(jī)設(shè)備,所述第一計(jì)算機(jī)設(shè)備作為云管理平臺(tái),所述至少三臺(tái)計(jì)算機(jī)設(shè)備中除所述第一計(jì)算機(jī)設(shè)備之外的計(jì)算機(jī)設(shè)備作為業(yè)務(wù)計(jì)算機(jī)設(shè)備,每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上運(yùn)行有發(fā)起業(yè)務(wù)的虛擬機(jī),所述業(yè)務(wù)為負(fù)載均衡業(yè)務(wù),其中,
所述第一計(jì)算機(jī)設(shè)備分別獲得待創(chuàng)建在每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上的負(fù)載均衡器的配置信息,所述負(fù)載均衡器的配置信息包括所述負(fù)載均衡器的標(biāo)識(shí)、所述負(fù)載均衡器的虛擬化ip地址vip,所述負(fù)載均衡器的vip指示所述負(fù)載均衡業(yè)務(wù);
所述第一計(jì)算機(jī)設(shè)備根據(jù)所述待創(chuàng)建在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備的負(fù)載均衡器的配置信息,在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備的本地負(fù)載均衡器;
所述第一計(jì)算機(jī)設(shè)備在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,所述轉(zhuǎn)發(fā)模式使得所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)起的所述負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文定向轉(zhuǎn)發(fā)到本地的負(fù)載均衡器,以使得所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上的本地的負(fù)載均衡器對(duì)本業(yè)務(wù)計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)起的業(yè)務(wù)報(bào)文進(jìn)行負(fù)載均衡的處理。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式包括:
所述第一計(jì)算機(jī)設(shè)備配置所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī),將本地的負(fù)載均衡器的mac地址發(fā)送給本地的所述發(fā)起業(yè)務(wù)的虛擬機(jī)。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備配置所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī),將所述本地的負(fù)載均衡器的mac地址發(fā)送給本地的所述發(fā)起業(yè)務(wù)的虛擬機(jī)之后還包括:
所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送控制報(bào)文到本地的所述虛擬交換機(jī),所述控制報(bào)文攜帶所述vip;
所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上本地的虛擬交換機(jī)向所述本地的發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述控制報(bào)文的響應(yīng)消息,所述響應(yīng)消息中攜帶所述本地的負(fù)載均衡器的mac地址。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡器之前,還包括:
所述第一計(jì)算機(jī)設(shè)備獲知第一業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建了第一臺(tái)所述發(fā)起業(yè)務(wù)的虛擬機(jī),在所述第一業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建所述第一業(yè)務(wù)計(jì)算機(jī)設(shè)備的負(fù)載均衡器,直至在每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上創(chuàng)建所述每臺(tái)業(yè)務(wù)計(jì)算機(jī)設(shè)備上的本地負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述負(fù)載均衡器包括負(fù)載均衡虛擬機(jī)、負(fù)載均衡容器或負(fù)載均衡的namespace。
另一方面,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)負(fù)載均衡的計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括至少兩臺(tái)計(jì)算機(jī)設(shè)備,其中,每臺(tái)計(jì)算機(jī)設(shè)備包括中央處理器和內(nèi)存,所述至少兩臺(tái)計(jì)算機(jī)設(shè)備中包括第一計(jì)算機(jī)設(shè)備和第二計(jì)算機(jī)設(shè)備,所述第一計(jì)算機(jī)設(shè)備作為云管理平臺(tái),所述第二計(jì)算機(jī)設(shè)備運(yùn)行有發(fā)起業(yè)務(wù)的虛擬機(jī),所述業(yè)務(wù)為負(fù)載均衡業(yè)務(wù),其中,
所述第一計(jì)算機(jī)設(shè)備獲得待創(chuàng)建在所述第二計(jì)算機(jī)設(shè)備的負(fù)載均衡器的配置信息,所述負(fù)載均衡器的配置信息包括所述負(fù)載均衡器的標(biāo)識(shí)、所述負(fù)載均衡器的虛擬化ip地址vip,所述負(fù)載均衡器的vip指示所述負(fù)載均衡業(yè)務(wù);
所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡器;
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,所述轉(zhuǎn)發(fā)模式使得所述第二計(jì)算機(jī)設(shè)備上的所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)起的所述負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文定向轉(zhuǎn)發(fā)到所述負(fù)載均衡器,以使得所述負(fù)載均衡器接收到所述業(yè)務(wù)報(bào)文后,選擇執(zhí)行所述業(yè)務(wù)的后端服務(wù)器。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,包括:
所述第一計(jì)算機(jī)設(shè)備配置所述第二計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī)將所述負(fù)載均衡器的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī),以使得所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述負(fù)載均衡器的mac地址作為目的地址的所述業(yè)務(wù)報(bào)文。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備配置所述第二計(jì)算機(jī)設(shè)備上部署的虛擬交換機(jī)將所述負(fù)載均衡器的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī)之后還包括:
所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送控制報(bào)文到所述虛擬交換機(jī),所述控制報(bào)文攜帶所述vip;
所述虛擬交換機(jī)向所述發(fā)起業(yè)務(wù)的虛擬機(jī)發(fā)送所述控制報(bào)文的響應(yīng)消息,所述響應(yīng)消息中攜帶所述負(fù)載均衡器的mac地址。
在一種可能的設(shè)計(jì)中,所述第一計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡包括:
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建第一臺(tái)發(fā)起所述負(fù)載均衡業(yè)務(wù)的虛擬機(jī)后,創(chuàng)建所述負(fù)載均衡器。
在一種可能的設(shè)計(jì)中,所述方法還包括:
所述第一計(jì)算機(jī)設(shè)備在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建的最后一臺(tái)發(fā)起所述負(fù)載均衡業(yè)務(wù)的虛擬機(jī)被刪除后,刪除所述創(chuàng)建的負(fù)載均衡器。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例的第一方面提供了一種計(jì)算機(jī)設(shè)備,包括中央處理器cpu、內(nèi)存和存儲(chǔ)設(shè)備,所述計(jì)算機(jī)設(shè)備中還包括第一虛擬機(jī)、負(fù)載均衡虛擬機(jī)和虛擬交換機(jī),所述第一虛擬機(jī)和所述負(fù)載均衡虛擬機(jī)是在所述計(jì)算機(jī)設(shè)備中創(chuàng)建的虛擬機(jī);
所述第一虛擬機(jī),用于發(fā)送業(yè)務(wù)報(bào)文;
所述虛擬交換機(jī),用于接收所述第一虛擬機(jī)發(fā)送的所述業(yè)務(wù)報(bào)文,在所述業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述負(fù)載均衡虛擬機(jī);
所述負(fù)載均衡虛擬機(jī),用于接收所述虛擬交換機(jī)轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文。
所述負(fù)載均衡虛擬機(jī)基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文可以是:所述負(fù)載均衡虛擬機(jī)在收到業(yè)務(wù)報(bào)文后,首先判斷是否已經(jīng)為所述業(yè)務(wù)報(bào)文分配了一個(gè)后端服務(wù)器為其服務(wù),如果已經(jīng)分配了后端服務(wù)器,則將該業(yè)務(wù)報(bào)文發(fā)送給已經(jīng)分配的后端服務(wù)器。如果還沒(méi)有分配后端服務(wù)器,則通過(guò)負(fù)載均衡算法,選擇一個(gè)后端服務(wù)器為其服務(wù)。所述負(fù)載均衡算法包括但不限于:輪詢、加權(quán)輪詢、隨機(jī)、最小連接或源地散列,基于位置優(yōu)先的加權(quán)輪詢等。所述位置優(yōu)先的加權(quán)輪詢方式,可以優(yōu)先選擇在發(fā)起業(yè)務(wù)報(bào)文的虛擬機(jī)所在的計(jì)算機(jī)設(shè)備中的后端服務(wù)器,這樣能夠節(jié)省后端服務(wù)器處理業(yè)務(wù)報(bào)文的速度,節(jié)省網(wǎng)絡(luò)帶寬。
結(jié)合第一方面,本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式中,所述虛擬交換機(jī)只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述負(fù)載均衡虛擬機(jī)包括:
所述虛擬交換機(jī)將所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī);或,
所述負(fù)載均衡虛擬機(jī)將其mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述負(fù)載均衡虛擬機(jī)mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī);或,
所述第一虛擬機(jī)基于預(yù)先配置的所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī)。
結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第一方面的第二種可能的實(shí)現(xiàn)方式中,所述虛擬交換機(jī)將所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)包括:
所述虛擬交換機(jī)接收所述第一虛擬機(jī)發(fā)送的控制報(bào)文,向所述第一虛擬機(jī)返回控制響應(yīng)報(bào)文,所述控制響應(yīng)報(bào)文包含所述負(fù)載均衡虛擬機(jī)的mac地址。即所述虛擬交換機(jī)可以根據(jù)配置的轉(zhuǎn)發(fā)模式對(duì)所述第一虛擬機(jī)的業(yè)務(wù)報(bào)文進(jìn)行定向處理,使得所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)。
結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第一方面的第三種可能的實(shí)現(xiàn)方式中,所述控制報(bào)文為地址解析協(xié)議arp報(bào)文或互聯(lián)網(wǎng)控制消息協(xié)議icmp報(bào)文。例如所述控制報(bào)文可以是地址解析協(xié)議arp報(bào)文,所述轉(zhuǎn)發(fā)模式可以是arp代答模式,所述第一虛擬機(jī)可以通過(guò)arp代答模式將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)。可選的,當(dāng)控制報(bào)文是icmp報(bào)文時(shí),所述轉(zhuǎn)發(fā)模式也可以是鄰居發(fā)現(xiàn)協(xié)議ndp代答模式。
結(jié)合第一方面、第一方面的第一種、第二種或第三種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式中,所述計(jì)算機(jī)設(shè)備還包括虛擬負(fù)載均衡代理單元;
所述虛擬負(fù)載均衡代理單元,用于接收創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,控制所述負(fù)載均衡虛擬機(jī)的創(chuàng)建或刪除,以及控制所述負(fù)載均衡虛擬機(jī)與所述虛擬交換機(jī)之間連接的建立。
所述虛擬負(fù)載均衡代理單元在指示所述虛擬機(jī)管理單元根據(jù)所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)時(shí),向所述虛擬機(jī)管理單元發(fā)送通知信息,所述通知信息包括創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)的虛擬機(jī)參數(shù)信息,所述第一負(fù)載均衡虛擬機(jī)的虛擬機(jī)參數(shù)信息包括但不限于:虛擬中央處理器的個(gè)數(shù),虛擬內(nèi)存的大小,以及所述負(fù)載均衡虛擬機(jī)所在的邏輯網(wǎng)絡(luò)等信息。
上述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,是用戶通過(guò)云管理平臺(tái)(所述第二計(jì)算機(jī)設(shè)備)下發(fā)的,所述配置信息包括但不限于:負(fù)載均衡虛擬機(jī)的標(biāo)識(shí),負(fù)載均衡虛擬機(jī)的ip地址,以及與該負(fù)載均衡虛擬機(jī)相關(guān)的后端服務(wù)器的信息。所述后端服務(wù)器的信息包括但不限于:后端服務(wù)器的標(biāo)識(shí),后端服務(wù)器的網(wǎng)絡(luò)間互連協(xié)議(ip,internetprotocol)地址,后端服務(wù)器健康檢查的方法等。其中,后端服務(wù)器的健康檢查方法是指負(fù)載均衡虛擬機(jī)通過(guò)檢查后端服務(wù)器的健康狀態(tài)的方法。上述后端服務(wù)器是提供具體業(yè)務(wù)的服務(wù)器,負(fù)載均衡虛擬機(jī)根據(jù)接收到的業(yè)務(wù)報(bào)文,通過(guò)負(fù)載均衡算法等負(fù)載均衡方式在后端服務(wù)器中選擇一個(gè),作為處理所述業(yè)務(wù)報(bào)文的服務(wù)器。本發(fā)明實(shí)施例中,后端服務(wù)器可以是一個(gè)虛擬機(jī),也可以是一個(gè)具體的物理服務(wù)器。
可選的,在所述第一虛擬機(jī)是創(chuàng)建所述負(fù)載均衡虛擬機(jī)配置信息的用戶創(chuàng)建的虛擬機(jī)時(shí),并且第一虛擬機(jī)是所述用戶在所述第一計(jì)算機(jī)設(shè)備上創(chuàng)建的第一個(gè)虛擬機(jī)時(shí),所述第一虛擬負(fù)載均衡代理單元啟動(dòng)所述負(fù)載均衡虛擬機(jī)的創(chuàng)建。同樣的,當(dāng)已經(jīng)配置了虛擬負(fù)載均衡業(yè)務(wù)的用戶配置的最后一個(gè)虛擬機(jī)被刪除時(shí),所述第一虛擬負(fù)載均衡代理單元啟動(dòng)所述負(fù)載均衡虛擬機(jī)的刪除。
結(jié)合第一方面、第一方面的第一種、第二種、第三種或第四種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第一方面的第五種可能的實(shí)現(xiàn)方式中,所述計(jì)算機(jī)設(shè)備還包括第二虛擬機(jī),所述第二虛擬機(jī)具備處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文的能力;
在所述負(fù)載均衡虛擬機(jī)通過(guò)負(fù)載均衡算法確定所述第二虛擬機(jī)處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文時(shí),所述第二虛擬機(jī)接收所述負(fù)載均衡服務(wù)器轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,并將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述負(fù)載均衡虛擬機(jī);
所述負(fù)載均衡虛擬機(jī),還用于將所述第二虛擬機(jī)處理所述業(yè)務(wù)報(bào)文的結(jié)果通過(guò)所述虛擬交換機(jī)發(fā)送給所述第一虛擬機(jī)。
本發(fā)明實(shí)施例的第二方面提供了一種計(jì)算機(jī)系統(tǒng),包括第一計(jì)算機(jī)設(shè)備和第二計(jì)算機(jī)設(shè)備,其中,所述第一計(jì)算機(jī)設(shè)備和所述第二計(jì)算機(jī)設(shè)備分別包括中央處理器cpu、內(nèi)存和存儲(chǔ)設(shè)備,所述第一計(jì)算機(jī)設(shè)備中還包括第一虛擬機(jī)、第一負(fù)載均衡虛擬機(jī)和第一虛擬交換機(jī),所述第一虛擬機(jī)和所述第一負(fù)載均衡虛擬機(jī)是在所述第一計(jì)算機(jī)設(shè)備中創(chuàng)建的虛擬機(jī);
所述第一虛擬機(jī),用于發(fā)送業(yè)務(wù)報(bào)文;
所述第一虛擬交換機(jī),用于接收所述第一虛擬機(jī)發(fā)送的所述業(yè)務(wù)報(bào)文,在所述業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述第一負(fù)載均衡虛擬機(jī);
所述第一負(fù)載均衡虛擬機(jī),用于接收所述第一虛擬交換機(jī)轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文。
所述第一負(fù)載均衡虛擬機(jī)基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文可以是:所述第一負(fù)載均衡虛擬機(jī)在收到業(yè)務(wù)報(bào)文后,首先判斷是否已經(jīng)為所述業(yè)務(wù)報(bào)文分配了一個(gè)后端服務(wù)器為其服務(wù),如果已經(jīng)分配了后端服務(wù)器,則將該業(yè)務(wù)報(bào)文發(fā)送給已經(jīng)分配的后端服務(wù)器。如果還沒(méi)有分配后端服務(wù)器,則通過(guò)負(fù)載均衡算法,選擇一個(gè)后端服務(wù)器為其服務(wù)。所述負(fù)載均衡算法包括但不限于:輪詢、加權(quán)輪詢、隨機(jī)、最小連接或源地散列,基于位置優(yōu)先的加權(quán)輪詢等。所述位置優(yōu)先的加權(quán)輪詢方式,可以優(yōu)先選擇在發(fā)起業(yè)務(wù)報(bào)文的虛擬機(jī)所在的計(jì)算機(jī)設(shè)備中的后端服務(wù)器,這樣能夠節(jié)省后端服務(wù)器處理業(yè)務(wù)報(bào)文的速度,節(jié)省網(wǎng)絡(luò)帶寬。
上述第二計(jì)算機(jī)設(shè)備可以是所述計(jì)算機(jī)系統(tǒng)中的云平臺(tái)管理設(shè)備,實(shí)現(xiàn)對(duì)所述第一計(jì)算機(jī)設(shè)備的管理和配置,包括對(duì)所述第一計(jì)算機(jī)設(shè)備中的虛擬機(jī)進(jìn)行配置和管理。
結(jié)合第二方面,本發(fā)明實(shí)施例第二方面的第一種可能的實(shí)現(xiàn)方式中,所述第一虛擬交換機(jī)只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述第一負(fù)載均衡虛擬機(jī)包括:
所述第一虛擬交換機(jī)將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī);或,
所述第一負(fù)載均衡虛擬機(jī)將其mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī);或,
所述第一虛擬機(jī)基于預(yù)先配置的所述第一負(fù)載均衡虛擬機(jī)的mac地址,發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第二種可能的實(shí)現(xiàn)方式中,
所述第一虛擬交換機(jī)將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)包括:所述第一虛擬交換機(jī)接收所述第一虛擬機(jī)發(fā)送的控制報(bào)文,向所述第一虛擬機(jī)返回控制響應(yīng)報(bào)文,所述控制響應(yīng)報(bào)文包含所述第一負(fù)載均衡虛擬機(jī)的mac地址。即可通過(guò)虛擬機(jī)管理單元配置所述第一虛擬交換機(jī)的轉(zhuǎn)發(fā)模式,所述第一虛擬交換機(jī)根據(jù)配置的轉(zhuǎn)發(fā)模式對(duì)所述第一虛擬機(jī)的業(yè)務(wù)報(bào)文進(jìn)行定向處理,使得所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)。
結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第三種可能的實(shí)現(xiàn)方式中,所述控制報(bào)文為地址解析協(xié)議arp報(bào)文或互聯(lián)網(wǎng)控制消息協(xié)議icmp報(bào)文。例如所述控制報(bào)文可以是地址解析協(xié)議arp報(bào)文,所述轉(zhuǎn)發(fā)模式可以是arp代答模式,所述第一虛擬機(jī)可以通過(guò)arp代答模式將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)。可選的,當(dāng)控制報(bào)文是icmp報(bào)文時(shí),所述轉(zhuǎn)發(fā)模式也可以是鄰居發(fā)現(xiàn)協(xié)議ndp代答模式。
結(jié)合第二方面、第二方面的第一種、第二種或第三種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第四種可能的實(shí)現(xiàn)方式中,所述第一計(jì)算機(jī)設(shè)備還包括第一虛擬負(fù)載均衡代理單元,所述第二計(jì)算機(jī)設(shè)備還包括虛擬負(fù)載均衡管理單元和虛擬機(jī)管理單元;
所述虛擬負(fù)載均衡管理單元,用于接收創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)的配置信息,并將所述創(chuàng)建第一負(fù)載均衡虛擬機(jī)的配置信息發(fā)送給所述第一虛擬負(fù)載均衡代理單元;所述第一虛擬負(fù)載均衡代理單元,用于接收所述創(chuàng)建第一負(fù)載均衡虛擬機(jī)的配置信息,指示所述虛擬機(jī)管理單元根據(jù)所述創(chuàng)建第一負(fù)載均衡虛擬機(jī)的配置信息創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)。
所述第一虛擬負(fù)載均衡代理單元在指示所述虛擬機(jī)管理單元根據(jù)所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)時(shí),向所述虛擬機(jī)管理單元發(fā)送通知信息,所述通知信息包括創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)的虛擬機(jī)參數(shù)信息,所述第一負(fù)載均衡虛擬機(jī)的虛擬機(jī)參數(shù)信息包括但不限于:虛擬中央處理器的個(gè)數(shù),虛擬內(nèi)存的大小,以及所述負(fù)載均衡虛擬機(jī)所在的邏輯網(wǎng)絡(luò)等信息。
可選的,所述虛擬負(fù)載均衡管理單元也可以直接指示所述虛擬機(jī)管理單元根據(jù)所述創(chuàng)建第一負(fù)載均衡虛擬機(jī)的配置信息創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)。
上述創(chuàng)建第一負(fù)載均衡虛擬機(jī)的配置信息,是用戶通過(guò)云管理平臺(tái)(所述第二計(jì)算機(jī)設(shè)備)下發(fā)的,所述配置信息包括但不限于:負(fù)載均衡虛擬機(jī)的標(biāo)識(shí),負(fù)載均衡虛擬機(jī)的ip地址,以及與該負(fù)載均衡虛擬機(jī)相關(guān)的后端服務(wù)器的信息。所述后端服務(wù)器的信息包括但不限于:后端服務(wù)器的標(biāo)識(shí),后端服務(wù)器的網(wǎng)絡(luò)間互連協(xié)議(ip,internetprotocol)地址,后端服務(wù)器健康檢查的方法等。其中,后端服務(wù)器的健康檢查方法是指負(fù)載均衡虛擬機(jī)通過(guò)檢查后端服務(wù)器的健康狀態(tài)的方法。上述后端服務(wù)器是提供具體業(yè)務(wù)的服務(wù)器,負(fù)載均衡虛擬機(jī)根據(jù)接收到的業(yè)務(wù)報(bào)文,通過(guò)負(fù)載均衡算法等負(fù)載均衡方式在后端服務(wù)器中選擇一個(gè),作為處理所述業(yè)務(wù)報(bào)文的服務(wù)器。本發(fā)明實(shí)施例中,后端服務(wù)器可以是一個(gè)虛擬機(jī),也可以是一個(gè)具體的物理服務(wù)器。
結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第五種可能的實(shí)現(xiàn)方式中,所述第一虛擬負(fù)載均衡代理單元,還用于指示所述虛擬機(jī)管理單元為所述第一負(fù)載均衡虛擬機(jī)配置第一虛擬網(wǎng)卡并建立所述第一虛擬網(wǎng)卡與所述第一虛擬交換機(jī)之間的連接。其中,所述虛擬機(jī)管理單元建立所述第一虛擬網(wǎng)卡與所述第一虛擬交換機(jī)之間的連接可以通過(guò)配置虛擬交換機(jī)的網(wǎng)絡(luò)標(biāo)識(shí)來(lái)實(shí)現(xiàn),所述網(wǎng)絡(luò)標(biāo)識(shí)是虛擬交換機(jī)的網(wǎng)絡(luò)接口的標(biāo)識(shí)。并且,所述虛擬機(jī)管理單元根據(jù)所述第一虛擬負(fù)載均衡代理單元的指示建立所述第一虛擬網(wǎng)卡時(shí),還可以根據(jù)所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,為創(chuàng)建的所述第一虛擬網(wǎng)卡分配ip地址和mac地址。
結(jié)合第二方面的第四種或第五種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第六種可能的實(shí)現(xiàn)方式中,所述第一虛擬機(jī)是創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)配置信息的用戶創(chuàng)建的虛擬機(jī);所述虛擬負(fù)載均衡管理單元,還用于接收創(chuàng)建所述第一虛擬機(jī)的配置信息,并在判斷所述第一虛擬機(jī)是所述用戶在所述第一計(jì)算機(jī)設(shè)備上創(chuàng)建的第一個(gè)虛擬機(jī)時(shí),將創(chuàng)建所述第一虛擬機(jī)的信息通知所述第一虛擬負(fù)載均衡代理單元;所述第一虛擬負(fù)載均衡代理單元,用于在接收到所述虛擬負(fù)載均衡管理單元發(fā)送的創(chuàng)建所述第一虛擬機(jī)的通知時(shí),指示所述虛擬機(jī)管理單元?jiǎng)?chuàng)建所述第一負(fù)載均衡虛擬機(jī)。所述虛擬負(fù)載均衡管理單元也可以直接通知所述虛擬機(jī)管理單元?jiǎng)?chuàng)建所述第一負(fù)載均衡虛擬機(jī)。
同樣的,當(dāng)已經(jīng)配置了虛擬負(fù)載均衡業(yè)務(wù)的用戶配置的最后一個(gè)虛擬機(jī)被刪除時(shí),所述虛擬負(fù)載均衡管理單元通知所述第一虛擬負(fù)載均衡代理單元指示所述虛擬機(jī)管理單元?jiǎng)h除所述第一負(fù)載均衡虛擬機(jī),或直接通知所述虛擬機(jī)管理單元?jiǎng)h除所述第一負(fù)載均衡虛擬機(jī)。
結(jié)合第二方面、第二方面的第一種至第六種任一可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第七種可能的實(shí)現(xiàn)方式中,所述第一計(jì)算機(jī)設(shè)備還包括第二虛擬機(jī),所述第二虛擬機(jī)具備處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文的能力;
在所述第一負(fù)載均衡虛擬機(jī)通過(guò)負(fù)載均衡方式確定所述第二虛擬機(jī)處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文時(shí),所述第二虛擬機(jī)接收所述第一負(fù)載均衡虛擬機(jī)轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,并將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述第一負(fù)載均衡虛擬機(jī);
所述第一負(fù)載均衡虛擬機(jī),還用于將所述第二虛擬機(jī)處理所述業(yè)務(wù)報(bào)文的結(jié)果通過(guò)所述第一虛擬交換機(jī)發(fā)送給所述第一虛擬機(jī)。
結(jié)合第二方面、第二方面的第一種至第七種任一可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第八種可能的實(shí)現(xiàn)方式中,所述計(jì)算機(jī)系統(tǒng)還包括第三計(jì)算機(jī)設(shè)備,所述第三計(jì)算機(jī)設(shè)備包括第二虛擬負(fù)載均衡代理單元、第二虛擬交換機(jī)和第三虛擬機(jī);
所述第二虛擬負(fù)載均衡代理單元,用于接收所述虛擬負(fù)載均衡管理單元發(fā)送的創(chuàng)建第二負(fù)載均衡虛擬機(jī)的配置信息,基于所述創(chuàng)建第二負(fù)載均衡虛擬機(jī)的配置信息,指示所述虛擬機(jī)管理單元?jiǎng)?chuàng)建所述第二負(fù)載均衡虛擬機(jī),以及指示所述虛擬機(jī)管理單元為所述第二負(fù)載均衡虛擬機(jī)配置第二虛擬網(wǎng)卡并建立所述第二虛擬網(wǎng)卡與所述第二虛擬交換機(jī)之間的連接;
所述第二虛擬交換機(jī),用于接收所述第三虛擬機(jī)發(fā)起的第二業(yè)務(wù)報(bào)文,在所述第二業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述第二業(yè)務(wù)報(bào)文給所述第二負(fù)載均衡虛擬機(jī);
所述第二負(fù)載均衡虛擬機(jī),用于接收所述第二虛擬交換機(jī)轉(zhuǎn)發(fā)的所述第二業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述第二業(yè)務(wù)報(bào)文。
結(jié)合第二方面的第八種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第九種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)管理單元為所述第一負(fù)載均衡虛擬機(jī)配置第一ip地址和第一mac地址,以及為所述第二負(fù)載均衡虛擬機(jī)配置第二ip地址和第二mac地址;其中,所述第一ip地址與所述第二ip地址相同,或所述第一mac地址與所述第二mac地址相同。
可選的,所述第一計(jì)算機(jī)設(shè)備除包括中央處理器cpu、內(nèi)存和存儲(chǔ)設(shè)備之外,還可以包括網(wǎng)絡(luò)硬件等硬件設(shè)備;網(wǎng)絡(luò)硬件可以是交換設(shè)備(網(wǎng)卡等)、路由器和/或其他網(wǎng)絡(luò)設(shè)備,用于實(shí)現(xiàn)多個(gè)設(shè)備之間的通信,多個(gè)設(shè)備之間可以通過(guò)無(wú)線或有線方式連接連接。
結(jié)合第二方面、第二方面的第一種至第九種任一可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第二方面的第十種可能的實(shí)現(xiàn)方式中,所述第二計(jì)算機(jī)設(shè)備還包括虛擬負(fù)載均衡存儲(chǔ)設(shè)備,用于存儲(chǔ)創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息。所述虛擬負(fù)載均衡存儲(chǔ)設(shè)備可以是所述第二計(jì)算機(jī)設(shè)備中的存儲(chǔ)設(shè)備,也可以是獨(dú)立與所述第二計(jì)算機(jī)設(shè)備的存儲(chǔ)設(shè)備。
本發(fā)明實(shí)施例的第三方面提供了一種計(jì)算機(jī)系統(tǒng),包括第一計(jì)算機(jī)設(shè)備、第二計(jì)算機(jī)設(shè)備和第三計(jì)算機(jī)設(shè)備,其中,所述第一計(jì)算機(jī)設(shè)備、第二計(jì)算機(jī)設(shè)備和第三計(jì)算機(jī)設(shè)備分別包括中央處理器cpu、內(nèi)存和存儲(chǔ)設(shè)備,所述第二計(jì)算機(jī)設(shè)備對(duì)所述第一計(jì)算機(jī)設(shè)備和所述第三計(jì)算機(jī)設(shè)備上的虛擬機(jī)進(jìn)行配置和管理,所述第一計(jì)算機(jī)設(shè)備包含第一虛擬交換機(jī),所述第三計(jì)算機(jī)設(shè)備包含第二虛擬交換機(jī),所述第二計(jì)算機(jī)設(shè)備,用于接收在所述第一計(jì)算機(jī)設(shè)備上創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,在所述第一計(jì)算機(jī)設(shè)備中創(chuàng)建第一負(fù)載均衡虛擬機(jī),并建立所述第一負(fù)載均衡虛擬機(jī)與所述第一虛擬交換機(jī)的連接;以及接收在所述第三計(jì)算機(jī)設(shè)備上創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,在所述第三計(jì)算機(jī)設(shè)備中創(chuàng)建第二負(fù)載均衡虛擬機(jī),并建立所述第二負(fù)載均衡虛擬機(jī)與所述第二虛擬交換機(jī)的連接;
所述第一虛擬交換機(jī),用于接收所述第一計(jì)算機(jī)設(shè)備中的第一虛擬機(jī)發(fā)送的第一業(yè)務(wù)報(bào)文,在所述第一業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述第一業(yè)務(wù)報(bào)文給所述第一負(fù)載均衡虛擬機(jī);
所述第二虛擬交換機(jī),用于接收所述第三計(jì)算機(jī)設(shè)備中的第二虛擬機(jī)發(fā)送的第二業(yè)務(wù)報(bào)文,在所述第二業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述第二業(yè)務(wù)報(bào)文給所述第二負(fù)載均衡虛擬機(jī)。
結(jié)合第三方面,本發(fā)明實(shí)施例第三方面的第一種可能的實(shí)現(xiàn)方式中,所述第一虛擬交換機(jī)只轉(zhuǎn)發(fā)所述第一業(yè)務(wù)報(bào)文給所述第一負(fù)載均衡虛擬機(jī)包括:
所述第一虛擬交換機(jī)將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī);或,
所述第一負(fù)載均衡虛擬機(jī)將其mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī);或,
所述第一虛擬機(jī)基于預(yù)先配置的所述第一負(fù)載均衡虛擬機(jī)的mac地址,發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)。
結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第三方面的第二種可能的實(shí)現(xiàn)方式中,所述第一虛擬交換機(jī)將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)包括:
所述第一虛擬交換機(jī)接收所述第一虛擬機(jī)發(fā)送的控制報(bào)文,向所述第一虛擬機(jī)返回控制響應(yīng)報(bào)文,所述控制響應(yīng)報(bào)文包含所述第一負(fù)載均衡虛擬機(jī)的mac地址。即可通過(guò)虛擬機(jī)管理單元配置所述第一虛擬交換機(jī)的轉(zhuǎn)發(fā)模式,所述第一虛擬交換機(jī)根據(jù)配置的轉(zhuǎn)發(fā)模式對(duì)所述第一虛擬機(jī)的業(yè)務(wù)報(bào)文進(jìn)行定向處理,使得所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)。
結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第三方面的第三種可能的實(shí)現(xiàn)方式中,所述控制報(bào)文為地址解析協(xié)議arp報(bào)文或互聯(lián)網(wǎng)控制消息協(xié)議icmp報(bào)文。例如所述控制報(bào)文可以是地址解析協(xié)議arp報(bào)文,所述轉(zhuǎn)發(fā)模式可以是arp代答模式,所述第一虛擬機(jī)可以通過(guò)arp代答模式將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)??蛇x的,當(dāng)控制報(bào)文是icmp報(bào)文時(shí),所述轉(zhuǎn)發(fā)模式也可以是鄰居發(fā)現(xiàn)協(xié)議ndp代答模式。
結(jié)合第三方面,第三方面的第一種至第三種任一可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第三方面的第四種可能的實(shí)現(xiàn)方式中,所述第一計(jì)算機(jī)設(shè)備還包括第二虛擬機(jī),所述第二虛擬機(jī)具備處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文的能力;
在所述第一負(fù)載均衡虛擬機(jī)通過(guò)負(fù)載均衡方式確定所述第二虛擬機(jī)處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文時(shí),所述第二虛擬機(jī)接收所述第一負(fù)載均衡服務(wù)器轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,并將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述第一負(fù)載均衡虛擬機(jī);
所述第一負(fù)載均衡虛擬機(jī),還用于將所述第二虛擬機(jī)處理所述業(yè)務(wù)報(bào)文的結(jié)果通過(guò)所述第一虛擬交換機(jī)發(fā)送給所述第一虛擬機(jī)。
結(jié)合第三方面,第三方面的第一種至第四種任一可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第三方面的第五種可能的實(shí)現(xiàn)方式中,
所述第一負(fù)載均衡虛擬機(jī)的ip地址與所述第二負(fù)載均衡虛擬機(jī)的ip地址相同;或,
所述第一負(fù)載均衡虛擬機(jī)的mac地址與所述第二負(fù)載均衡虛擬機(jī)的mac地址相同。
第四方面,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)負(fù)載均衡的方法,包括:
第二計(jì)算機(jī)設(shè)備接收在第一計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡虛擬機(jī)的配置信息,所述第一計(jì)算機(jī)設(shè)備包括中央處理器cpu、內(nèi)存和存儲(chǔ)設(shè)備,所述第一計(jì)算機(jī)設(shè)備還包括第一虛擬機(jī)和虛擬交換機(jī);
所述第二計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第一計(jì)算機(jī)設(shè)備上創(chuàng)建負(fù)載均衡虛擬機(jī),并建立所述負(fù)載均衡虛擬機(jī)與所述第一計(jì)算機(jī)設(shè)備中的虛擬交換機(jī)的連接;
所述虛擬交換機(jī)接收所述第一虛擬機(jī)發(fā)送的業(yè)務(wù)報(bào)文,在所述業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述負(fù)載均衡虛擬機(jī);
所述負(fù)載均衡虛擬機(jī)接收所述第一虛擬交換機(jī)轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文。
所述負(fù)載均衡虛擬機(jī)基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文可以是:所述負(fù)載均衡虛擬機(jī)在收到業(yè)務(wù)報(bào)文后,首先判斷是否已經(jīng)為所述業(yè)務(wù)報(bào)文分配了一個(gè)后端服務(wù)器為其服務(wù),如果已經(jīng)分配了后端服務(wù)器,則將該業(yè)務(wù)報(bào)文發(fā)送給已經(jīng)分配的后端服務(wù)器。如果還沒(méi)有分配后端服務(wù)器,則通過(guò)負(fù)載均衡算法,選擇一個(gè)后端服務(wù)器為其服務(wù)。所述負(fù)載均衡算法包括但不限于:輪詢、加權(quán)輪詢、隨機(jī)、最小連接或源地散列,基于位置優(yōu)先的加權(quán)輪詢等。所述位置優(yōu)先的加權(quán)輪詢方式,可以優(yōu)先選擇在發(fā)起業(yè)務(wù)報(bào)文的虛擬機(jī)所在的計(jì)算機(jī)設(shè)備中的后端服務(wù)器,這樣能夠節(jié)省后端服務(wù)器處理業(yè)務(wù)報(bào)文的速度,節(jié)省網(wǎng)絡(luò)帶寬。
結(jié)合第四方面,本發(fā)明實(shí)施例第四方面的第一種可能的實(shí)現(xiàn)方式中,所述虛擬交換機(jī)只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述負(fù)載均衡虛擬機(jī)包括:
所述虛擬交換機(jī)將所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī);或,
所述負(fù)載均衡虛擬機(jī)將其mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī);或,
所述第一虛擬機(jī)基于預(yù)先配置的所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī)。
結(jié)合第四方面的第一種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第四方面的第二種可能的實(shí)現(xiàn)方式中,所述虛擬交換機(jī)將所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)包括:
所述虛擬交換機(jī)接收所述第一虛擬機(jī)發(fā)送的控制報(bào)文,向所述第一虛擬機(jī)返回控制響應(yīng)報(bào)文,所述控制響應(yīng)報(bào)文包含所述負(fù)載均衡虛擬機(jī)的mac地址。即可通過(guò)配置所述虛擬交換機(jī)的轉(zhuǎn)發(fā)模式,所述虛擬交換機(jī)根據(jù)配置的轉(zhuǎn)發(fā)模式對(duì)所述第一虛擬機(jī)的業(yè)務(wù)報(bào)文進(jìn)行定向處理,使得所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī)。
結(jié)合第四方面的第二種可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第四方面的第三種可能的實(shí)現(xiàn)方式中,所述控制報(bào)文為地址解析協(xié)議arp報(bào)文或互聯(lián)網(wǎng)控制消息協(xié)議icmp報(bào)文。例如所述控制報(bào)文可以是地址解析協(xié)議arp報(bào)文,所述轉(zhuǎn)發(fā)模式可以是arp代答模式,所述第一虛擬機(jī)可以通過(guò)arp代答模式將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)??蛇x的,當(dāng)控制報(bào)文是icmp報(bào)文時(shí),所述轉(zhuǎn)發(fā)模式也可以是鄰居發(fā)現(xiàn)協(xié)議ndp代答模式。
結(jié)合第四方面,第四方面的第一種至第三種任一可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第四方面的第四種可能的實(shí)現(xiàn)方式中,在所述第二計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第一計(jì)算機(jī)設(shè)備上創(chuàng)建負(fù)載均衡虛擬機(jī)之前,所述方法還包括:
所述第二計(jì)算機(jī)設(shè)備將所述配置信息發(fā)送給所述第一計(jì)算機(jī)設(shè)備;
所述第一計(jì)算機(jī)設(shè)備接收創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,指示所述第二計(jì)算機(jī)設(shè)備創(chuàng)建所述負(fù)載均衡虛擬機(jī)??蛇x的,所述第二計(jì)算機(jī)設(shè)備可以直接根據(jù)所述配置信息,在所述第二計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡虛擬機(jī)。
上述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,是用戶通過(guò)云管理平臺(tái)(所述第二計(jì)算機(jī)設(shè)備)下發(fā)的,所述配置信息包括但不限于:負(fù)載均衡虛擬機(jī)的標(biāo)識(shí),負(fù)載均衡虛擬機(jī)的ip地址,以及與該負(fù)載均衡虛擬機(jī)相關(guān)的后端服務(wù)器的信息。所述后端服務(wù)器的信息包括但不限于:后端服務(wù)器的標(biāo)識(shí),后端服務(wù)器的網(wǎng)絡(luò)間互連協(xié)議(ip,internetprotocol)地址,后端服務(wù)器健康檢查的方法等。其中,后端服務(wù)器的健康檢查方法是指負(fù)載均衡虛擬機(jī)通過(guò)檢查后端服務(wù)器的健康狀態(tài)的方法。上述后端服務(wù)器是提供具體業(yè)務(wù)的服務(wù)器,負(fù)載均衡虛擬機(jī)根據(jù)接收到的業(yè)務(wù)報(bào)文,通過(guò)負(fù)載均衡算法等負(fù)載均衡方式在后端服務(wù)器中選擇一個(gè),作為處理所述業(yè)務(wù)報(bào)文的服務(wù)器。本發(fā)明實(shí)施例中,后端服務(wù)器可以是一個(gè)虛擬機(jī),也可以是一個(gè)具體的物理服務(wù)器。
結(jié)合第四方面,第四方面的第一種至第四種任一可能的實(shí)現(xiàn)方式,本發(fā)明實(shí)施例第四方面的第五種可能的實(shí)現(xiàn)方式中,所述第二計(jì)算機(jī)設(shè)備還包括第二虛擬機(jī),所述第二虛擬機(jī)具備處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文的能力,所述方法還包括:
在所述負(fù)載均衡虛擬機(jī)通過(guò)負(fù)載均衡算法確定所述第二虛擬機(jī)處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文時(shí),所述第二虛擬機(jī)接收所述負(fù)載均衡服務(wù)器轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,并將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述負(fù)載均衡虛擬機(jī);
所述負(fù)載均衡虛擬機(jī)將所述第二虛擬機(jī)處理所述業(yè)務(wù)報(bào)文的結(jié)果通過(guò)所述虛擬交換機(jī)發(fā)送給所述第一虛擬機(jī)。
本發(fā)明實(shí)施例提供的計(jì)算機(jī)設(shè)備、系統(tǒng)和負(fù)載均衡的方法,通過(guò)每個(gè)計(jì)算機(jī)設(shè)備中創(chuàng)建負(fù)載均衡虛擬機(jī),在計(jì)算機(jī)設(shè)備中的虛擬機(jī)的業(yè)務(wù)需要進(jìn)行負(fù)載均衡處理時(shí),相關(guān)的業(yè)務(wù)報(bào)文只被發(fā)送到該計(jì)算機(jī)設(shè)備中的負(fù)載均衡虛擬機(jī)來(lái)進(jìn)行負(fù)載均衡處理。由于負(fù)載均衡相關(guān)的業(yè)務(wù)報(bào)文在計(jì)算機(jī)設(shè)備中實(shí)現(xiàn),不會(huì)出現(xiàn)多個(gè)計(jì)算機(jī)設(shè)備上的業(yè)務(wù)報(bào)文集中到一個(gè)負(fù)載均衡節(jié)點(diǎn),避免了集中式的負(fù)載均衡的擁塞帶來(lái)的處理的延遲。并且,當(dāng)計(jì)算機(jī)設(shè)備出現(xiàn)故障時(shí),該計(jì)算機(jī)設(shè)備中的虛擬機(jī)也會(huì)隨之下線,不會(huì)再產(chǎn)生負(fù)載均衡的需求。因此,在單個(gè)計(jì)算機(jī)設(shè)備的故障帶來(lái)的負(fù)載均衡虛擬機(jī)的故障,不會(huì)影響其它計(jì)算機(jī)設(shè)備上的負(fù)載均衡虛擬機(jī),也不會(huì)存在因負(fù)載均衡虛擬機(jī)故障導(dǎo)致主備切換帶來(lái)的業(yè)務(wù)中斷。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為為現(xiàn)有技術(shù)中一種實(shí)現(xiàn)負(fù)載均衡架構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例實(shí)現(xiàn)虛擬負(fù)載均衡的一種實(shí)現(xiàn)架構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例一種計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例中計(jì)算機(jī)設(shè)備的一種具體實(shí)現(xiàn)結(jié)構(gòu)實(shí)體圖;
圖5為本發(fā)明實(shí)施例第一種計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例中第一中計(jì)算機(jī)系統(tǒng)的一種具體實(shí)現(xiàn)結(jié)構(gòu)實(shí)體圖;
圖7為本發(fā)明實(shí)施例中第一中計(jì)算機(jī)系統(tǒng)的另一種具體實(shí)現(xiàn)結(jié)構(gòu)實(shí)體圖;
圖8為本發(fā)明實(shí)施例一種實(shí)現(xiàn)負(fù)載均衡方法的流程示意圖;
圖9為本發(fā)明實(shí)施例中另一種實(shí)現(xiàn)負(fù)載均衡方法的流程示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。
參考圖1,圖1為現(xiàn)有技術(shù)中一種實(shí)現(xiàn)負(fù)載均衡架構(gòu)示意圖。圖1中包括計(jì)算機(jī)設(shè)備101、計(jì)算機(jī)設(shè)備102、計(jì)算機(jī)設(shè)備103、主虛擬負(fù)載均衡器104和備虛擬負(fù)載均衡器105。其中,計(jì)算機(jī)設(shè)備101作為云管理平臺(tái),包括中央處理器(cpu,centralprocessingunit)1011和存儲(chǔ)設(shè)備1012(例如硬盤(pán)、固態(tài)硬盤(pán)等)等組成部件,運(yùn)行云管理平臺(tái)相關(guān)程序,實(shí)現(xiàn)對(duì)計(jì)算機(jī)設(shè)備102和計(jì)算機(jī)設(shè)備103等節(jié)點(diǎn)的管理和配置。計(jì)算機(jī)設(shè)備102和計(jì)算機(jī)設(shè)備103通過(guò)網(wǎng)絡(luò)連接,計(jì)算機(jī)設(shè)備101可以根據(jù)接收到的關(guān)于創(chuàng)建虛擬機(jī)的配置信息,在計(jì)算機(jī)設(shè)備102或計(jì)算機(jī)設(shè)備103創(chuàng)建相應(yīng)的虛擬機(jī)。
圖1以每個(gè)計(jì)算機(jī)設(shè)備包含兩個(gè)虛擬機(jī)為例進(jìn)行說(shuō)明。例如計(jì)算機(jī)設(shè)備102包含虛擬機(jī)10211和10212,計(jì)算機(jī)設(shè)備103包含虛擬機(jī)10311和10312。主負(fù)載均衡器104和備負(fù)載均衡器105通過(guò)主備的方式,為計(jì)算機(jī)設(shè)備102或計(jì)算機(jī)設(shè)備103中的虛擬機(jī)發(fā)出的業(yè)務(wù)報(bào)文提供負(fù)載均衡服務(wù)。主負(fù)載均衡器104和備負(fù)載均衡器105通過(guò)心跳檢測(cè)的方式連接,當(dāng)主負(fù)載均衡器104故障時(shí),由備負(fù)載均衡器105接替主負(fù)載均衡器104繼續(xù)為虛擬機(jī)的請(qǐng)求提供負(fù)載均衡服務(wù)。
這種實(shí)現(xiàn)負(fù)載均衡的方式,當(dāng)主負(fù)載均衡節(jié)點(diǎn)104故障需要切換至備負(fù)載均衡節(jié)點(diǎn)時(shí),在切換器件,沒(méi)有負(fù)載均衡器提供負(fù)載均衡服務(wù),造成需要進(jìn)行負(fù)載均衡處理的業(yè)務(wù)報(bào)文無(wú)法被處理。同時(shí),只有一個(gè)負(fù)載均衡器(負(fù)載均衡器104或105)處理所有虛擬機(jī)的業(yè)務(wù)報(bào)文,容易造成虛擬負(fù)載均衡器的過(guò)載和擁塞,影響的請(qǐng)求業(yè)務(wù)的及時(shí)處理,降低了用戶的體驗(yàn)度。
為解決上述虛擬負(fù)載均衡采用主備方式在切換時(shí)造成的中斷,以及集中在一個(gè)虛擬負(fù)載均衡節(jié)點(diǎn)時(shí)造成的擁塞,本發(fā)明實(shí)施例提供一種虛擬負(fù)載均衡的方法、設(shè)備和系統(tǒng),通過(guò)創(chuàng)建分布式負(fù)載均衡虛擬機(jī),將負(fù)載均衡功能卸載到每個(gè)節(jié)點(diǎn)設(shè)備側(cè),不需要主備切換的集中負(fù)載均衡模式,以避免主備切換時(shí)造成的中斷和集中式負(fù)載均衡所帶來(lái)的擁塞。
為清楚地描述技術(shù)方案,本發(fā)明實(shí)施例以一個(gè)云管理平臺(tái),兩個(gè)計(jì)算機(jī)設(shè)備節(jié)點(diǎn)組成的網(wǎng)絡(luò)為例進(jìn)行說(shuō)明。如圖2所示,圖2為本發(fā)明實(shí)施例實(shí)現(xiàn)虛擬負(fù)載均衡的一種實(shí)現(xiàn)架構(gòu)示意圖。其中,計(jì)算機(jī)設(shè)備201作為云管理平臺(tái),實(shí)現(xiàn)對(duì)計(jì)算機(jī)設(shè)備202和計(jì)算機(jī)設(shè)備203的虛擬化的管理和配置。需要說(shuō)明的是,圖2以兩個(gè)計(jì)算機(jī)設(shè)備為例對(duì)本發(fā)明實(shí)施例的方案進(jìn)行描述,在具體實(shí)現(xiàn)時(shí),作為云平臺(tái)的計(jì)算機(jī)設(shè)備201還可以配置和管理2個(gè)以上的計(jì)算機(jī)設(shè)備,本發(fā)明實(shí)施例不限定具體的計(jì)算機(jī)設(shè)備的個(gè)數(shù)。
以圖2中的計(jì)算機(jī)設(shè)備202為例,對(duì)本發(fā)明實(shí)施例中計(jì)算機(jī)設(shè)備的組成部分進(jìn)行說(shuō)明。計(jì)算機(jī)設(shè)備202可以包括計(jì)算硬件20231、存儲(chǔ)硬件20232、網(wǎng)絡(luò)硬件20233組成的硬件資源層2023。計(jì)算硬件20231可以為專用的處理器或通用的用于提供處理和計(jì)算功能的處理器。存儲(chǔ)硬件20232用于提供存儲(chǔ)能力,該存儲(chǔ)能力可以是存儲(chǔ)硬件20232本身提供的(例如一臺(tái)服務(wù)器的本地內(nèi)存或本地硬盤(pán)),也可以通過(guò)網(wǎng)絡(luò)提供(例如服務(wù)器通過(guò)網(wǎng)絡(luò)連接一個(gè)網(wǎng)絡(luò)存儲(chǔ)設(shè)備)。網(wǎng)絡(luò)硬件20233可以是交換設(shè)備(網(wǎng)卡等)、路由器和/或其他網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)硬件20233用于實(shí)現(xiàn)多個(gè)設(shè)備之間的通信,多個(gè)設(shè)備之間通過(guò)無(wú)線或有線連接。計(jì)算機(jī)設(shè)備202中的虛擬化層用于抽象硬件資源層的硬件資源,以提供虛擬資源。計(jì)算機(jī)設(shè)備202中的操作系統(tǒng)2022,包括但不限于運(yùn)行虛擬化管理的虛擬化層hypervisor20221和虛擬交換機(jī)20222。虛擬化層hypervisor20221對(duì)所述計(jì)算機(jī)設(shè)備202中的虛擬機(jī)(例如虛擬機(jī)20213等)進(jìn)行管理。虛擬交換機(jī)20222為所述hypervisor20221所管理的虛擬機(jī)之間和虛擬機(jī)與物理網(wǎng)絡(luò)之間提供網(wǎng)絡(luò)連接功能,虛擬負(fù)載均衡代理單元20211通過(guò)虛擬機(jī)化層hypervisor20221對(duì)計(jì)算機(jī)設(shè)備202中的負(fù)載均衡虛擬機(jī)20212進(jìn)行配置和管理。
其中,計(jì)算機(jī)設(shè)備201作為云管理平臺(tái),運(yùn)行云管理平臺(tái)相關(guān)程序,實(shí)現(xiàn)對(duì)計(jì)算機(jī)設(shè)備202和計(jì)算機(jī)設(shè)備203的管理和配置,包括對(duì)所述計(jì)算機(jī)設(shè)備202和計(jì)算機(jī)設(shè)備203中的虛擬機(jī)進(jìn)行配置和管理。計(jì)算機(jī)設(shè)備202和計(jì)算機(jī)設(shè)備203,作為云管理平臺(tái)控制下的設(shè)備節(jié)點(diǎn),提供虛擬機(jī)等相關(guān)的服務(wù)或業(yè)務(wù)。
需要說(shuō)明的是,圖2中,計(jì)算機(jī)設(shè)備201包括計(jì)算硬件20131、存儲(chǔ)硬件20132、網(wǎng)絡(luò)硬件20133組成的硬件資源層2013。計(jì)算硬件20131可以為專用的處理器或通用的用于提供處理和計(jì)算功能的處理器。存儲(chǔ)硬件20132用于提供存儲(chǔ)能力,該存儲(chǔ)能力可以是存儲(chǔ)硬件20132本身提供的(例如一臺(tái)服務(wù)器的本地內(nèi)存或本地硬盤(pán)),也可以通過(guò)網(wǎng)絡(luò)提供(例如服務(wù)器通過(guò)網(wǎng)絡(luò)連接一個(gè)網(wǎng)絡(luò)存儲(chǔ)設(shè)備)。網(wǎng)絡(luò)硬件20133可以是交換設(shè)備(網(wǎng)卡等)、路由器和/或其他網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)硬件20133用于實(shí)現(xiàn)多個(gè)設(shè)備之間的通信,多個(gè)設(shè)備之間通過(guò)無(wú)線或有線連接。計(jì)算機(jī)設(shè)備201中的虛擬化層用于抽象硬件資源層的硬件資源,以提供虛擬資源。計(jì)算機(jī)設(shè)備201中的操作系統(tǒng)2012,包括但不限于運(yùn)行虛擬化管理的虛擬化層hypervisor20121。
下面以用戶通過(guò)云管理平臺(tái)在計(jì)算機(jī)設(shè)備202申請(qǐng)?zhí)摂M機(jī)、且需要對(duì)申請(qǐng)的虛擬機(jī)的業(yè)務(wù)報(bào)文進(jìn)行負(fù)載均衡處理為例,對(duì)本發(fā)明實(shí)施例提供的負(fù)載均衡的實(shí)現(xiàn)方式進(jìn)行說(shuō)明。
本發(fā)明實(shí)施例中,可以通過(guò)負(fù)載均衡器實(shí)現(xiàn)對(duì)申請(qǐng)的虛擬機(jī)的業(yè)務(wù)報(bào)文進(jìn)行負(fù)載均衡處理,即通過(guò)創(chuàng)建負(fù)載均衡器,實(shí)現(xiàn)對(duì)申請(qǐng)的虛擬機(jī)的業(yè)務(wù)報(bào)文進(jìn)行負(fù)載均衡處理。所述負(fù)載均衡器包括但不限于虛擬機(jī)、namespace或容器等實(shí)現(xiàn)方式。本發(fā)明實(shí)施例以虛擬機(jī)作為負(fù)載均衡器為例進(jìn)行說(shuō)明??梢岳斫?,對(duì)于以namespace或容器作為負(fù)載均衡器的實(shí)現(xiàn)方式,可以參照以虛擬機(jī)作為負(fù)載均衡器的實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn)。
本發(fā)明實(shí)施例中,云管理平臺(tái)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)、存儲(chǔ)、計(jì)算等資源的統(tǒng)一調(diào)度管理,以及在此之上的業(yè)務(wù)自動(dòng)化編排,實(shí)現(xiàn)了計(jì)費(fèi)、流程、日志、應(yīng)用交付的運(yùn)營(yíng)功能,最終按使用量付費(fèi)的模式,向用戶和管理員提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問(wèn),使用戶和管理員可以訪問(wèn)可配置的計(jì)算資源共享池(資源包括網(wǎng)絡(luò),服務(wù)器,存儲(chǔ),應(yīng)用軟件,服務(wù)等)。
參考圖2,作為云管理平臺(tái)的計(jì)算機(jī)設(shè)備201包括虛擬負(fù)載均衡管理單元20111和虛擬機(jī)管理單元20112。
所述虛擬負(fù)載均衡管理單元20111,用于接收創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,將所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息存入虛擬負(fù)載均衡數(shù)據(jù)設(shè)備20114。所述虛擬負(fù)載均衡管理單元20111還可以將所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息發(fā)送給虛擬負(fù)載均衡代理單元20211。
所述虛擬機(jī)管理單元20112,用于根據(jù)所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,創(chuàng)建或刪除負(fù)載均衡虛擬機(jī)20212。
其中,所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息是用戶通過(guò)云管理平臺(tái)下發(fā)的,所述配置信息包括但不限于:負(fù)載均衡虛擬機(jī)的標(biāo)識(shí),負(fù)載均衡虛擬機(jī)的ip地址,例如虛擬化ip(vip,virutalipaddress)地址,以及與該負(fù)載均衡虛擬機(jī)相關(guān)的后端服務(wù)器的信息。所述負(fù)載均衡虛擬機(jī)的vip地址,是所述負(fù)載均衡虛擬機(jī)的ip地址。所述后端服務(wù)器的信息包括但不限于:后端服務(wù)器的標(biāo)識(shí),后端服務(wù)器的網(wǎng)絡(luò)間互連協(xié)議(ip,internetprotocol)地址,后端服務(wù)器健康檢查的方法等。其中,后端服務(wù)器的健康檢查方法是指負(fù)載均衡虛擬機(jī)通過(guò)檢查后端服務(wù)器的健康狀態(tài)的方法。上述后端服務(wù)器是提供具體業(yè)務(wù)的服務(wù)器,負(fù)載均衡虛擬機(jī)根據(jù)接收到的業(yè)務(wù)報(bào)文,通過(guò)負(fù)載均衡算法等負(fù)載均衡方式在后端服務(wù)器中選擇一個(gè),作為處理所述業(yè)務(wù)報(bào)文的服務(wù)器。本發(fā)明實(shí)施例中,后端服務(wù)器可以是一個(gè)虛擬機(jī),也可以是一個(gè)具體的物理服務(wù)器。
圖2中,虛擬負(fù)載均衡數(shù)據(jù)設(shè)備20114用于存儲(chǔ)創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,可以是所述計(jì)算機(jī)設(shè)備201中的存儲(chǔ)設(shè)備,也可以是獨(dú)立于所述計(jì)算機(jī)設(shè)備201的存儲(chǔ)設(shè)備,本發(fā)明實(shí)施例不限定具體的保存所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息的方式。
所述虛擬機(jī)管理單元20112可以直接根據(jù)所述虛擬負(fù)載均衡管理單元20111的指示,創(chuàng)建或刪除負(fù)載均衡虛擬機(jī)20212;也可以根據(jù)計(jì)算機(jī)設(shè)備202中的虛擬負(fù)載均衡代理單元20211的指示,創(chuàng)建或刪除負(fù)載均衡虛擬機(jī)20212。
所述虛擬機(jī)管理單元20112,還用于根據(jù)用戶下發(fā)的在計(jì)算機(jī)設(shè)備202中創(chuàng)建虛擬機(jī)的配置信息,創(chuàng)建相應(yīng)的虛擬機(jī)。例如,當(dāng)所述計(jì)算機(jī)設(shè)備201接收到用戶下發(fā)的在計(jì)算機(jī)設(shè)備202中創(chuàng)建虛擬機(jī)時(shí),所述虛擬機(jī)管理單元20112在所述計(jì)算機(jī)設(shè)備202中創(chuàng)建虛擬機(jī)20213。同樣的,當(dāng)所述計(jì)算機(jī)設(shè)備201接收到用戶下發(fā)的在計(jì)算機(jī)設(shè)備202中創(chuàng)建作為后端服務(wù)器的虛擬機(jī)的配置信息時(shí),所述虛擬機(jī)管理單元20112創(chuàng)建相應(yīng)的虛擬機(jī)作為后端服務(wù)器,例如創(chuàng)建虛擬機(jī)20214。
作為一種可選的實(shí)現(xiàn)方式,所述計(jì)算機(jī)設(shè)備202還可以包括虛擬負(fù)載均衡代理單元20211,所述虛擬負(fù)載均衡代理單元20211用于從所述虛擬負(fù)載均衡管理單元20111獲取所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,指示所述虛擬機(jī)管理單元20112根據(jù)所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,創(chuàng)建負(fù)載均衡虛擬機(jī)20212。
其中,所述虛擬負(fù)載均衡代理單元20211,在指示所述虛擬機(jī)管理單元20112根據(jù)所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息創(chuàng)建所述負(fù)載均衡虛擬機(jī)20212時(shí),向所述虛擬機(jī)管理單元20112發(fā)送通知信息,所述通知信息還包括創(chuàng)建負(fù)載均衡虛擬機(jī)20212的虛擬機(jī)參數(shù)信息。所述負(fù)載均衡虛擬機(jī)20212的虛擬機(jī)參數(shù)信息包括但不限于:虛擬中央處理器的個(gè)數(shù),虛擬內(nèi)存的大小,以及所述負(fù)載均衡虛擬機(jī)20212所在的邏輯網(wǎng)絡(luò)等信息。
所述虛擬機(jī)管理單元20112創(chuàng)建負(fù)載均衡虛擬機(jī)20212的過(guò)程可以為:虛擬機(jī)管理單元20112通過(guò)調(diào)用創(chuàng)建虛擬機(jī)的應(yīng)用軟件編程接口(api,applicationprogramminginterface),指定帶有負(fù)載均衡模塊的鏡像來(lái)創(chuàng)建負(fù)載均衡虛擬機(jī)20212。在調(diào)用api創(chuàng)建虛擬機(jī)時(shí)會(huì)使用虛擬機(jī)參數(shù)信息,以根據(jù)虛擬機(jī)參數(shù)信息創(chuàng)建虛擬機(jī)。指定帶有負(fù)載均衡模塊的鏡像,使得創(chuàng)建的虛擬機(jī)具有負(fù)載均衡的模塊,然后將所述配置信息配置給虛擬機(jī)中的負(fù)載均衡模塊。
當(dāng)所述虛擬負(fù)載均衡管理單元20111直接通知虛擬機(jī)管理單元20112創(chuàng)建負(fù)載均衡虛擬機(jī)20212時(shí),虛擬負(fù)載均衡管理單元20111給所述虛擬機(jī)管理單元20112發(fā)送通知消息,所述通知消息包括創(chuàng)建所述負(fù)載均衡虛擬機(jī)20212所需的配置信息和虛擬機(jī)參數(shù)信息,以通知虛擬機(jī)管理單元20112啟動(dòng)創(chuàng)建負(fù)載均衡虛擬機(jī)20212。在所述計(jì)算機(jī)設(shè)備202中已經(jīng)創(chuàng)建了負(fù)載均衡虛擬機(jī)20212后,所述負(fù)載均衡虛擬機(jī)20212用于接收所述計(jì)算機(jī)設(shè)備202中的虛擬機(jī),例如虛擬機(jī)20213,通過(guò)虛擬交換機(jī)20222發(fā)送的業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式對(duì)接收到的業(yè)務(wù)報(bào)文進(jìn)行處理。
所述負(fù)載均衡虛擬機(jī)20212基于負(fù)載均衡方式對(duì)所述計(jì)算機(jī)設(shè)備202中的虛擬機(jī)的業(yè)務(wù)報(bào)文進(jìn)行處理可以是:所述負(fù)載均衡虛擬機(jī)20212在收到業(yè)務(wù)報(bào)文后,首先判斷是否已經(jīng)為所述業(yè)務(wù)報(bào)文分配了一個(gè)后端服務(wù)器為其服務(wù),如果已經(jīng)分配了后端服務(wù)器,則將該業(yè)務(wù)報(bào)文發(fā)送給已經(jīng)分配的后端服務(wù)器。如果還沒(méi)有分配后端服務(wù)器,則通過(guò)負(fù)載均衡算法,選擇一個(gè)后端服務(wù)器為其服務(wù)。所述負(fù)載均衡算法包括但不限于:輪詢、加權(quán)輪詢、隨機(jī)、最小連接或源地散列,基于位置優(yōu)先的加權(quán)輪詢等。所述位置優(yōu)先的加權(quán)輪詢方式,可以優(yōu)先選擇在發(fā)起業(yè)務(wù)報(bào)文的虛擬機(jī)所在的計(jì)算機(jī)設(shè)備中的后端服務(wù)器,這樣能夠節(jié)省后端服務(wù)器處理業(yè)務(wù)報(bào)文的速度,節(jié)省網(wǎng)絡(luò)帶寬。
本發(fā)明實(shí)施例以輪詢算法為例,對(duì)負(fù)載均衡虛擬機(jī)20212選取后端服務(wù)器的方式予以說(shuō)明。當(dāng)負(fù)載均衡虛擬機(jī)20212的后端服務(wù)器包括虛擬機(jī)虛擬機(jī)20214和虛擬機(jī)20314時(shí),負(fù)載均衡虛擬機(jī)20212把所有的后端服務(wù)器(虛擬機(jī)20214和虛擬機(jī)20314)組成一個(gè)列表,在列表中輪流分配需要處理的業(yè)務(wù)報(bào)文。當(dāng)負(fù)載均衡虛擬機(jī)20212收到虛擬機(jī)20213發(fā)送的第一個(gè)業(yè)務(wù)報(bào)文,將虛擬機(jī)20214作為提供服務(wù)的后端服務(wù)器,并把所述第一個(gè)業(yè)務(wù)報(bào)文發(fā)給虛擬機(jī)20214;當(dāng)收到來(lái)自虛擬機(jī)20213的第二個(gè)業(yè)務(wù)報(bào)文時(shí),將虛擬機(jī)20314作為提供服務(wù)的后端服務(wù)器,然后把所述第二個(gè)業(yè)務(wù)報(bào)文發(fā)給虛擬機(jī)20314;當(dāng)負(fù)載均衡虛擬機(jī)20212收到虛擬機(jī)20213發(fā)送的第三個(gè)業(yè)務(wù)報(bào)文,將虛擬機(jī)20214作為提供服務(wù)的后端服務(wù)器,并把所述第三個(gè)業(yè)務(wù)報(bào)文發(fā)給虛擬機(jī)20214,以此循環(huán)。
上述實(shí)現(xiàn)負(fù)載均衡方式,在用戶通過(guò)云管理平臺(tái)在計(jì)算機(jī)設(shè)備202中申請(qǐng)用于發(fā)起業(yè)務(wù)的虛擬機(jī)、且需要對(duì)申請(qǐng)的虛擬機(jī)的業(yè)務(wù)請(qǐng)求進(jìn)行負(fù)載均衡處理為例進(jìn)行的說(shuō)明??梢岳斫猓?dāng)用戶通過(guò)云管理平臺(tái)在計(jì)算機(jī)設(shè)備203中申請(qǐng)用于發(fā)起業(yè)務(wù)的虛擬機(jī)、且需要對(duì)申請(qǐng)的虛擬機(jī)的業(yè)務(wù)請(qǐng)求進(jìn)行負(fù)載均衡處理時(shí),其實(shí)現(xiàn)方式類似。由于負(fù)載均衡單元分布在每個(gè)計(jì)算機(jī)設(shè)備中,不存在集中的負(fù)載均衡節(jié)點(diǎn),與負(fù)載均衡相關(guān)的業(yè)務(wù)報(bào)文在每個(gè)計(jì)算機(jī)設(shè)備中實(shí)現(xiàn)負(fù)載均衡處理,不會(huì)出現(xiàn)業(yè)務(wù)報(bào)文的擁塞帶來(lái)的處理的延遲。并且,計(jì)算機(jī)設(shè)備202和計(jì)算機(jī)設(shè)備203中都部署有負(fù)載均衡器,當(dāng)某一計(jì)算機(jī)設(shè)備出現(xiàn)故障時(shí),該計(jì)算系統(tǒng)中的虛擬機(jī)也會(huì)隨之下線,不會(huì)再產(chǎn)生負(fù)載均衡的需求;因此,在單個(gè)計(jì)算機(jī)設(shè)備的故障帶來(lái)的負(fù)載均衡單元的故障,不會(huì)影響其它負(fù)載均衡業(yè)務(wù)的處理,也不會(huì)存在因負(fù)載均衡節(jié)點(diǎn)故障導(dǎo)致主備切換帶來(lái)的業(yè)務(wù)中斷。
本發(fā)明實(shí)施例中,所述虛擬負(fù)載均衡代理單元20211從所述虛擬負(fù)載均衡管理單元20111處獲取的所述負(fù)載均衡虛擬機(jī)20212的配置信息還可以包括所述負(fù)載均衡虛擬機(jī)20212的網(wǎng)絡(luò)信息。所述虛擬負(fù)載均衡代理單元20211還用于根據(jù)創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息中的網(wǎng)絡(luò)信息,指示所述虛擬機(jī)管理單元20112為所述負(fù)載均衡虛擬機(jī)20212建立虛擬網(wǎng)卡,并指示所述虛擬機(jī)管理單元20112建立所述虛擬網(wǎng)卡與所述虛擬交換機(jī)20222的連接。其中,所述虛擬機(jī)管理單元20112根據(jù)虛擬負(fù)載均衡代理單元20211的指示建立所述虛擬網(wǎng)卡時(shí),還可以根據(jù)所述創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,為創(chuàng)建的所述虛擬網(wǎng)卡分配ip地址和mac地址??蛇x的,也可以由上述虛擬負(fù)載均衡管理單元20111指示所述虛擬機(jī)管理單元20112為所述負(fù)載均衡虛擬機(jī)20212建立虛擬網(wǎng)卡,并建立所述虛擬網(wǎng)卡與所述虛擬交換機(jī)20222的連接。
建立所述虛擬網(wǎng)卡與所述虛擬交換機(jī)20222的連接可以通過(guò)配置虛擬交換機(jī)的網(wǎng)絡(luò)標(biāo)識(shí)來(lái)實(shí)現(xiàn)。所述虛擬交換機(jī)的網(wǎng)絡(luò)標(biāo)識(shí)是虛擬交換機(jī)的網(wǎng)絡(luò)接口的標(biāo)識(shí),當(dāng)虛擬機(jī)的網(wǎng)絡(luò)接口與虛擬交換機(jī)的網(wǎng)絡(luò)接口的標(biāo)識(shí)相同時(shí),虛擬機(jī)和虛擬交換機(jī)之間才能夠建立連接。本發(fā)明實(shí)施中,所述虛擬機(jī)管理單元20112通過(guò)配置虛擬交換機(jī)20222的網(wǎng)絡(luò)標(biāo)識(shí),建立負(fù)載均衡虛擬機(jī)20212與虛擬交換機(jī)20222之間的連接。例如,虛擬交換機(jī)20222有3個(gè)網(wǎng)絡(luò)接口,其網(wǎng)絡(luò)標(biāo)識(shí)為100,當(dāng)負(fù)載均衡虛擬機(jī)20212和虛擬機(jī)20213的虛擬網(wǎng)卡具有網(wǎng)絡(luò)標(biāo)識(shí)為100的接口時(shí),虛擬機(jī)20213可以通過(guò)網(wǎng)絡(luò)標(biāo)識(shí)為100的接口與負(fù)載均衡虛擬機(jī)20212的網(wǎng)絡(luò)標(biāo)識(shí)為100的接口實(shí)現(xiàn)通信。其中,所述虛擬機(jī)管理單元20112可以根據(jù)所述虛擬負(fù)載均衡代理單元20211或虛擬負(fù)載均衡管理單元20111指示,為所述虛擬交換機(jī)20222配置網(wǎng)絡(luò)標(biāo)識(shí)??梢岳斫?,上述虛擬交換機(jī)20222的3個(gè)網(wǎng)絡(luò)接口只是舉例,在具體實(shí)現(xiàn)時(shí),所述虛擬交換機(jī)20222還可以包括其它的網(wǎng)絡(luò)接口。例如虛擬交換機(jī)20222包括100個(gè)網(wǎng)絡(luò)接口,其中三個(gè)網(wǎng)絡(luò)接口的網(wǎng)絡(luò)標(biāo)識(shí)為100。
在所述虛擬機(jī)管理單元20112根據(jù)所述虛擬負(fù)載均衡代理單元20211的指示建立所述虛擬網(wǎng)卡與所述虛擬交換機(jī)20222的連接后,所述虛擬負(fù)載均衡代理單元20211還用于指示虛擬機(jī)管理單元20112配置所述虛擬交換機(jī)20222的轉(zhuǎn)發(fā)模式,所述虛擬交換機(jī)20222根據(jù)轉(zhuǎn)發(fā)模式對(duì)所述虛擬機(jī)20213的業(yè)務(wù)報(bào)文進(jìn)行定向轉(zhuǎn)發(fā)處理,使得所述虛擬機(jī)20213將所述業(yè)務(wù)報(bào)文發(fā)送至所述負(fù)載均衡虛擬機(jī)20212??蛇x的,也可以由上述虛擬負(fù)載均衡管理單元20111指示所述虛擬機(jī)管理單元20112配置所述虛擬交換機(jī)20222的轉(zhuǎn)發(fā)模式。
上述所述虛擬交換機(jī)20222的轉(zhuǎn)發(fā)模式可以為地址解析協(xié)議(arp,arpaddressresolutionprotocol)或鄰居發(fā)現(xiàn)協(xié)議(ndp,ndpneighbordiscoveryprotocol)代答模式,即所述虛擬交換機(jī)20222對(duì)所述業(yè)務(wù)報(bào)文進(jìn)行定向轉(zhuǎn)發(fā)處理的方式為arp或ndp代答模式。本發(fā)明實(shí)施例以支持openstack的云平臺(tái)為例,對(duì)arp代答技術(shù)的實(shí)現(xiàn)方式進(jìn)行說(shuō)明。
arp代答技術(shù)通過(guò)流表來(lái)實(shí)現(xiàn),流表技術(shù)一般由兩部分組成,一部分是匹配條件,另一部分是動(dòng)作,arp代答的流表的匹配條件是:協(xié)議類型為arp,arp的目標(biāo)協(xié)議地址為虛擬化ip地址(vip,virutalipaddress),該vip是負(fù)載均衡虛擬機(jī)可被訪問(wèn)的ip地址,arp操作類型為arp請(qǐng)求。動(dòng)作包括:1、修改收到的arp報(bào)文的目的媒體訪問(wèn)控制(mac,mediaaccesscontrol)地址為該報(bào)文的源mac地址;2、修改收到的arp報(bào)文的源mac地址為負(fù)載均衡虛擬機(jī)20212的mac地址;3、修改收到的arp報(bào)文的arp操作類型為arp應(yīng)答;4、修改收到的arp報(bào)文的arp目的協(xié)議地址為該arp報(bào)文的arp源協(xié)議地址,其中,協(xié)議地址是arp協(xié)議中的術(shù)語(yǔ),即ip地址;5、修改收到的arp報(bào)文的arp源協(xié)議地址為負(fù)載均衡虛擬機(jī)20212的ip地址;6、修改收到的arp報(bào)文的arp目的硬件地址為該報(bào)文的arp源硬件地址,其中,硬件地址是arp協(xié)議中的術(shù)語(yǔ),即mac地址;7、修改收到的arp報(bào)文的arp源硬件地址為負(fù)載均衡虛擬機(jī)20212的mac地址。上述流表中的動(dòng)作并非每一個(gè)動(dòng)作都必須執(zhí)行,本領(lǐng)域技術(shù)人員可知,動(dòng)作2為必要。然后,把這個(gè)修改后的arp報(bào)文交由虛擬交換機(jī)20222發(fā)送到虛擬機(jī)20213。虛擬交換機(jī)20222的arp代答模式,能夠使得虛擬機(jī)20213獲取與vip對(duì)應(yīng)的mac地址,并基于獲取到的mac地址發(fā)送業(yè)務(wù)報(bào)文,使得計(jì)算機(jī)設(shè)備202中的虛擬機(jī)發(fā)送的需要負(fù)載均衡處理的業(yè)務(wù)報(bào)文,只發(fā)送到計(jì)算機(jī)設(shè)備202上的負(fù)載均衡虛擬機(jī)20212。
虛擬交換機(jī)20222將arp應(yīng)答報(bào)文發(fā)送給虛擬機(jī)20213后,虛擬機(jī)20213構(gòu)造業(yè)務(wù)請(qǐng)求報(bào)文,該業(yè)務(wù)請(qǐng)求報(bào)文的ip地址是vip地址,mac地址是從虛擬交換機(jī)20222的arp應(yīng)答中獲取的負(fù)載均衡虛擬機(jī)20212的mac地址。虛擬機(jī)20213將構(gòu)造的業(yè)務(wù)請(qǐng)求報(bào)文發(fā)送給虛擬交換機(jī)20222,虛擬交換機(jī)20222根據(jù)該業(yè)務(wù)請(qǐng)求報(bào)文的ip地址和mac地址,將業(yè)務(wù)請(qǐng)求報(bào)文發(fā)送給負(fù)載均衡虛擬機(jī)20212。
對(duì)于虛擬機(jī)20213發(fā)送的不需要負(fù)載均衡處理的報(bào)文,其ip地址不是vip地址,虛擬交換機(jī)20222可以按照通常的轉(zhuǎn)發(fā)模式進(jìn)行轉(zhuǎn)發(fā)。
上述虛擬交換機(jī)20222在接收到虛擬機(jī)20213發(fā)起的業(yè)務(wù)報(bào)文需要進(jìn)行負(fù)載均衡處理時(shí),所述虛擬交換機(jī)20222通過(guò)arp代答技術(shù)將虛擬機(jī)20213的業(yè)務(wù)報(bào)文發(fā)送到所述負(fù)載均衡虛擬機(jī)20212,其他計(jì)算機(jī)設(shè)備(如計(jì)算機(jī)設(shè)備203)上的負(fù)載均衡虛擬機(jī)(如負(fù)載均衡虛擬機(jī)20312)沒(méi)有收到arp請(qǐng)求,就不會(huì)收到計(jì)算機(jī)設(shè)備202中的虛擬機(jī)2013發(fā)出的業(yè)務(wù)報(bào)文,實(shí)現(xiàn)了每個(gè)計(jì)算機(jī)設(shè)備中的虛擬機(jī)的業(yè)務(wù)報(bào)文在需要負(fù)載均衡處理時(shí),只在本計(jì)算機(jī)設(shè)備內(nèi)的負(fù)載均衡虛擬機(jī)上實(shí)現(xiàn)的目的。
與在計(jì)算機(jī)設(shè)備202中創(chuàng)建負(fù)載均衡虛擬機(jī)20212類似,也可以在計(jì)算機(jī)設(shè)備203中創(chuàng)建負(fù)載均衡虛擬機(jī)20312。由于每個(gè)計(jì)算機(jī)設(shè)備中虛擬機(jī)發(fā)出的需要負(fù)載均衡處理的業(yè)務(wù)報(bào)文,只轉(zhuǎn)發(fā)給創(chuàng)建在本計(jì)算機(jī)設(shè)備中的負(fù)載均衡虛擬機(jī),不會(huì)被轉(zhuǎn)發(fā)給其它計(jì)算機(jī)設(shè)備中的負(fù)載均衡虛擬機(jī)來(lái)處理,計(jì)算機(jī)設(shè)備202中的負(fù)載均衡虛擬機(jī)20212的ip地址可以與計(jì)算機(jī)設(shè)備203中負(fù)載均衡虛擬機(jī)20312的ip地址相同;同樣的,計(jì)算機(jī)設(shè)備202中的負(fù)載均衡虛擬機(jī)20212的mac地址可以與計(jì)算機(jī)設(shè)備203中負(fù)載均衡虛擬機(jī)20312的mac地址相同。這樣,可以節(jié)省計(jì)算機(jī)設(shè)備所組成的網(wǎng)絡(luò)中ip地址資源和/或mac地址資源。
本發(fā)明實(shí)施例中,所述虛擬負(fù)載均衡代理單元20211可以在部署所述負(fù)載均衡業(yè)務(wù)的用戶在計(jì)算機(jī)設(shè)備202中創(chuàng)建第一個(gè)虛擬機(jī)時(shí),指示所述虛擬機(jī)管理單元20112創(chuàng)建負(fù)載均衡虛擬機(jī)20212。這樣能夠節(jié)省計(jì)算機(jī)設(shè)備202的資源,避免在不需要負(fù)載均衡業(yè)務(wù)時(shí),因創(chuàng)建負(fù)載均衡虛擬機(jī)造成的硬件資源的浪費(fèi)。判斷部署所述負(fù)載均衡業(yè)務(wù)的用戶在計(jì)算機(jī)設(shè)備202中創(chuàng)建第一個(gè)虛擬機(jī)的時(shí)機(jī),可以是所述虛擬機(jī)管理單元20112在創(chuàng)建虛擬機(jī)(例如虛擬機(jī)20213)時(shí),所述虛擬負(fù)載均衡管理單元20111判斷該創(chuàng)建的虛擬機(jī)是否是已經(jīng)配置了虛擬負(fù)載均衡業(yè)務(wù)的用戶配置的第一個(gè)虛擬機(jī)。如果是,則所述虛擬負(fù)載均衡管理單元20111通知所述虛擬負(fù)載均衡代理單元指示所述虛擬機(jī)管理單元20112創(chuàng)建負(fù)載均衡虛擬機(jī)20212。所述虛擬負(fù)載均衡管理單元20111也可以直接通知所述虛擬機(jī)管理單元20112創(chuàng)建負(fù)載均衡虛擬機(jī)20212。當(dāng)已經(jīng)配置了虛擬負(fù)載均衡業(yè)務(wù)的用戶配置的最后一個(gè)虛擬機(jī)被刪除時(shí),所述虛擬負(fù)載均衡管理單元20111通知所述虛擬負(fù)載均衡代理單元指示所述虛擬機(jī)管理單元20112刪除所述負(fù)載均衡虛擬機(jī)20212,或直接通知所述虛擬機(jī)管理單元20112刪除所述負(fù)載均衡虛擬機(jī)20212。
上述在已經(jīng)配置了虛擬負(fù)載均衡業(yè)務(wù)的用戶創(chuàng)建第一個(gè)虛擬機(jī)時(shí)創(chuàng)建負(fù)載均衡虛擬機(jī)20212,在同一用戶配置的最后一個(gè)虛擬機(jī)被刪除時(shí)刪除所述負(fù)載均衡虛擬機(jī)20212,能夠節(jié)省計(jì)算機(jī)設(shè)備202中的虛擬資源,提高計(jì)算機(jī)設(shè)備202中資源的利用率。
上述負(fù)載均衡虛擬機(jī)20212的創(chuàng)建和配置,是所述計(jì)算機(jī)設(shè)備202中的虛擬負(fù)載均衡代理單元20211指示所述計(jì)算機(jī)設(shè)備201中的虛擬機(jī)管理單元20112創(chuàng)建的。在具體實(shí)現(xiàn)時(shí),所述計(jì)算機(jī)設(shè)備202中也可以不包含所述虛擬負(fù)載均衡代理單元20211,當(dāng)計(jì)算機(jī)設(shè)備201中的虛擬負(fù)載均衡管理單元20111接收到創(chuàng)建負(fù)載均衡虛擬機(jī)20212的配置信息時(shí),可以直接指示所述虛擬機(jī)管理單元20112創(chuàng)建負(fù)載均衡虛擬機(jī)20212。本發(fā)明實(shí)施例不限定具體的負(fù)載均衡虛擬機(jī)20212創(chuàng)建方式。
一用戶通過(guò)云管理平臺(tái)申請(qǐng)?zhí)摂M機(jī)20213,通過(guò)該虛擬機(jī)20213訪問(wèn)視頻業(yè)務(wù),該視頻業(yè)務(wù)可以由虛擬機(jī)20214或虛擬機(jī)20314等后端服務(wù)器提供為例,說(shuō)明本發(fā)明實(shí)施例負(fù)載均衡的實(shí)現(xiàn)方式。結(jié)合圖2所示的實(shí)施例,云管理平臺(tái)(計(jì)算機(jī)設(shè)備201)分別在計(jì)算機(jī)設(shè)備202中創(chuàng)建負(fù)載均衡虛擬機(jī)20212,在計(jì)算機(jī)設(shè)備203中創(chuàng)建負(fù)載均衡虛擬機(jī)20312;當(dāng)虛擬機(jī)20213發(fā)起訪問(wèn)視頻業(yè)務(wù)的業(yè)務(wù)報(bào)文時(shí),該業(yè)務(wù)報(bào)文只被虛擬交換機(jī)20222轉(zhuǎn)發(fā)給在計(jì)算機(jī)設(shè)備202中的負(fù)載均衡虛擬機(jī)20212,與計(jì)算機(jī)設(shè)備202通過(guò)網(wǎng)絡(luò)連接的計(jì)算機(jī)設(shè)備203中的負(fù)載均衡虛擬機(jī)20312不會(huì)收到虛擬機(jī)20213發(fā)送的業(yè)務(wù)報(bào)文,使得計(jì)算機(jī)設(shè)備202中發(fā)起的需要負(fù)載均衡處理的業(yè)務(wù)報(bào)文只在計(jì)算機(jī)設(shè)備202中實(shí)現(xiàn)負(fù)載均衡的處理。負(fù)載均衡虛擬機(jī)20212接收到虛擬交換機(jī)20222轉(zhuǎn)發(fā)的虛擬機(jī)20213關(guān)于視頻業(yè)務(wù)的業(yè)務(wù)報(bào)文后,通過(guò)負(fù)載均衡算法處理該業(yè)務(wù)報(bào)文,在后端服務(wù)器,可以是虛擬機(jī)20214或虛擬機(jī)20314中選擇一個(gè)為虛擬機(jī)20213提供視頻業(yè)務(wù)。優(yōu)選的,負(fù)載均衡虛擬機(jī)20212可以選擇虛擬機(jī)20214作為后端服務(wù)器為虛擬機(jī)20213提供視頻服務(wù),這樣可以節(jié)省網(wǎng)絡(luò)帶寬,提高后端服務(wù)器響應(yīng)業(yè)務(wù)報(bào)文的效率。
參考圖3,圖3為本發(fā)明實(shí)施例一種計(jì)算機(jī)設(shè)備300的結(jié)構(gòu)示意圖。圖3中,計(jì)算機(jī)設(shè)備300包括中央處理器cpu3031、內(nèi)存3032和存儲(chǔ)設(shè)備3033,還包括在所述計(jì)算機(jī)設(shè)備300硬件基礎(chǔ)上虛擬化后生成的第一虛擬機(jī)304、負(fù)載均衡虛擬機(jī)301和虛擬交換機(jī)3022,所述第一虛擬機(jī)304和所述負(fù)載均衡虛擬機(jī)是301在所述計(jì)算機(jī)設(shè)備300中創(chuàng)建的虛擬機(jī);
所述第一虛擬機(jī)304,用于發(fā)送業(yè)務(wù)報(bào)文;
所述虛擬交換機(jī)3022,用于接收所述第一虛擬機(jī)304發(fā)送的所述業(yè)務(wù)報(bào)文,在所述業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述負(fù)載均衡虛擬機(jī)301;
所述負(fù)載均衡虛擬機(jī)301,用于接收所述虛擬交換機(jī)3022轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文。
上述計(jì)算機(jī)設(shè)備300中包含負(fù)載均衡虛擬機(jī)301,在計(jì)算機(jī)設(shè)備300中的虛擬機(jī)發(fā)起業(yè)務(wù),需要進(jìn)行負(fù)載均衡處理時(shí),相關(guān)的業(yè)務(wù)報(bào)文只被發(fā)送到計(jì)算機(jī)設(shè)備300中的負(fù)載均衡虛擬機(jī)301來(lái)進(jìn)行負(fù)載均衡處理。由于負(fù)載均衡相關(guān)的業(yè)務(wù)報(bào)文在計(jì)算機(jī)設(shè)備中實(shí)現(xiàn),不會(huì)出現(xiàn)多個(gè)計(jì)算機(jī)設(shè)備上的業(yè)務(wù)報(bào)文集中到一個(gè)負(fù)載均衡節(jié)點(diǎn),避免了集中式的負(fù)載均衡的擁塞帶來(lái)的處理的延遲。并且,當(dāng)計(jì)算機(jī)設(shè)備300出現(xiàn)故障時(shí),該計(jì)算機(jī)設(shè)備300中的虛擬機(jī)也會(huì)隨之下線,不會(huì)再產(chǎn)生負(fù)載均衡的需求。因此,在單個(gè)計(jì)算機(jī)設(shè)備的故障帶來(lái)的負(fù)載均衡虛擬機(jī)的故障,不會(huì)影響其它計(jì)算機(jī)設(shè)備上的負(fù)載均衡虛擬機(jī),也不會(huì)存在因負(fù)載均衡虛擬機(jī)故障導(dǎo)致主備切換帶來(lái)的業(yè)務(wù)中斷。
本發(fā)明實(shí)施例中,計(jì)算機(jī)設(shè)備300除包括中央處理器cpu3031、內(nèi)存3032和存儲(chǔ)設(shè)備3033之外,還可以包括網(wǎng)絡(luò)硬件(圖中未示出)等硬件設(shè)備;網(wǎng)絡(luò)硬件可以是交換設(shè)備(網(wǎng)卡等)、路由器和/或其他網(wǎng)絡(luò)設(shè)備,用于實(shí)現(xiàn)多個(gè)設(shè)備之間的通信,多個(gè)設(shè)備之間可以通過(guò)無(wú)線或有線方式連接連接。
可選的,所述虛擬交換機(jī)3022只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述負(fù)載均衡虛擬機(jī)301可以包括:
所述虛擬交換機(jī)3022將所述負(fù)載均衡虛擬機(jī)301的mac地址發(fā)送給所述第一虛擬機(jī)304,使得所述第一虛擬機(jī)304基于獲取到的所述負(fù)載均衡虛擬機(jī)301的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)3022將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī)301;或,
所述負(fù)載均衡虛擬機(jī)301將其mac地址發(fā)送給所述第一虛擬機(jī)304,使得所述第一虛擬機(jī)304基于獲取到的所述負(fù)載均衡虛擬機(jī)301的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)3022將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī)301;或,
所述第一虛擬機(jī)304基于預(yù)先配置的所述負(fù)載均衡虛擬機(jī)301的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)3022將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī)301。
其中,所述虛擬交換機(jī)3022將所述負(fù)載均衡虛擬機(jī)301的mac地址發(fā)送給所述第一虛擬機(jī)304可以包括:
所述虛擬交換機(jī)3022接收所述第一虛擬機(jī)304發(fā)送的控制報(bào)文,向所述第一虛擬機(jī)304返回控制響應(yīng)報(bào)文,所述控制響應(yīng)報(bào)文包含所述負(fù)載均衡虛擬機(jī)301的mac地址。
所述控制報(bào)文可以為arp報(bào)文或互聯(lián)網(wǎng)控制消息協(xié)議(icmp,internetcontrolmessageprotocol)報(bào)文,所述icmp報(bào)文可以是第六版的icmpv6報(bào)文。以計(jì)算機(jī)設(shè)備300采用ipv4協(xié)議為例,當(dāng)?shù)谝惶摂M機(jī)304需要發(fā)送業(yè)務(wù)報(bào)文時(shí),第一虛擬機(jī)304先發(fā)送arp報(bào)文給虛擬交換機(jī)3022,虛擬交換機(jī)3022做arp代答,將負(fù)載均衡虛擬機(jī)301的mac地址發(fā)送給第一虛擬機(jī)304,第一虛擬機(jī)304根據(jù)獲取到負(fù)載均衡虛擬機(jī)301的mac地址,結(jié)合已經(jīng)獲取到的負(fù)載均衡虛擬機(jī)301的ip地址等信息,將業(yè)務(wù)報(bào)文通過(guò)虛擬交換機(jī)3022發(fā)送給負(fù)載均衡虛擬機(jī)301。通過(guò)這種方式,使得第一虛擬機(jī)304發(fā)送的業(yè)務(wù)報(bào)文,在需要進(jìn)行負(fù)載均衡處理時(shí),只發(fā)送給計(jì)算機(jī)設(shè)備300中的負(fù)載均衡虛擬機(jī)301。
參考圖4,圖4為本發(fā)明實(shí)施例中計(jì)算機(jī)設(shè)備300的一種具體實(shí)現(xiàn)結(jié)構(gòu)實(shí)體圖。圖4中,計(jì)算機(jī)設(shè)備300中的操作系統(tǒng)302運(yùn)行虛擬化管理的虛擬化層hypervisor3021和虛擬交換機(jī)3022,虛擬化層hypervisor20221對(duì)所述計(jì)算機(jī)設(shè)備300中的虛擬機(jī)(例如第一虛擬機(jī)304等)進(jìn)行管理,虛擬交換機(jī)3022為所述hypervisor3021所管理的虛擬機(jī)之間和虛擬機(jī)與物理網(wǎng)絡(luò)之間提供網(wǎng)絡(luò)連接功能,虛擬負(fù)載均衡代理單元3023通過(guò)虛擬機(jī)化層hypervisor3021對(duì)計(jì)算機(jī)設(shè)備300中的負(fù)載均衡虛擬機(jī)301進(jìn)行配置和管理。
所述虛擬負(fù)載均衡代理單元3023,用于接收創(chuàng)建負(fù)載均衡虛擬機(jī)301的配置信息,控制所述負(fù)載均衡虛擬機(jī)301的創(chuàng)建或刪除,以及控制所述負(fù)載均衡虛擬機(jī)301與所述虛擬交換機(jī)3022之間連接的建立。
所述虛擬負(fù)載均衡代理單元3023可以在下發(fā)創(chuàng)建所述負(fù)載均衡虛擬機(jī)301的用戶在所述計(jì)算機(jī)設(shè)備300中創(chuàng)建第一虛擬機(jī)(例如第一虛擬機(jī)304)時(shí),啟動(dòng)負(fù)載均衡虛擬機(jī)301的創(chuàng)建;在創(chuàng)建所述負(fù)載均衡虛擬機(jī)301的用戶在所述計(jì)算機(jī)設(shè)備300中創(chuàng)建的最后一個(gè)虛擬機(jī)被刪除時(shí),所述虛擬負(fù)載均衡代理單元3023指示刪除所述負(fù)載均衡虛擬機(jī)301。這樣能夠節(jié)省計(jì)算機(jī)設(shè)備300的資源,避免在不需要負(fù)載均衡業(yè)務(wù)時(shí),因創(chuàng)建負(fù)載均衡虛擬機(jī)造成的硬件資源的浪費(fèi)。具體的,所述虛擬負(fù)載均衡代理單元3023可以參考上述圖2中虛擬負(fù)載均衡代理單元20211的實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn),不再贅述。
可選的,所述計(jì)算機(jī)設(shè)備3022還包括第二虛擬機(jī)305,所述第二虛擬機(jī)305具備處理所述第一虛擬機(jī)304的所述業(yè)務(wù)報(bào)文的能力;
在所述負(fù)載均衡虛擬機(jī)301通過(guò)負(fù)載均衡算法確定所述第二虛擬機(jī)305處理所述第一虛擬機(jī)304的所述業(yè)務(wù)報(bào)文時(shí),所述第二虛擬機(jī)305接收所述負(fù)載均衡服務(wù)器301轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,并將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述負(fù)載均衡虛擬機(jī)301;
所述負(fù)載均衡虛擬機(jī)301,還用于將所述第二虛擬機(jī)305處理所述業(yè)務(wù)報(bào)文的結(jié)果通過(guò)所述虛擬交換機(jī)3022發(fā)送給所述第一虛擬機(jī)304。作為一種可選的實(shí)現(xiàn)方式,所述第二虛擬機(jī)305也可以直接將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述第一虛擬機(jī)304,即所述第二虛擬機(jī)305不通過(guò)所述負(fù)載均衡虛擬機(jī)301將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述第一虛擬機(jī)304。
負(fù)載均衡虛擬機(jī)301通過(guò)負(fù)載均衡算法等方式,將第一虛擬機(jī)304的業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給后端服務(wù)器(第二虛擬機(jī)305)來(lái)處理,并將后端服務(wù)器處理的結(jié)果發(fā)送給第一虛擬機(jī)304,實(shí)現(xiàn)了計(jì)算機(jī)設(shè)備300中利用自身創(chuàng)建的負(fù)載均衡虛擬機(jī)實(shí)現(xiàn)自身設(shè)備上負(fù)載均衡業(yè)務(wù)的目的,提高了負(fù)載均衡的處理效率。
參考圖5,圖5為本發(fā)明實(shí)施例第一種計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)結(jié)構(gòu)示意圖,該系統(tǒng)包括第一計(jì)算機(jī)設(shè)備502和第二計(jì)算機(jī)設(shè)備501,其中,所述第二計(jì)算機(jī)設(shè)備501包括中央處理器cpu50131、內(nèi)存50132和存儲(chǔ)設(shè)備50133;所述第一計(jì)算機(jī)設(shè)備502包括中央處理器cpu50231、內(nèi)存50232和存儲(chǔ)設(shè)備50233,所述第一計(jì)算機(jī)設(shè)備502中還包括在硬件基礎(chǔ)上虛擬化后生成的第一虛擬機(jī)50213、第一負(fù)載均衡虛擬機(jī)50212和虛擬交換機(jī)50222,所述第一虛擬機(jī)50213和所述第一負(fù)載均衡虛擬機(jī)50212是在所述計(jì)算機(jī)設(shè)備502中創(chuàng)建的虛擬機(jī);
所述第一虛擬機(jī)50213,用于發(fā)送業(yè)務(wù)報(bào)文;
所述第一虛擬交換機(jī)50222,用于接收所述第一虛擬機(jī)50213發(fā)送的所述業(yè)務(wù)報(bào)文,在所述業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述第一負(fù)載均衡虛擬機(jī)50212;
所述第一負(fù)載均衡虛擬機(jī)50212,用于接收所述第一虛擬交換機(jī)50222轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文。
上述第一計(jì)算機(jī)設(shè)備502中包含第一負(fù)載均衡虛擬機(jī)50212,在第一計(jì)算機(jī)設(shè)備502中的虛擬機(jī)的業(yè)務(wù)需要進(jìn)行負(fù)載均衡處理時(shí),相關(guān)的業(yè)務(wù)報(bào)文只被發(fā)送到第一計(jì)算機(jī)設(shè)備502中的第一負(fù)載均衡虛擬機(jī)50212來(lái)進(jìn)行負(fù)載均衡處理。由于負(fù)載均衡相關(guān)的業(yè)務(wù)報(bào)文在計(jì)算機(jī)設(shè)備中實(shí)現(xiàn),不會(huì)出現(xiàn)多個(gè)計(jì)算機(jī)設(shè)備上的業(yè)務(wù)報(bào)文集中到一個(gè)負(fù)載均衡節(jié)點(diǎn),避免了集中式的負(fù)載均衡的擁塞帶來(lái)的處理的延遲。并且,當(dāng)?shù)谝挥?jì)算機(jī)設(shè)備502出現(xiàn)故障時(shí),該第一計(jì)算機(jī)設(shè)備502中的虛擬機(jī)也會(huì)隨之下線,不會(huì)再產(chǎn)生負(fù)載均衡的需求。因此,在單個(gè)計(jì)算機(jī)設(shè)備的故障帶來(lái)的負(fù)載均衡虛擬機(jī)的故障,不會(huì)影響其它計(jì)算機(jī)設(shè)備上的負(fù)載均衡虛擬機(jī),也不會(huì)存在因負(fù)載均衡虛擬機(jī)故障導(dǎo)致主備切換帶來(lái)的業(yè)務(wù)中斷。
本發(fā)明實(shí)施例中,所述第二計(jì)算機(jī)設(shè)備501除包括中央處理器cpu50131、內(nèi)存50132和存儲(chǔ)設(shè)備50133之外,還可以包括網(wǎng)絡(luò)硬件(圖中未示出)等硬件設(shè)備;網(wǎng)絡(luò)硬件可以是交換設(shè)備(網(wǎng)卡等)、路由器和/或其他網(wǎng)絡(luò)設(shè)備,用于實(shí)現(xiàn)多個(gè)設(shè)備之間的通信,多個(gè)設(shè)備之間可以通過(guò)無(wú)線或有線方式連接連接。
可選的,所述第一虛擬交換機(jī)50222只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述第一負(fù)載均衡虛擬機(jī)50212可以包括:
所述第一虛擬交換機(jī)50222將所述第一負(fù)載均衡虛擬機(jī)50212的mac地址發(fā)送給所述第一虛擬機(jī)50213,使得所述第一虛擬機(jī)50213基于獲取到的所述第一負(fù)載均衡虛擬機(jī)50212mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)50222將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)50212;或,
所述第一負(fù)載均衡虛擬機(jī)50212將其mac地址發(fā)送給所述第一虛擬機(jī)50213,使得所述第一虛擬機(jī)50213基于所述第一負(fù)載均衡虛擬機(jī)50212mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)50222將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)50212;或,
所述第一虛擬機(jī)50213基于預(yù)先配置的所述第一負(fù)載均衡虛擬機(jī)50212的mac地址,發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)50222將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)50212。
其中,所述第一虛擬交換機(jī)50222將所述第一負(fù)載均衡虛擬機(jī)50212的mac地址發(fā)送給所述第一虛擬機(jī)50213包括:
所述第一虛擬交換機(jī)50222接收所述第一虛擬機(jī)50213發(fā)送的控制報(bào)文,向所述第一虛擬機(jī)50213返回控制響應(yīng)報(bào)文,所述控制響應(yīng)報(bào)文包含所述第一負(fù)載均衡虛擬機(jī)50212的mac地址。
所述控制報(bào)文可以為arp報(bào)文或icmpv6報(bào)文。以第一計(jì)算機(jī)設(shè)備502采用ipv4協(xié)議為例,當(dāng)?shù)谝惶摂M機(jī)50213需要發(fā)送業(yè)務(wù)報(bào)文時(shí),第一虛擬機(jī)50213先發(fā)送arp報(bào)文給第一虛擬交換機(jī)50222,第一虛擬交換機(jī)50222做arp代答,將負(fù)載均衡虛擬機(jī)301的mac地址發(fā)送給第一虛擬機(jī)50213,第一虛擬機(jī)50213根據(jù)獲取到第一負(fù)載均衡虛擬機(jī)50212的mac地址,結(jié)合已經(jīng)獲取到的第一負(fù)載均衡虛擬機(jī)50212的ip地址等信息,將業(yè)務(wù)報(bào)文通過(guò)第一虛擬交換機(jī)50222發(fā)送給第一負(fù)載均衡虛擬機(jī)50212。通過(guò)這種方式,使得第一虛擬機(jī)50213發(fā)送的業(yè)務(wù)報(bào)文,在需要進(jìn)行負(fù)載均衡處理時(shí),只發(fā)送給第一計(jì)算機(jī)設(shè)備502中的第一負(fù)載均衡虛擬機(jī)50212。
參考圖6,圖6為本發(fā)明實(shí)施例中第一中計(jì)算機(jī)系統(tǒng)的一種具體實(shí)現(xiàn)結(jié)構(gòu)實(shí)體圖。圖6中,第二計(jì)算機(jī)設(shè)備502中的操作系統(tǒng)5022運(yùn)行虛擬化管理的虛擬化層hypervisor50221和第一虛擬交換機(jī)50222,虛擬化層hypervisor50221對(duì)所述第一計(jì)算機(jī)設(shè)備502中的虛擬機(jī)(例如第一虛擬機(jī)50213等)進(jìn)行管理第一虛擬交換機(jī)50222為所述hypervisor50221所管理的虛擬機(jī)之間和虛擬機(jī)與物理網(wǎng)絡(luò)之間提供網(wǎng)絡(luò)連接功能,虛擬負(fù)載均衡代理單元50111通過(guò)虛擬機(jī)化層hypervisor50221對(duì)第一計(jì)算機(jī)設(shè)備502中的第一負(fù)載均衡虛擬機(jī)50212進(jìn)行配置和管理。第二計(jì)算機(jī)設(shè)備501作為計(jì)算機(jī)系統(tǒng)中的云管理平臺(tái),其操作系統(tǒng)5012運(yùn)行虛擬化管理的虛擬化層hypervisor50121。所述第二計(jì)算機(jī)設(shè)備501還包括虛擬機(jī)管理單元50112和虛擬負(fù)載均衡管理單元50111,所述虛擬機(jī)管理單元50112實(shí)現(xiàn)對(duì)第二計(jì)算機(jī)設(shè)備502中虛擬機(jī)的配置和管理,虛擬負(fù)載均衡管理單元50111用于接收用戶下發(fā)的創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息或創(chuàng)建虛擬機(jī)的配置信息,并將相關(guān)的配置信息,并將創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息保存在虛擬負(fù)載均衡數(shù)據(jù)設(shè)備50114中。所述第一計(jì)算機(jī)設(shè)備502還包括第一虛擬負(fù)載均衡代理單元50211。
所述虛擬負(fù)載均衡管理單元50111,用于接收創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212的配置信息,并將所述創(chuàng)建第一負(fù)載均衡虛擬機(jī)50212的配置信息發(fā)送給所述第一虛擬負(fù)載均衡代理單元50211;
所述第一虛擬負(fù)載均衡代理單元50211,用于接收所述創(chuàng)建第一負(fù)載均衡虛擬機(jī)50212的配置信息,指示所述虛擬機(jī)管理單元根據(jù)所述創(chuàng)建第一負(fù)載均衡虛擬機(jī)50212的配置信息創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212。
所述第一虛擬負(fù)載均衡代理單元50211可以在下發(fā)創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212的用戶在所述第一計(jì)算機(jī)設(shè)備502中創(chuàng)建第一虛擬機(jī)(例如第一虛擬機(jī)50213)時(shí),指示所述虛擬機(jī)管理單元50112創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212;在創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212的用戶在所述第一計(jì)算機(jī)設(shè)備502中創(chuàng)建的最后一個(gè)虛擬機(jī)被刪除時(shí),所述第一虛擬負(fù)載均衡代理單元50211指示指示所述虛擬機(jī)管理單元50112刪除所述第一負(fù)載均衡虛擬機(jī)50212。這樣能夠節(jié)省第一計(jì)算機(jī)設(shè)備502的資源,避免在不需要負(fù)載均衡業(yè)務(wù)時(shí),因創(chuàng)建負(fù)載均衡虛擬機(jī)造成的硬件資源的浪費(fèi)。具體的,所述第一虛擬負(fù)載均衡代理單元50211可以參考上述圖2中虛擬負(fù)載均衡代理單元20211的實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn),不再贅述。
在本實(shí)施例中,所述第一虛擬負(fù)載均衡代理單元50211還用于指示所述虛擬機(jī)管理單元50112為所述第一負(fù)載均衡虛擬機(jī)50212配置第一虛擬網(wǎng)卡并建立所述第一虛擬網(wǎng)卡與所述第一虛擬交換機(jī)50222之間的連接。
所述虛擬機(jī)管理單元50112建立所述虛擬網(wǎng)卡與所述第一虛擬交換機(jī)50222的連接可以通過(guò)配置第一虛擬交換機(jī)50222的網(wǎng)絡(luò)標(biāo)識(shí)來(lái)實(shí)現(xiàn)。例如,第一虛擬交換機(jī)50222有3個(gè)網(wǎng)絡(luò)接口,其網(wǎng)絡(luò)標(biāo)識(shí)為100,當(dāng)?shù)谝回?fù)載均衡虛擬機(jī)50212和第一虛擬機(jī)50213的虛擬網(wǎng)卡具有網(wǎng)絡(luò)標(biāo)識(shí)為100的接口時(shí),所述第一虛擬機(jī)50213可以通過(guò)網(wǎng)絡(luò)標(biāo)識(shí)為100的接口與負(fù)載均衡虛擬機(jī)20212的網(wǎng)絡(luò)標(biāo)識(shí)為100的接口實(shí)現(xiàn)通信。其中,所述虛擬機(jī)管理單元50112可以根據(jù)所述第一虛擬負(fù)載均衡代理單元50211或虛擬負(fù)載均衡管理單元50111指示,為所述第一虛擬交換機(jī)50222配置網(wǎng)絡(luò)標(biāo)識(shí)。
本發(fā)明實(shí)施例中,所述第一虛擬機(jī)50213是創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212配置信息的用戶創(chuàng)建的虛擬機(jī);所述虛擬負(fù)載均衡管理單元50111接收創(chuàng)建所述第一虛擬機(jī)50213的配置信息,并在判斷所述第一虛擬機(jī)50213是所述用戶在所述第一計(jì)算機(jī)設(shè)備502上創(chuàng)建的第一個(gè)虛擬機(jī)時(shí),將創(chuàng)建所述第一虛擬機(jī)50213的信息通知所述第一虛擬負(fù)載均衡代理單元50211;所述第一虛擬負(fù)載均衡代理單元50211在接收到所述虛擬負(fù)載均衡管理單元發(fā)送的創(chuàng)建所述第一虛擬機(jī)50213的通知時(shí),指示所述虛擬機(jī)管理單元50112創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212。這樣能夠節(jié)省計(jì)算機(jī)設(shè)備502的資源,避免在不需要負(fù)載均衡業(yè)務(wù)時(shí),因創(chuàng)建負(fù)載均衡虛擬機(jī)造成硬件資源的占用和浪費(fèi)。同樣的,在創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212配置信息的用戶在所述計(jì)算機(jī)設(shè)備502中的最后一個(gè)虛擬機(jī)被刪除時(shí),所述虛擬負(fù)載均衡管理單元50111通知所述第一虛擬負(fù)載均衡代理單元50211,所述第一虛擬負(fù)載均衡代理單元50211指示所述虛擬機(jī)管理單元50112創(chuàng)建所述第一負(fù)載均衡虛擬機(jī)50212。這樣也能夠節(jié)省計(jì)算機(jī)設(shè)備502的資源,避免在不需要負(fù)載均衡業(yè)務(wù)時(shí),因負(fù)載均衡虛擬機(jī)造成硬件資源的占用和浪費(fèi)。
上述是所述虛擬負(fù)載均衡管理單元50111通知所述第一虛擬負(fù)載均衡代理單元50211指示所述虛擬機(jī)管理單元50112創(chuàng)建或刪除所述第一負(fù)載均衡虛擬機(jī)50212,在具體實(shí)現(xiàn)時(shí),也可以是所述虛擬負(fù)載均衡管理單元50111通知所述虛擬機(jī)管理單元50112創(chuàng)建或刪除所述第一負(fù)載均衡虛擬機(jī)50212,不再贅述。
可選的,所述第一計(jì)算機(jī)設(shè)備502還包括第二虛擬機(jī)50214,所述第二虛擬機(jī)50214具備處理所述第一虛擬機(jī)50213的所述業(yè)務(wù)報(bào)文的能力;在所述第一負(fù)載均衡虛擬機(jī)50212通過(guò)負(fù)載均衡方式確定所述第二虛擬機(jī)50214處理所述第一虛擬機(jī)50213的所述業(yè)務(wù)報(bào)文時(shí),所述第二虛擬機(jī)50214接收所述第一負(fù)載均衡虛擬機(jī)50212轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,并將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述第一負(fù)載均衡虛擬機(jī)50212;所述第一負(fù)載均衡虛擬機(jī)5021將所述第二虛擬機(jī)50214處理所述業(yè)務(wù)報(bào)文的結(jié)果通過(guò)所述第一虛擬交換機(jī)50222發(fā)送給所述第一虛擬機(jī)50213。
上述第一負(fù)載均衡虛擬機(jī)50212通過(guò)負(fù)載均衡算法等方式,將第一虛擬機(jī)50213的業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給后端服務(wù)器(第二虛擬機(jī)50214)來(lái)處理,并將后端服務(wù)器處理的結(jié)果發(fā)送給第一虛擬機(jī)50213,實(shí)現(xiàn)了計(jì)算機(jī)設(shè)備502中利用自身創(chuàng)建的負(fù)載均衡虛擬機(jī)實(shí)現(xiàn)自身設(shè)備上負(fù)載均衡業(yè)務(wù)的目的,提高了負(fù)載均衡的處理效率。
本發(fā)明實(shí)施例的所述第一計(jì)算機(jī)系統(tǒng)還可以包括第三計(jì)算機(jī)設(shè)備。如圖7所示,所述第三計(jì)算機(jī)設(shè)備503與所述計(jì)算機(jī)設(shè)備502類似,包括第二虛擬負(fù)載均衡代理單元50311、第二虛擬交換機(jī)50322和第三虛擬機(jī)50313;
所述第二虛擬負(fù)載均衡代理單元50312,用于接收所述虛擬負(fù)載均衡管理單元50111發(fā)送的創(chuàng)建第二負(fù)載均衡虛擬機(jī)50312的配置信息,基于所述創(chuàng)建第二負(fù)載均衡虛擬機(jī)50312的配置信息,指示所述虛擬機(jī)管理單元50112創(chuàng)建所述第二負(fù)載均衡虛擬機(jī)50312,以及指示所述虛擬機(jī)管理單元50112為所述第二負(fù)載均衡虛擬機(jī)50312配置第二虛擬網(wǎng)卡并建立所述第二虛擬網(wǎng)卡與所述第二虛擬交換機(jī)50322之間的連接;
所述第二虛擬交換機(jī)50322,用于接收所述第三虛擬機(jī)50313發(fā)起的第二業(yè)務(wù)報(bào)文,在所述第二業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述第二業(yè)務(wù)報(bào)文給所述第二負(fù)載均衡虛擬機(jī)50312;
所述第二負(fù)載均衡虛擬機(jī)50312,用于接收所述第二虛擬交換機(jī)50322轉(zhuǎn)發(fā)的所述第二業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述第二業(yè)務(wù)報(bào)文。
相應(yīng)的,所述虛擬機(jī)管理單元50112可以為所述第一負(fù)載均衡虛擬機(jī)50212配置第一ip地址和第一mac地址,以及為所述第二負(fù)載均衡虛擬機(jī)配置第二ip地址和第二mac地址。其中,所述第一ip地址可以與所述第二ip地址相同,所述第一mac地址也可以與所述第二mac地址相同,這樣,可以節(jié)省計(jì)算機(jī)設(shè)備所組成的網(wǎng)絡(luò)中ip地址資源或mac地址資源,提高ip地址資源或mac地址資源的利用率。
上述圖5、圖6和圖7所示的實(shí)施例,還可以參考圖2中具體實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn),不再贅述。
可選的,本發(fā)明實(shí)施例還提供了第二種計(jì)算機(jī)系統(tǒng),包括第一計(jì)算機(jī)設(shè)備(如圖2中的計(jì)算機(jī)設(shè)備202或圖7中的計(jì)算機(jī)設(shè)備502)、第二計(jì)算機(jī)設(shè)備(如圖2中的計(jì)算機(jī)設(shè)備201或圖7中的計(jì)算機(jī)設(shè)備501)和第三計(jì)算機(jī)設(shè)備(如圖2中的計(jì)算機(jī)設(shè)備203或圖7中的計(jì)算機(jī)設(shè)備503),其中,所述第一計(jì)算機(jī)設(shè)備、第二計(jì)算機(jī)設(shè)備和第三計(jì)算機(jī)設(shè)備分別包括中央處理器cpu、內(nèi)存和存儲(chǔ)設(shè)備,所述第二計(jì)算機(jī)設(shè)備對(duì)所述第一計(jì)算機(jī)設(shè)備和所述第三計(jì)算機(jī)設(shè)備上的虛擬機(jī)進(jìn)行配置和管理,所述第一計(jì)算機(jī)設(shè)備包含第一虛擬交換機(jī),所述第三計(jì)算機(jī)設(shè)備包含第二虛擬交換機(jī);
所述第二計(jì)算機(jī)設(shè)備,用于接收在所述第一計(jì)算機(jī)設(shè)備上創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,在所述第一計(jì)算機(jī)設(shè)備中創(chuàng)建第一負(fù)載均衡虛擬機(jī),并建立所述第一負(fù)載均衡虛擬機(jī)與所述第一虛擬交換機(jī)的連接;以及接收在所述第三計(jì)算機(jī)設(shè)備上創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,在所述第三計(jì)算機(jī)設(shè)備中創(chuàng)建第二負(fù)載均衡虛擬機(jī),并建立所述第二負(fù)載均衡虛擬機(jī)與所述第二虛擬交換機(jī)的連接;
所述第一虛擬交換機(jī),用于接收所述第一計(jì)算機(jī)設(shè)備中的第一虛擬機(jī)發(fā)送的第一業(yè)務(wù)報(bào)文,在所述第一業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述第一業(yè)務(wù)報(bào)文給所述第一負(fù)載均衡虛擬機(jī);
所述第二虛擬交換機(jī),用于接收所述第三計(jì)算機(jī)設(shè)備中的第二虛擬機(jī)發(fā)送的第二業(yè)務(wù)報(bào)文,在所述第二業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述第二業(yè)務(wù)報(bào)文給所述第二負(fù)載均衡虛擬機(jī)。
上述第二計(jì)算機(jī)系統(tǒng)中包含所述第一計(jì)算機(jī)設(shè)備、第二計(jì)算機(jī)設(shè)備和第三計(jì)算機(jī)設(shè)備,所述第二計(jì)算機(jī)設(shè)備分別在所述第一計(jì)算機(jī)設(shè)備中創(chuàng)建第一負(fù)載均衡虛擬機(jī),在所述第三計(jì)算機(jī)設(shè)備中創(chuàng)建第二負(fù)載均衡虛擬機(jī),使得每個(gè)計(jì)算機(jī)設(shè)備中都有負(fù)載均衡虛擬機(jī)處理各自計(jì)算機(jī)設(shè)備中的負(fù)載均衡業(yè)務(wù),每個(gè)計(jì)算機(jī)設(shè)備中的虛擬機(jī)發(fā)出的業(yè)務(wù)報(bào)文,只在本計(jì)算機(jī)設(shè)備中的負(fù)載均衡虛擬機(jī)來(lái)負(fù)載均衡的處理。這樣,不會(huì)出現(xiàn)多個(gè)計(jì)算機(jī)設(shè)備上的業(yè)務(wù)報(bào)文集中到一個(gè)負(fù)載均衡節(jié)點(diǎn),避免了集中式的負(fù)載均衡的擁塞帶來(lái)的處理的延遲。并且,當(dāng)一個(gè)計(jì)算機(jī)設(shè)備出現(xiàn)故障時(shí),該計(jì)算機(jī)設(shè)備中的虛擬機(jī)也會(huì)隨之下線,不會(huì)再產(chǎn)生負(fù)載均衡的需求。因此,在單個(gè)計(jì)算機(jī)設(shè)備的故障帶來(lái)的負(fù)載均衡虛擬機(jī)的故障,不會(huì)影響其它計(jì)算機(jī)設(shè)備上的負(fù)載均衡虛擬機(jī),也不會(huì)存在因負(fù)載均衡虛擬機(jī)故障導(dǎo)致主備切換帶來(lái)的業(yè)務(wù)中斷。
其中,所述第二計(jì)算機(jī)系統(tǒng),所述第一虛擬交換機(jī)只轉(zhuǎn)發(fā)所述第一業(yè)務(wù)報(bào)文給所述第一負(fù)載均衡虛擬機(jī)包括:
所述第一虛擬交換機(jī)將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述第一負(fù)載均衡虛擬機(jī)mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī);或,
所述第一負(fù)載均衡虛擬機(jī)將其mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于所述第一負(fù)載均衡虛擬機(jī)mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī);或,
所述第一虛擬機(jī)基于預(yù)先配置的所述第一負(fù)載均衡虛擬機(jī)的mac地址,發(fā)送所述業(yè)務(wù)報(bào)文,所述第一虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述第一負(fù)載均衡虛擬機(jī)。
相應(yīng)的,所述第一虛擬交換機(jī)將所述第一負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)包括:
所述第一虛擬交換機(jī)接收所述第一虛擬機(jī)發(fā)送的控制報(bào)文,向所述第一虛擬機(jī)返回控制響應(yīng)報(bào)文,所述控制響應(yīng)報(bào)文包含所述第一負(fù)載均衡虛擬機(jī)的mac地址。所述控制報(bào)文可以為arp報(bào)文或icmpv6報(bào)文。
可選的,所述第一計(jì)算機(jī)設(shè)備還包括第二虛擬機(jī),所述第二虛擬機(jī)具備處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文的能力;
在所述第一負(fù)載均衡虛擬機(jī)通過(guò)負(fù)載均衡方式確定所述第二虛擬機(jī)處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文時(shí),所述第二虛擬機(jī)接收所述第一負(fù)載均衡服務(wù)器轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,并將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述第一負(fù)載均衡虛擬機(jī);
所述第一負(fù)載均衡虛擬機(jī),還用于將所述第二虛擬機(jī)處理所述業(yè)務(wù)報(bào)文的結(jié)果通過(guò)所述第一虛擬交換機(jī)發(fā)送給所述第一虛擬機(jī)。
本發(fā)明實(shí)施例中,所述第一負(fù)載均衡虛擬機(jī)的ip地址與所述第二負(fù)載均衡虛擬機(jī)的ip地址相同;或所述第一負(fù)載均衡虛擬機(jī)的mac地址與所述第二負(fù)載均衡虛擬機(jī)的mac地址相同。這樣能夠節(jié)省所述第二計(jì)算機(jī)系統(tǒng)中ip地址或mac地址的地址資源,提高資源的利用率。
參考圖8,圖8為本發(fā)明實(shí)施例一種實(shí)現(xiàn)負(fù)載均衡方法的流程示意圖。如圖8所示,所述方法包括:
步驟800:第二計(jì)算機(jī)設(shè)備接收在第一計(jì)算機(jī)設(shè)備上創(chuàng)建所述負(fù)載均衡虛擬機(jī)的配置信息,所述第一計(jì)算機(jī)設(shè)備包括中央處理器cpu、內(nèi)存和存儲(chǔ)設(shè)備,所述第一計(jì)算機(jī)設(shè)備還包括第一虛擬機(jī)和虛擬交換機(jī);
步驟802:所述第二計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第一計(jì)算機(jī)設(shè)備上創(chuàng)建負(fù)載均衡虛擬機(jī),并建立所述負(fù)載均衡虛擬機(jī)與所述第一計(jì)算機(jī)設(shè)備中的虛擬交換機(jī)的連接;
步驟804:所述虛擬交換機(jī)接收所述第一虛擬機(jī)發(fā)送的業(yè)務(wù)報(bào)文,在所述業(yè)務(wù)報(bào)文需要負(fù)載均衡處理時(shí),只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述負(fù)載均衡虛擬機(jī);
步驟806:所述負(fù)載均衡虛擬機(jī)接收所述第一虛擬交換機(jī)轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,基于負(fù)載均衡方式轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文。
上述方法中,第一計(jì)算機(jī)設(shè)備中包含負(fù)載均衡虛擬機(jī),在第一計(jì)算機(jī)設(shè)備中的虛擬機(jī)發(fā)起業(yè)務(wù),需要進(jìn)行負(fù)載均衡處理時(shí),相關(guān)的業(yè)務(wù)報(bào)文只被發(fā)送到第一計(jì)算機(jī)設(shè)備中的負(fù)載均衡虛擬機(jī)來(lái)進(jìn)行負(fù)載均衡處理。由于負(fù)載均衡相關(guān)的業(yè)務(wù)報(bào)文在計(jì)算機(jī)設(shè)備中實(shí)現(xiàn),不會(huì)出現(xiàn)多個(gè)計(jì)算機(jī)設(shè)備上的業(yè)務(wù)報(bào)文集中到一個(gè)負(fù)載均衡節(jié)點(diǎn),避免了集中式的負(fù)載均衡的擁塞帶來(lái)的處理的延遲。并且,當(dāng)?shù)谝挥?jì)算機(jī)設(shè)備出現(xiàn)故障時(shí),該第一計(jì)算機(jī)設(shè)備中的虛擬機(jī)也會(huì)隨之下線,不會(huì)再產(chǎn)生負(fù)載均衡的需求。因此,在單個(gè)計(jì)算機(jī)設(shè)備的故障帶來(lái)的負(fù)載均衡虛擬機(jī)的故障,不會(huì)影響其它計(jì)算機(jī)設(shè)備上的負(fù)載均衡虛擬機(jī),也不會(huì)存在因負(fù)載均衡虛擬機(jī)故障導(dǎo)致主備切換帶來(lái)的業(yè)務(wù)中斷。
可選的,上述步驟804中,所述虛擬交換機(jī)只轉(zhuǎn)發(fā)所述業(yè)務(wù)報(bào)文給所述負(fù)載均衡虛擬機(jī)包括:
所述虛擬交換機(jī)將所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述負(fù)載均衡虛擬機(jī)mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī);或,
所述負(fù)載均衡虛擬機(jī)將其mac地址發(fā)送給所述第一虛擬機(jī),使得所述第一虛擬機(jī)基于獲取到的所述負(fù)載均衡虛擬機(jī)mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī);或,
所述第一虛擬機(jī)基于預(yù)先配置的所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送所述業(yè)務(wù)報(bào)文,所述虛擬交換機(jī)將所述業(yè)務(wù)報(bào)文轉(zhuǎn)發(fā)給所述負(fù)載均衡虛擬機(jī)。
其中,所述虛擬交換機(jī)將所述負(fù)載均衡虛擬機(jī)的mac地址發(fā)送給所述第一虛擬機(jī)可以包括:
所述虛擬交換機(jī)接收所述第一虛擬機(jī)發(fā)送的控制報(bào)文,向所述第一虛擬機(jī)返回控制響應(yīng)報(bào)文,所述控制響應(yīng)報(bào)文包含所述負(fù)載均衡虛擬機(jī)的mac地址。所述控制報(bào)文可以為arp報(bào)文或icmpv6報(bào)文。
在所述第二計(jì)算機(jī)設(shè)備根據(jù)所述配置信息,在所述第一計(jì)算機(jī)設(shè)備上創(chuàng)建負(fù)載均衡虛擬機(jī)之前,所述方法還包括:
所述第二計(jì)算機(jī)設(shè)備將所述配置信息發(fā)送給所述第一計(jì)算機(jī)設(shè)備;
所述第一計(jì)算機(jī)設(shè)備接收創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息,指示所述第二計(jì)算機(jī)設(shè)備創(chuàng)建所述負(fù)載均衡虛擬機(jī)。
本發(fā)明實(shí)施例中,所述第二計(jì)算機(jī)設(shè)備還包括第二虛擬機(jī),所述第二虛擬機(jī)具備處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文的能力,所述方法還包括:
在所述負(fù)載均衡虛擬機(jī)通過(guò)負(fù)載均衡算法確定所述第二虛擬機(jī)處理所述第一虛擬機(jī)的所述業(yè)務(wù)報(bào)文時(shí),所述第二虛擬機(jī)接收所述負(fù)載均衡服務(wù)器轉(zhuǎn)發(fā)的所述業(yè)務(wù)報(bào)文,并將處理所述業(yè)務(wù)報(bào)文的結(jié)果發(fā)送給所述負(fù)載均衡虛擬機(jī);
所述負(fù)載均衡虛擬機(jī)將所述第二虛擬機(jī)處理所述業(yè)務(wù)報(bào)文的結(jié)果通過(guò)所述虛擬交換機(jī)發(fā)送給所述第一虛擬機(jī)。
所述第二虛擬機(jī)與所述第一虛擬機(jī)在一個(gè)計(jì)算機(jī)設(shè)備中,能夠節(jié)省業(yè)務(wù)處理跨計(jì)算機(jī)設(shè)備所造成的帶寬占用,提高業(yè)務(wù)處理的效率。
本發(fā)明實(shí)施例中方法實(shí)施例的實(shí)現(xiàn),還可以參考上述圖2所示的實(shí)施例的實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn),不再贅述。
下面結(jié)合圖2所示的應(yīng)用場(chǎng)景,以用戶通過(guò)云管理平臺(tái)在計(jì)算機(jī)設(shè)備202中申請(qǐng)?zhí)摂M機(jī)20213,通過(guò)該虛擬機(jī)20213實(shí)現(xiàn)具體的業(yè)務(wù)(例如訪問(wèn)視頻業(yè)務(wù)),該業(yè)務(wù)可以由計(jì)算機(jī)設(shè)備202中的虛擬機(jī)20214或計(jì)算機(jī)設(shè)備203中的虛擬機(jī)20314等后端服務(wù)器來(lái)處理,且需要在虛擬機(jī)20214和虛擬機(jī)20314之間對(duì)虛擬機(jī)20213發(fā)起的業(yè)務(wù)做負(fù)載均衡為例,對(duì)本發(fā)明實(shí)施例實(shí)現(xiàn)負(fù)載均衡業(yè)務(wù)的方法的實(shí)現(xiàn)方式進(jìn)行詳細(xì)說(shuō)明。
圖9為實(shí)現(xiàn)過(guò)程的流程示意圖。需要說(shuō)明的是,圖9所示的實(shí)現(xiàn)過(guò)程仍以具備負(fù)載均衡功能的虛擬機(jī)作為負(fù)載均衡器的實(shí)現(xiàn)方式來(lái)描述。對(duì)于以容器或namespace等實(shí)現(xiàn)負(fù)載均衡器的實(shí)現(xiàn)方式,可以參照下述以虛擬機(jī)作為負(fù)載均衡器的實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn)。
如圖9所示,本發(fā)明實(shí)施例實(shí)現(xiàn)負(fù)載均衡業(yè)務(wù)的一種方法包括:
步驟900:計(jì)算機(jī)設(shè)備201獲取在計(jì)算機(jī)設(shè)備202中創(chuàng)建負(fù)載均衡虛擬機(jī)的配置信息。
步驟902:計(jì)算機(jī)設(shè)備201根據(jù)獲取到的負(fù)載均衡虛擬機(jī)的配置信息,在計(jì)算機(jī)設(shè)備202中創(chuàng)建負(fù)載均衡虛擬機(jī)20212;
步驟904:配置計(jì)算機(jī)設(shè)備202中負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,使得虛擬機(jī)20213發(fā)起的業(yè)務(wù),只被轉(zhuǎn)發(fā)到在計(jì)算機(jī)設(shè)備202中創(chuàng)建的負(fù)載均衡虛擬機(jī)20212進(jìn)行負(fù)載均衡處理;
其中,所述虛擬機(jī)20213發(fā)起的業(yè)務(wù)為負(fù)載均衡業(yè)務(wù),所述負(fù)載均衡業(yè)務(wù)為需要進(jìn)行負(fù)載均衡處理的業(yè)務(wù)。
步驟906:負(fù)載均衡虛擬機(jī)20212接收虛擬機(jī)20213發(fā)送的業(yè)務(wù),選擇一個(gè)后端服務(wù)器處理所述虛擬機(jī)20213發(fā)起的業(yè)務(wù);
步驟908:后端服務(wù)器將處理后的所述虛擬機(jī)20213發(fā)起的業(yè)務(wù)返回給虛擬機(jī)20213。
上述步驟900中,計(jì)算機(jī)設(shè)備201作為云管理平臺(tái),能獲取到需要?jiǎng)?chuàng)建的負(fù)載均衡虛擬機(jī)的配置信息,例如用戶通過(guò)計(jì)算機(jī)設(shè)備201上運(yùn)行的云管理平臺(tái)相關(guān)的軟件下發(fā)的負(fù)載均衡虛擬機(jī)的配置信息,或者計(jì)算機(jī)設(shè)備201中預(yù)先存儲(chǔ)的關(guān)于負(fù)載均衡虛擬機(jī)的配置信息。并且,計(jì)算機(jī)設(shè)備201作為云管理平臺(tái),也可以獲取其它的業(yè)務(wù)虛擬機(jī),例如計(jì)算機(jī)設(shè)備202中虛擬機(jī)20213的配置信息。計(jì)算機(jī)設(shè)備201獲取業(yè)務(wù)虛擬機(jī)的配置信息的方式,也包括接收用戶通過(guò)云管理平臺(tái)相關(guān)軟件下發(fā)的配置信息或計(jì)算機(jī)設(shè)備201中預(yù)先存儲(chǔ)的配置信息。
由于本發(fā)明實(shí)施例是用戶通過(guò)云管理平臺(tái)在計(jì)算機(jī)設(shè)備202中申請(qǐng)?zhí)摂M機(jī)20213,該虛擬機(jī)20213發(fā)起的業(yè)務(wù)請(qǐng)求需要進(jìn)行負(fù)載均衡處理。為避免現(xiàn)有技術(shù)中集中式的負(fù)載均衡節(jié)點(diǎn)所造成的擁塞等弊端,本發(fā)明實(shí)施例在計(jì)算機(jī)設(shè)備202中創(chuàng)建負(fù)載均衡虛擬機(jī)20212,由該負(fù)載均衡虛擬機(jī)20212處理虛擬機(jī)20213發(fā)起的需要進(jìn)行負(fù)載均衡處理的業(yè)務(wù)請(qǐng)求。因此,在步驟900中,計(jì)算機(jī)設(shè)備201需要獲取在計(jì)算機(jī)設(shè)備202中創(chuàng)建的負(fù)載均衡虛擬機(jī)的配置信息,即負(fù)載均衡虛擬機(jī)20212的配置信息,并根據(jù)獲取到的負(fù)載均衡虛擬機(jī)的配置信息在計(jì)算機(jī)設(shè)備202中配置負(fù)載均衡虛擬機(jī)。
本發(fā)明實(shí)施例中,所述負(fù)載均衡虛擬機(jī)的配置信息包括但不限于:負(fù)載均衡虛擬機(jī)20212的標(biāo)識(shí),負(fù)載均衡虛擬機(jī)20212的vip地址。其中,所述負(fù)載均衡虛擬機(jī)20212的vip指示負(fù)載均衡業(yè)務(wù)。例如,當(dāng)負(fù)載均衡虛擬機(jī)20212的ip地址被配置為vip時(shí),該負(fù)載均衡虛擬機(jī)20212能夠被作為處理負(fù)載均衡業(yè)務(wù)的節(jié)點(diǎn)被尋址到。可選的,本發(fā)明實(shí)施例中,所述負(fù)載均衡虛擬機(jī)的配置信息還包括與該負(fù)載均衡虛擬機(jī)20212相關(guān)的后端服務(wù)器的信息等。
可選的,所述配置信息還可以包括虛擬機(jī)參數(shù)信息,虛擬機(jī)參數(shù)信息包括但不限于:虛擬中央處理器的個(gè)數(shù),虛擬內(nèi)存的大小,以及所述負(fù)載均衡虛擬機(jī)20212所在的邏輯網(wǎng)絡(luò)等信息。該虛擬機(jī)的參數(shù)信息可以是預(yù)先配置好的參數(shù)列表,按照不同的需求可以選擇不同的參數(shù)列表。該參數(shù)列表可以是用戶下發(fā)配置信息時(shí)指定的,也可以是計(jì)算機(jī)設(shè)備201根據(jù)預(yù)先的策略在存儲(chǔ)的配置信息列表中獲取的,本發(fā)明實(shí)施例不限定獲取負(fù)載均衡虛擬機(jī)20212的虛擬機(jī)參數(shù)信息的方式。
在步驟902中,計(jì)算機(jī)設(shè)備201根據(jù)獲取到的負(fù)載均衡虛擬機(jī)的配置信息,創(chuàng)建負(fù)載均衡虛擬機(jī)20212。
計(jì)算機(jī)設(shè)備201作為云管理平臺(tái),能夠在計(jì)算機(jī)設(shè)備202中創(chuàng)建普通虛擬機(jī),也能夠創(chuàng)建負(fù)載均衡虛擬機(jī)。計(jì)算機(jī)設(shè)備201能夠根據(jù)獲取到的負(fù)載均衡虛擬機(jī)20212的配置信息,在計(jì)算機(jī)設(shè)備202中創(chuàng)建負(fù)載均衡虛擬機(jī)20212。
可選的,上述方法還可以包括步驟901:計(jì)算機(jī)設(shè)備201在計(jì)算機(jī)設(shè)備202中創(chuàng)建虛擬機(jī)20213。該虛擬機(jī)20213是用戶創(chuàng)建的業(yè)務(wù)虛擬機(jī),虛擬機(jī)20213是發(fā)起業(yè)務(wù)的虛擬機(jī)。虛擬機(jī)20213發(fā)起的業(yè)務(wù)包括負(fù)載均衡業(yè)務(wù),即虛擬機(jī)20213發(fā)起的負(fù)載均衡業(yè)務(wù),是需要進(jìn)行負(fù)載均衡處理的業(yè)務(wù)。
當(dāng)下發(fā)創(chuàng)建負(fù)載均衡虛擬機(jī)配置信息的用戶在計(jì)算機(jī)設(shè)備202上創(chuàng)建第一個(gè)虛擬機(jī)時(shí),例如創(chuàng)建第一個(gè)發(fā)起負(fù)載均衡業(yè)務(wù)的虛擬機(jī)20213時(shí),計(jì)算機(jī)設(shè)備201創(chuàng)建負(fù)載均衡虛擬機(jī)20212。在該用戶創(chuàng)建的最后一個(gè)虛擬機(jī)被刪除時(shí),例如刪除最后一個(gè)發(fā)起負(fù)載均衡業(yè)務(wù)的虛擬機(jī)20213時(shí),計(jì)算機(jī)設(shè)備201刪除負(fù)載均衡虛擬機(jī)20212。這樣,只在用戶創(chuàng)建發(fā)起負(fù)載均衡業(yè)務(wù)的虛擬機(jī)時(shí)才創(chuàng)建負(fù)載均衡虛擬機(jī)20212,能夠避免該用戶沒(méi)有創(chuàng)建虛擬機(jī)時(shí)因創(chuàng)建負(fù)載均衡虛擬機(jī)帶來(lái)的計(jì)算機(jī)設(shè)備202的資源被占用的問(wèn)題,提高了計(jì)算機(jī)設(shè)備202的資源利用率。
上述計(jì)算機(jī)設(shè)備201判斷該創(chuàng)建的虛擬機(jī)是否是已經(jīng)配置了虛擬負(fù)載均衡業(yè)務(wù)的用戶創(chuàng)建的第一個(gè)業(yè)務(wù)虛擬機(jī),可以根據(jù)用戶的信息,例如用戶的標(biāo)識(shí)信息等,判斷是否是已經(jīng)配置了虛擬負(fù)載均衡業(yè)務(wù)的用戶創(chuàng)建的第一個(gè)業(yè)務(wù)虛擬機(jī)。
同樣的,判斷已經(jīng)配置了虛擬負(fù)載均衡業(yè)務(wù)的用戶創(chuàng)建的最后一個(gè)業(yè)務(wù)虛擬機(jī)被刪除時(shí),也可以按照上述用戶的信息來(lái)判斷,不再贅述。
在步驟902中,計(jì)算機(jī)設(shè)備201根據(jù)獲取到的負(fù)載均衡虛擬機(jī)的配置信息,創(chuàng)建負(fù)載均衡虛擬機(jī)20212還包括計(jì)算機(jī)設(shè)備201根據(jù)負(fù)載均衡虛擬機(jī)的配置信息中的網(wǎng)絡(luò)信息,為所述負(fù)載均衡虛擬機(jī)20212配置虛擬網(wǎng)卡。
上述步驟904中,可以是由計(jì)算機(jī)設(shè)備201在計(jì)算機(jī)設(shè)備202中配置負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式。其中,所述轉(zhuǎn)發(fā)模式使得計(jì)算機(jī)設(shè)備202上的所述發(fā)起業(yè)務(wù)的虛擬機(jī),例如虛擬機(jī)20213,發(fā)起的所述負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文定向轉(zhuǎn)發(fā)到所述負(fù)載均衡器。
計(jì)算機(jī)設(shè)備201配置計(jì)算機(jī)設(shè)備202中負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,可以通過(guò)配置算機(jī)設(shè)備202中虛擬交換機(jī)的轉(zhuǎn)發(fā)模式來(lái)實(shí)現(xiàn)。計(jì)算機(jī)設(shè)備202中虛擬交換機(jī)為虛擬交換機(jī)20222,所述虛擬交換機(jī)20222被配置的轉(zhuǎn)發(fā)模式,是對(duì)所述虛擬機(jī)20213發(fā)送的需要負(fù)載均衡處理的業(yè)務(wù)報(bào)文進(jìn)行定向轉(zhuǎn)發(fā)處理,將所述虛擬機(jī)20213發(fā)送的需要負(fù)載均衡處理的業(yè)務(wù)報(bào)文,只發(fā)送至所述計(jì)算機(jī)設(shè)備202中的負(fù)載均衡虛擬機(jī)20212。可選的,所述虛擬交換機(jī)20222的轉(zhuǎn)發(fā)模式可以為arp或ndp代答模式,即所述虛擬交換機(jī)20222對(duì)所述業(yè)務(wù)報(bào)文進(jìn)行定向轉(zhuǎn)發(fā)通過(guò)arp或ndp代答模式來(lái)實(shí)現(xiàn)。
當(dāng)所述虛擬機(jī)20213發(fā)起負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文時(shí),所述虛擬機(jī)20213根據(jù)所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,發(fā)送所述負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文到所述負(fù)載均衡虛擬機(jī)20212。具體的,可以是所述虛擬機(jī)20213發(fā)起需要進(jìn)行負(fù)載均衡處理的負(fù)載均衡業(yè)務(wù)時(shí),先發(fā)送一個(gè)以vip為目的ip的控制報(bào)文,該控制報(bào)文可以是負(fù)載均衡業(yè)務(wù)的廣播報(bào)文。在通常情況下,所述虛擬機(jī)20213發(fā)起以vip為目的ip的控制報(bào)文,會(huì)被轉(zhuǎn)發(fā)到所有ip地址為vip的負(fù)載均衡節(jié)點(diǎn)(例如負(fù)載均衡器等)。但本發(fā)明實(shí)施例中,由于計(jì)算機(jī)設(shè)備201在計(jì)算機(jī)設(shè)備202中配置了負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式,計(jì)算機(jī)設(shè)備202中的虛擬交換機(jī)20222在接收到虛擬機(jī)20213發(fā)送的控制報(bào)文后,只將負(fù)載均衡虛擬機(jī)20212的mac地址發(fā)送給虛擬機(jī)20213。虛擬機(jī)20213根據(jù)獲取到的負(fù)載均衡虛擬機(jī)20212的mac地址,將負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文發(fā)送給負(fù)載均衡虛擬機(jī)20212。使得虛擬機(jī)20213發(fā)起的業(yè)務(wù),只被轉(zhuǎn)發(fā)到在計(jì)算機(jī)設(shè)備202中創(chuàng)建的負(fù)載均衡虛擬機(jī)20212進(jìn)行負(fù)載均衡處理。
可選的,在所述虛擬機(jī)20213發(fā)送業(yè)務(wù)報(bào)文之前,發(fā)送到虛擬交換機(jī)20222的控制報(bào)文可以是arp報(bào)文或icmp報(bào)文。
本發(fā)明實(shí)施例以支持openstack的云平臺(tái)為例,對(duì)arp代答技術(shù)的實(shí)現(xiàn)方式進(jìn)行說(shuō)明。在虛擬機(jī)20213第一次發(fā)起負(fù)載均衡處理的業(yè)務(wù)時(shí),先發(fā)送控制報(bào)文給虛擬交換機(jī)20222,例如先發(fā)送一個(gè)arp請(qǐng)求報(bào)文給虛擬交換機(jī)20222,虛擬交換機(jī)20222做arp代答。由于虛擬機(jī)20213第一次發(fā)起負(fù)載均衡處理的業(yè)務(wù)時(shí),虛擬機(jī)20213不知道處理負(fù)載均衡業(yè)務(wù)的負(fù)載均衡虛擬機(jī)的mac地址,只知道負(fù)載均衡業(yè)務(wù)的vip地址。因此,虛擬機(jī)20213第一次發(fā)起負(fù)載均衡處理的業(yè)務(wù)時(shí),先發(fā)送一個(gè)arp請(qǐng)求,以獲取處理負(fù)載均衡業(yè)務(wù)的負(fù)載均衡虛擬機(jī)的mac地址。
所述arp請(qǐng)求報(bào)文的目的ip為vip,該vip為負(fù)載均衡虛擬機(jī)可被訪問(wèn)的ip地址。所述arp請(qǐng)求報(bào)文的目的mac地址可以是通用的負(fù)載均衡虛擬機(jī)的mac地址,該mac不是一個(gè)具體的負(fù)載均衡虛擬機(jī)的mac地址,目的mac地址也可以為空。arp代答技術(shù)通過(guò)流表來(lái)實(shí)現(xiàn),流表技術(shù)一般由兩部分組成,一部分是匹配條件,另一部分是動(dòng)作,arp代答的流表的匹配條件是:協(xié)議類型為arp,arp的目標(biāo)協(xié)議地址為vip,該vip是負(fù)載均衡虛擬機(jī)可被訪問(wèn)的ip地址,arp操作類型為arp請(qǐng)求。當(dāng)虛擬交換機(jī)20222對(duì)虛擬機(jī)20213發(fā)送的arp請(qǐng)求做arp代答時(shí),將負(fù)載均衡虛擬機(jī)20212的mac地址返回給虛擬機(jī)20213。
虛擬交換機(jī)20222將arp應(yīng)答報(bào)文發(fā)送給虛擬機(jī)20213后,虛擬機(jī)20213發(fā)送需要負(fù)載均衡處理的業(yè)務(wù)報(bào)文,所述業(yè)務(wù)報(bào)文的ip地址是vip地址,mac地址是從虛擬交換機(jī)20222的arp應(yīng)答中獲取的負(fù)載均衡虛擬機(jī)20212的mac。虛擬機(jī)20213將所述業(yè)務(wù)報(bào)文發(fā)送給虛擬交換機(jī)20222。虛擬交換機(jī)20202收到虛擬機(jī)20213發(fā)送的業(yè)務(wù)報(bào)文后,根據(jù)業(yè)務(wù)報(bào)文中攜帶的mac地址,將該業(yè)務(wù)報(bào)文發(fā)送給負(fù)載均衡虛擬機(jī)20212。
上述虛擬交換機(jī)20222接收虛擬機(jī)20213發(fā)送的業(yè)務(wù)報(bào)文,根據(jù)所述業(yè)務(wù)報(bào)文的ip地址和mac地址,將所述業(yè)務(wù)報(bào)文發(fā)送到負(fù)載均衡虛擬機(jī)20212。其他計(jì)算機(jī)設(shè)備(如計(jì)算機(jī)設(shè)備203)上的負(fù)載均衡虛擬機(jī)(如負(fù)載均衡虛擬機(jī)20312)沒(méi)有收到虛擬機(jī)20213的業(yè)務(wù)報(bào)文,不會(huì)處理虛擬機(jī)20213發(fā)送的需要負(fù)載均衡處理的業(yè)務(wù)報(bào)文。實(shí)現(xiàn)了每個(gè)計(jì)算機(jī)設(shè)備中的虛擬機(jī)的業(yè)務(wù)報(bào)文在需要負(fù)載均衡處理時(shí),只在本計(jì)算機(jī)設(shè)備內(nèi)的負(fù)載均衡虛擬機(jī)上實(shí)現(xiàn)的目的。
作為一種可選的實(shí)現(xiàn)方式,所述計(jì)算機(jī)設(shè)備201在所述計(jì)算機(jī)設(shè)備202上配置所述負(fù)載均衡業(yè)務(wù)的轉(zhuǎn)發(fā)模式還可以通過(guò)下述方式實(shí)現(xiàn):
所述計(jì)算機(jī)設(shè)備201指示所述負(fù)載均衡虛擬機(jī)20212將所述負(fù)載均衡虛擬機(jī)20212的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī)(例如虛擬機(jī)20213);或者,
所述計(jì)算機(jī)設(shè)備201在所述發(fā)起業(yè)務(wù)的虛擬機(jī)(例如虛擬機(jī)20213)上配置所述負(fù)載均衡虛擬機(jī)20212的mac地址。
其中,當(dāng)所述計(jì)算機(jī)設(shè)備201指示所述負(fù)載均衡虛擬機(jī)20212將所述負(fù)載均衡虛擬機(jī)20212的mac地址發(fā)送給所述發(fā)起業(yè)務(wù)的虛擬機(jī)(例如虛擬機(jī)20213)時(shí),發(fā)起業(yè)務(wù)的虛擬機(jī)(例如虛擬機(jī)20213),以接收到的所述負(fù)載均衡虛擬機(jī)20212的mac地址,作為發(fā)起負(fù)載均衡業(yè)務(wù)時(shí)的目的mac地址。當(dāng)所述計(jì)算機(jī)設(shè)備201在所述發(fā)起業(yè)務(wù)的虛擬機(jī)(例如虛擬機(jī)20213)上配置所述負(fù)載均衡虛擬機(jī)20212的mac地址時(shí),配置的所述負(fù)載均衡虛擬機(jī)20212的mac地址,是發(fā)起業(yè)務(wù)的虛擬機(jī)(例如虛擬機(jī)20213)發(fā)送負(fù)載均衡業(yè)務(wù)時(shí)的目的mac地址。
上述步驟906中,負(fù)載均衡虛擬機(jī)20212接收虛擬機(jī)20213發(fā)送的業(yè)務(wù),選擇一個(gè)后端服務(wù)器處理所述虛擬機(jī)20213發(fā)起的業(yè)務(wù),可以包括如下實(shí)現(xiàn)步驟:所述負(fù)載均衡虛擬機(jī)20212在收到業(yè)務(wù)報(bào)文后,首先判斷是否已經(jīng)為所述業(yè)務(wù)報(bào)文分配了一個(gè)后端服務(wù)器為其服務(wù),如果已經(jīng)分配了后端服務(wù)器,則將該業(yè)務(wù)報(bào)文發(fā)送給已經(jīng)分配的后端服務(wù)器。如果還沒(méi)有分配后端服務(wù)器,則通過(guò)負(fù)載均衡算法,選擇一個(gè)后端服務(wù)器為其服務(wù)。所述負(fù)載均衡算法包括但不限于:輪詢、加權(quán)輪詢、隨機(jī)、最小連接或源地散列,基于位置優(yōu)先的加權(quán)輪詢等。所述位置優(yōu)先的加權(quán)輪詢方式,可以優(yōu)先選擇在發(fā)起業(yè)務(wù)報(bào)文的虛擬機(jī)所在的計(jì)算機(jī)設(shè)備中的后端服務(wù)器,即計(jì)算機(jī)設(shè)備202中的虛擬機(jī)20214作為處理虛擬機(jī)20213業(yè)務(wù)的后端服務(wù)器,這樣能夠節(jié)省后端服務(wù)器處理業(yè)務(wù)報(bào)文的速度,節(jié)省網(wǎng)絡(luò)帶寬。當(dāng)然,步驟906中,負(fù)載均衡虛擬機(jī)20212也可以將虛擬機(jī)20213的業(yè)務(wù)請(qǐng)求經(jīng)過(guò)負(fù)載均衡算法處理后,發(fā)送給計(jì)算機(jī)設(shè)備203中的虛擬機(jī)20314,由該虛擬機(jī)20314作為處理虛擬機(jī)20213業(yè)務(wù)的后端服務(wù)器,處理虛擬機(jī)20213發(fā)起的業(yè)務(wù)。
需要說(shuō)明的是,圖9中步驟906的虛線表示可選,即負(fù)載均衡虛擬機(jī)20212可以將所述虛擬機(jī)20213發(fā)起的業(yè)務(wù)轉(zhuǎn)發(fā)給計(jì)算機(jī)設(shè)備202中的后端服務(wù)器即虛擬機(jī)20214,也可以轉(zhuǎn)發(fā)給計(jì)算機(jī)設(shè)備203中的后端服務(wù)器及虛擬機(jī)20314。
上述步驟908中,后端服務(wù)器將處理后的業(yè)務(wù)請(qǐng)求返回給虛擬機(jī)20213的方式可以包括兩種:
方式一:處理虛擬機(jī)20213業(yè)務(wù)請(qǐng)求的后端服務(wù)器,通過(guò)負(fù)載均衡虛擬機(jī)20212將處理后的結(jié)果返回給虛擬機(jī)20213;
方式二:處理處理虛擬機(jī)20213業(yè)務(wù)請(qǐng)求的后端服務(wù)器,不通過(guò)負(fù)載均衡虛擬機(jī)20212,直接將處理后的結(jié)果返回給虛擬機(jī)20213。
上述方式一中,負(fù)載均衡虛擬機(jī)20212在向處理虛擬機(jī)20213業(yè)務(wù)請(qǐng)求的后端服務(wù)器轉(zhuǎn)發(fā)虛擬機(jī)20213的業(yè)務(wù)請(qǐng)求時(shí),將業(yè)務(wù)請(qǐng)求的源地址(包括ip地址和mc地址等)寫(xiě)為負(fù)載均衡虛擬機(jī)20212的地址,將目的地址寫(xiě)為處理虛擬機(jī)20213業(yè)務(wù)請(qǐng)求的后端服務(wù)器的地址。這樣,處理虛擬機(jī)20213業(yè)務(wù)請(qǐng)求的后端服務(wù)器根據(jù)接收業(yè)務(wù)請(qǐng)求時(shí)攜帶的源地址,將處理業(yè)務(wù)請(qǐng)求的結(jié)果返回給負(fù)載均衡虛擬機(jī)20212,負(fù)載均衡虛擬機(jī)20212再將接收到處理的業(yè)務(wù)請(qǐng)求返回發(fā)送給虛擬機(jī)20213。
上述方式二中,負(fù)載均衡虛擬機(jī)20212在向處理虛擬機(jī)20213業(yè)務(wù)請(qǐng)求的后端服務(wù)器轉(zhuǎn)發(fā)虛擬機(jī)20213的業(yè)務(wù)請(qǐng)求時(shí),將源地址(包括ip地址和mc地址等)寫(xiě)為虛擬機(jī)20213的地址,將目的地址寫(xiě)為處理虛擬機(jī)20213業(yè)務(wù)請(qǐng)求的后端服務(wù)器的地址。這樣,處理虛擬機(jī)20213業(yè)務(wù)請(qǐng)求的后端服務(wù)器根據(jù)接收業(yè)務(wù)請(qǐng)求時(shí)攜帶的源地址,將處理業(yè)務(wù)請(qǐng)求的結(jié)果返回給虛擬機(jī)20213。
需要說(shuō)明的是,圖9中步驟908的虛線表示可選,即當(dāng)步驟906中負(fù)載均衡虛擬機(jī)20212將所述虛擬機(jī)20213發(fā)起的業(yè)務(wù)轉(zhuǎn)發(fā)給計(jì)算機(jī)設(shè)備202中的后端服務(wù)器即虛擬機(jī)20214時(shí),由虛擬機(jī)20214將處理后的業(yè)務(wù)請(qǐng)求返回給虛擬機(jī)20213。當(dāng)步驟906中負(fù)載均衡虛擬機(jī)20212將所述虛擬機(jī)20213發(fā)起的業(yè)務(wù)轉(zhuǎn)發(fā)給計(jì)算機(jī)設(shè)備203中的后端服務(wù)器即虛擬機(jī)20314時(shí),由虛擬機(jī)20314將處理后的業(yè)務(wù)請(qǐng)求返回給虛擬機(jī)20213。
本發(fā)明實(shí)施例中,上述計(jì)算機(jī)設(shè)備202和計(jì)算機(jī)設(shè)備203也叫作業(yè)務(wù)計(jì)算機(jī)設(shè)備。計(jì)算機(jī)設(shè)備202和/或計(jì)算機(jī)設(shè)備203上運(yùn)行的虛擬機(jī),例如虛擬機(jī)20213,也叫作發(fā)起業(yè)務(wù)的虛擬機(jī),其發(fā)起的業(yè)務(wù)包括負(fù)載均衡業(yè)務(wù)。
上述步驟900-步驟908的實(shí)現(xiàn)過(guò)程,是以作為云管理平臺(tái)的計(jì)算機(jī)設(shè)備201在計(jì)算機(jī)設(shè)備202中創(chuàng)建負(fù)載均衡虛擬機(jī)20212為例進(jìn)行說(shuō)明的??梢岳斫?,對(duì)于計(jì)算機(jī)設(shè)備201在計(jì)算機(jī)設(shè)備203中創(chuàng)建負(fù)載均衡虛擬機(jī)20312的過(guò)程,與上述過(guò)程類似,不再贅述。
這樣,計(jì)算機(jī)設(shè)備201可以分別在計(jì)算機(jī)設(shè)備202和計(jì)算機(jī)設(shè)備203中創(chuàng)建負(fù)載均衡虛擬機(jī)。每個(gè)業(yè)務(wù)計(jì)算機(jī)設(shè)備(例如計(jì)算機(jī)設(shè)備202和計(jì)算機(jī)設(shè)備203)上的業(yè)務(wù)虛擬機(jī)(例如虛擬機(jī)20213或虛擬機(jī)20313)發(fā)起的負(fù)載均衡業(yè)務(wù)的業(yè)務(wù)報(bào)文,定向轉(zhuǎn)發(fā)到本地的負(fù)載均衡虛擬機(jī)。即業(yè)務(wù)計(jì)算機(jī)設(shè)備202中的業(yè)務(wù)虛擬機(jī)20213發(fā)起的負(fù)載均衡業(yè)務(wù),只被轉(zhuǎn)發(fā)到計(jì)算機(jī)設(shè)備202本地的負(fù)載均衡虛擬機(jī)(即負(fù)載均衡虛擬機(jī)20212)來(lái)實(shí)現(xiàn)負(fù)載均衡業(yè)務(wù)。業(yè)務(wù)計(jì)算機(jī)設(shè)備203中的業(yè)務(wù)虛擬機(jī)20313發(fā)起的負(fù)載均衡業(yè)務(wù),只被轉(zhuǎn)發(fā)到計(jì)算機(jī)設(shè)備203本地的負(fù)載均衡虛擬機(jī)(即負(fù)載均衡虛擬機(jī)20312)來(lái)實(shí)現(xiàn)負(fù)載均衡業(yè)務(wù)。
由于業(yè)務(wù)計(jì)算機(jī)設(shè)備202中的業(yè)務(wù)虛擬機(jī)20213發(fā)起的負(fù)載均衡業(yè)務(wù),只被轉(zhuǎn)發(fā)到計(jì)算機(jī)設(shè)備202本地的負(fù)載均衡虛擬機(jī)(即負(fù)載均衡虛擬機(jī)20212)來(lái)實(shí)現(xiàn)負(fù)載均衡業(yè)務(wù);業(yè)務(wù)計(jì)算機(jī)設(shè)備203中的業(yè)務(wù)虛擬機(jī)20313發(fā)起的負(fù)載均衡業(yè)務(wù),只被轉(zhuǎn)發(fā)到計(jì)算機(jī)設(shè)備203本地的負(fù)載均衡虛擬機(jī)(即負(fù)載均衡虛擬機(jī)20312)來(lái)實(shí)現(xiàn)負(fù)載均衡業(yè)務(wù)。所以,業(yè)務(wù)計(jì)算機(jī)設(shè)備202中的負(fù)載均衡虛擬機(jī)20212的ip地址可以與業(yè)務(wù)計(jì)算機(jī)設(shè)備203中負(fù)載均衡虛擬機(jī)20312的ip地址相同;同樣的,業(yè)務(wù)計(jì)算機(jī)設(shè)備202中的負(fù)載均衡虛擬機(jī)20212的mac地址可以與業(yè)務(wù)計(jì)算機(jī)設(shè)備203中負(fù)載均衡虛擬機(jī)20312的mac地址相同。這樣,可以節(jié)省計(jì)算機(jī)設(shè)備所組成的網(wǎng)絡(luò)中ip地址資源和/或mac地址資源。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機(jī)械的或其它的形式連接。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以是兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分,或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。