本技術(shù)涉及計算機,特別是涉及一種域名服務(wù)器的主備切換方法及域名服務(wù)器系統(tǒng)。
背景技術(shù):
1、存儲系統(tǒng)的使用者可能針對其不同的業(yè)務(wù)場景分別部署集群。在此情景下,若計算節(jié)點需要訪問不同存儲集群內(nèi)的存儲節(jié)點,便需要向存儲節(jié)點所屬的dns(domain?namesystem,域名系統(tǒng))服務(wù)器發(fā)送域名解析請求,以得到存儲節(jié)點準(zhǔn)確的ip(internetprotocol,網(wǎng)際互連協(xié)議)地址。
2、現(xiàn)有技術(shù)中,可以使得一個dns服務(wù)器代理其他dns服務(wù)器的域名解析業(yè)務(wù)。然而為保證服務(wù)的高可用,同時還需要為該dns服務(wù)器設(shè)置多個備用服務(wù)器,計算節(jié)點中需要同時記錄主域名服務(wù)器和各備用服務(wù)器的ip地址,以在主域名服務(wù)器無法訪問的情況下通過訪問備用服務(wù)器實現(xiàn)域名解析。這樣便導(dǎo)致如果有任一服務(wù)器的ip地址發(fā)生變化,就需要對全部計算節(jié)點中記錄的地址進行修改,效率較低。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種域名服務(wù)器的主備切換方法及域名服務(wù)器系統(tǒng)。
2、第一方面,本技術(shù)提供了一種域名服務(wù)器的主備切換方法。域名服務(wù)器系統(tǒng)包括主集群和至少一個被代理網(wǎng)絡(luò)所在的被代理集群,所述被代理集群中包括第一備集群,所述方法應(yīng)用于所述第一備集群,包括:
3、在所述主集群處于故障狀態(tài)的情況下,基于主集群中主域名服務(wù)器的主ip地址、及所述主域名服務(wù)器的代理信息,在所述第一備集群中建立備代理網(wǎng)絡(luò);
4、從各所述被代理集群中,確定第二備集群,將所述代理信息及所述主ip地址同步至所述第二備集群,并與所述第二備集群建立主備連接。
5、本技術(shù)實施例提供的域名服務(wù)器的主備切換方法,在主集群處于故障狀態(tài)的情況下,使第一備集群利用主集群中主域名服務(wù)器的主ip地址和代理信息,在第一備集群中創(chuàng)建備代理網(wǎng)絡(luò)。以使得第一備集群可以接管主集群的域名代理業(yè)務(wù),同時計算節(jié)點仍然可以根據(jù)自身記錄的主ip地址,向主ip地址發(fā)送域名解析請求。因此能夠?qū)崿F(xiàn)在計算節(jié)點中僅記錄一個域名服務(wù)器的ip地址的情況下,保證域名解析業(yè)務(wù)的高可用性。
6、在其中一個實施例中,所述方法還包括:
7、在第一預(yù)置時長內(nèi)未接收到所述主集群發(fā)送的心跳信號的情況下,確定所述主集群處于故障狀態(tài)。
8、本技術(shù)提供的域名服務(wù)器的主備切換方法,通過心跳信號使得主集群和第一備集群保持連接,能夠使得第一備集群在第一預(yù)置時長內(nèi)未檢測到心跳信號的情況下即判定主集群處于故障狀態(tài)并啟動主備切換,提高主備切換的及時性。
9、在其中一個實施例中,所述基于主集群中主域名服務(wù)器的主ip地址、及所述主域名服務(wù)器的代理信息,在所述第一備集群中建立備代理網(wǎng)絡(luò),包括:
10、基于所述主ip地址,向所述主域名服務(wù)器發(fā)送響應(yīng)請求;
11、在第二預(yù)置時長內(nèi),未接收到所述主域名服務(wù)器響應(yīng)于所述響應(yīng)請求發(fā)送的第一應(yīng)答信息的情況下,基于主集群中主域名服務(wù)器的主ip地址、及所述主域名服務(wù)器的代理信息,在所述第一備集群中建立備代理網(wǎng)絡(luò)。
12、本技術(shù)實施例提供的域名服務(wù)器的主備切換方法,在主備連接斷開的情況下,使得第一備域名服務(wù)器通過向主域名服務(wù)器發(fā)送響應(yīng)請求的方式,核實主集群是否發(fā)生故障,因而能夠避免出現(xiàn)主集群并未發(fā)生故障、而是主備連接發(fā)生故障的情況下導(dǎo)致的錯誤主備切換。
13、在其中一個實施例中,所述方法還包括:
14、在接收到所述主集群發(fā)送的主備切換請求的情況下,向所述第二備集群發(fā)送停止連接請求;
15、在接收到所述第二備集群響應(yīng)于所述停止連接請求,發(fā)送的第二應(yīng)答信息的情況下,斷開所述主備連接,刪除所述備代理網(wǎng)絡(luò)及所述代理信息,并將所述第二備集群的ip地址發(fā)送至所述主集群,以使得所述主集群能夠根據(jù)所述第二備集群的ip地址,與所述第二備集群建立主備連接。
16、本技術(shù)實施例提供的域名服務(wù)器的主備切換方法,在主集群從故障中恢復(fù)的情況下,使得第一備集群向第二備集群發(fā)送停止連接請求,并將第二備集群的ip地址返回給主集群,可以支持主集群在故障恢復(fù)后重新成為主集群,同時使得第二備集群成為主集群的備用集群,繼續(xù)維持域名代理服務(wù)的高可用。
17、在其中一個實施例中,所述刪除所述備代理網(wǎng)絡(luò)之前,所述方法還包括:
18、獲取所述備代理網(wǎng)絡(luò)的當(dāng)前代理信息,并將所述當(dāng)前代理信息同步至所述主集群,以使得所述主集群能夠根據(jù)所述當(dāng)前代理信息,對所述主集群的代理信息進行更新。
19、本技術(shù)實施例提供的域名服務(wù)器的主備切換方法,在主集群從故障中恢復(fù)的情況下,使得第一備集群向第二備集群同步當(dāng)前代理信息,可以保留在第一備集群成為事實上的主集群期間,對代理信息進行的修改。
20、在其中一個實施例中,所述確定第二備集群,包括:
21、獲取各被代理集群的網(wǎng)卡帶寬,并按照所述網(wǎng)卡帶寬由大至小對各所述被代理集群進行排序,獲得第一候選集群隊列;
22、獲取排列在所述第一候選集群隊列首位的所述被代理集群,對應(yīng)的目標(biāo)網(wǎng)卡帶寬,并根據(jù)所述目標(biāo)網(wǎng)卡帶寬及預(yù)設(shè)的帶寬差值范圍,從所述第一候選集群隊列中確定至少一個第一候選集群;
23、獲取各所述第一候選集群的cpu負載,并按照所述cpu負載由小至大對各所述第一候選集群進行排序,獲得第二候選集群隊列;
24、將排列在所述第二候選集群隊列首位的所述第一候選集群作為所述第二備集群。
25、本技術(shù)實施例提供的域名服務(wù)器的主備切換方法,首先按照網(wǎng)卡帶寬,其次按照存儲節(jié)點的cpu負載對各被代理集群進行排序,以獲取第二備集群,因此可以選出網(wǎng)卡帶寬較大、同時cpu負載較小的被代理集群作為第二備集群,能夠最大限度減少進行域名代理業(yè)務(wù)對集群正常業(yè)務(wù)的影響。
26、第二方面,本技術(shù)還提供了一種域名服務(wù)器系統(tǒng),所述系統(tǒng)包括主集群和至少一個被代理網(wǎng)絡(luò)所在的被代理集群,所述被代理集群中包括第一備集群,所述主集群中包括主域名服務(wù)器,其中:
27、所述主域名服務(wù)器,用于基于代理信息向目標(biāo)域名服務(wù)器轉(zhuǎn)發(fā)計算節(jié)點發(fā)送的域名解析請求,以及向所述計算節(jié)點轉(zhuǎn)發(fā)所述目標(biāo)域名服務(wù)器反饋的目標(biāo)ip地址;
28、所述第一備集群,用于在所述主集群處于故障狀態(tài)的情況下,基于所述主域名服務(wù)器的主ip地址、及所述主域名服務(wù)器的所述代理信息,在所述第一備集群中建立備代理網(wǎng)絡(luò);
29、所述第一備集群,還用于從各所述被代理集群中,確定第二備集群,將所述代理信息及所述主ip地址同步至所述第二備集群,并與所述第二備集群建立主備連接。
30、在其中一個實施例中,所述主集群,還用于周期性進行系統(tǒng)故障檢測,得到故障檢測結(jié)果,并在所述故障檢測結(jié)果表征所述主集群系統(tǒng)狀態(tài)正常的情況下,基于所述主ip地址,向所述第一備集群發(fā)送主備切換請求;
31、所述第一備集群,還用于在接收到所述主備切換請求的情況下,向所述第二備集群發(fā)送停止連接請求,并在接收到所述第二備集群響應(yīng)于所述停止連接請求,發(fā)送的應(yīng)答信息的情況下,斷開所述主備連接,刪除所述備代理網(wǎng)絡(luò)及所述代理信息,并將所述第二備集群的ip地址發(fā)送至所述主集群;
32、所述主集群,還用于根據(jù)所述第二備集群的所述ip地址,與所述第二備集群建立主備連接。
33、第三方面,本技術(shù)還提供了一種域名服務(wù)器的主備切換裝置。所述裝置包括:
34、第一建立模塊,用于在所述主集群處于故障狀態(tài)的情況下,基于主集群中主域名服務(wù)器的主ip地址、及所述主域名服務(wù)器的代理信息,在所述第一備集群中建立備代理網(wǎng)絡(luò);
35、第一確定模塊,從各所述被代理集群中,確定第二備集群,將所述代理信息及所述主ip地址同步至所述第二備集群,并與所述第二備集群建立主備連接。
36、在其中一個實施例中,所述裝置還包括:
37、第二確定模塊,用于在第一預(yù)置時長內(nèi)未接收到所述主集群發(fā)送的心跳信號的情況下,確定所述主集群處于故障狀態(tài)。
38、在其中一個實施例中,所述第一建立模塊,還用于:
39、基于所述主ip地址,向所述主域名服務(wù)器發(fā)送響應(yīng)請求;
40、在第二預(yù)置時長內(nèi),未接收到所述主域名服務(wù)器響應(yīng)于所述響應(yīng)請求發(fā)送的第一應(yīng)答信息的情況下,基于主集群中主域名服務(wù)器的主ip地址、及所述主域名服務(wù)器的代理信息,在所述第一備集群中建立備代理網(wǎng)絡(luò)。
41、在其中一個實施例中,所述裝置還包括:
42、第一發(fā)送模塊,用于在接收到所述主集群發(fā)送的主備切換請求的情況下,向所述第二備集群發(fā)送停止連接請求;
43、第二發(fā)送模塊,用于在接收到所述第二備集群響應(yīng)于所述停止連接請求,發(fā)送的第二應(yīng)答信息的情況下,斷開所述主備連接,刪除所述備代理網(wǎng)絡(luò)及所述代理信息,并將所述第二備集群的ip地址發(fā)送至所述主集群,以使得所述主集群能夠根據(jù)所述第二備集群的ip地址,向所述第二備集群發(fā)送心跳信號連接請求,并在所述第二備集群應(yīng)答后,與所述第二備集群建立主備連接。
44、在其中一個實施例中,所述裝置還包括:
45、獲取模塊,用于獲取所述備代理網(wǎng)絡(luò)的當(dāng)前代理信息,并將所述當(dāng)前代理信息同步至所述主集群,以使得所述主集群能夠根據(jù)所述當(dāng)前代理信息,對所述主集群的代理信息進行更新。
46、在其中一個實施例中,所述第一確定模塊,還用于:
47、獲取各被代理集群的網(wǎng)卡帶寬,并按照所述網(wǎng)卡帶寬由大至小對各所述被代理集群進行排序,獲得第一候選集群隊列;
48、獲取排列在所述第一候選集群隊列首位的所述被代理集群,對應(yīng)的目標(biāo)網(wǎng)卡帶寬,并根據(jù)所述目標(biāo)網(wǎng)卡帶寬及預(yù)設(shè)的帶寬差值范圍,從所述第一候選集群隊列中確定至少一個第一候選集群;
49、獲取各所述第一候選集群的cpu負載,并按照所述cpu負載由小至大對各所述第一候選集群進行排序,獲得第二候選集群隊列;
50、將排列在所述第二候選集群隊列首位的所述第一候選集群作為所述第二備集群。
51、第四方面,本技術(shù)還提供了一種計算機設(shè)備。所述計算機設(shè)備包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以上任一項方法。
52、第五方面,本技術(shù)還提供了一種計算機可讀存儲介質(zhì)。所述計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)以上任一項方法。
53、第六方面,本技術(shù)還提供了一種計算機程序產(chǎn)品。所述計算機程序產(chǎn)品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)以上任一項方法。
54、上述域名服務(wù)器的主備切換方法及域名服務(wù)器系統(tǒng),在主集群處于故障狀態(tài)的情況下,使第一備集群利用主集群中主域名服務(wù)器的主ip地址和代理信息,在第一備集群中創(chuàng)建備代理網(wǎng)絡(luò)。以使得第一備集群可以接管主集群的域名代理業(yè)務(wù),同時計算節(jié)點仍然可以根據(jù)自身記錄的主ip地址,向主ip地址發(fā)送域名解析請求。因此能夠?qū)崿F(xiàn)在計算節(jié)點中僅記錄一個域名服務(wù)器的ip地址的情況下,保證域名解析業(yè)務(wù)的高可用性。