高性能T比特路由器高可用性的研究與實(shí)現(xiàn)
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)設(shè)備的安全可靠越來(lái)越受到人們的重視。路由器的高可用性成為網(wǎng)絡(luò)運(yùn)營(yíng)商們關(guān)注的焦點(diǎn)。高可用性是指路由器的不間斷運(yùn)行能力,即持續(xù)操作能力。它要求路由器本身所采用的硬件和軟件系統(tǒng)具有穩(wěn)定可靠的性能,并且可以從軟件設(shè)計(jì)入手,實(shí)現(xiàn)一個(gè)高可用性的軟件產(chǎn)品。
本文引用地址:http://www.butianyuan.cn/article/82810.htm本文以高性能T比特核心路由器為實(shí)例,探討如何通過(guò)高可用性模塊的設(shè)計(jì)保證網(wǎng)絡(luò)的高可靠性,做到處理器故障不會(huì)影響網(wǎng)絡(luò)的連通性,更不會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的癱瘓,從根本上解決數(shù)據(jù)中心的風(fēng)險(xiǎn)問(wèn)題。
1 高可用性技術(shù)
高可用性是指可持續(xù)的、具有一致性和完整性的數(shù)據(jù)訪(fǎng)問(wèn)。高可用性系統(tǒng)通過(guò)提高服務(wù)器可靠性、磁盤(pán)可靠性、應(yīng)用程序可靠性達(dá)到高可用性的要求。可以通過(guò)共享磁盤(pán)陣列提高磁盤(pán)可靠性,使用冗余網(wǎng)絡(luò)提高網(wǎng)絡(luò)可靠性,使用合作的服務(wù)器提高服務(wù)器可靠性,通過(guò)應(yīng)用程序的探測(cè)與有效恢復(fù)提高應(yīng)用程序的可靠性。
路由器作為計(jì)算機(jī)網(wǎng)絡(luò)的核心設(shè)備,其高可用性至關(guān)重要。在硬件方面,路由器要有一個(gè)很好的體系結(jié)構(gòu)及各種冗余非常完善,關(guān)鍵部件如路由引擎和交換矩陣要有冗余。在軟件方面,其自身要強(qiáng)壯,另外在遇到更換硬件、系統(tǒng)升級(jí)、增加板卡和改變鏈路等網(wǎng)絡(luò)調(diào)整時(shí),軟件要有能力保證整個(gè)網(wǎng)絡(luò)業(yè)務(wù)不受局部調(diào)整的影響,讓整個(gè)網(wǎng)絡(luò)體現(xiàn)出非常高的可用性,保證路由引擎進(jìn)行不丟包的切換。主引擎發(fā)生故障,切換到副引擎時(shí)不丟包,平滑切換,否則硬件的冗余就沒(méi)有意義,是假冗余。另外還要保證平穩(wěn)重啟。當(dāng)路由重啟時(shí),由此產(chǎn)生的路由重新計(jì)算和網(wǎng)絡(luò)范圍的路由更新會(huì)消耗掉處理資源,并有可能出現(xiàn)黑洞或瞬時(shí)轉(zhuǎn)發(fā)循環(huán)形式的非預(yù)期網(wǎng)絡(luò)行為。而平穩(wěn)重啟會(huì)避免這種情況的發(fā)生。
根據(jù)以上要求,本文提出了一種適用于T比特路由器的主控軟件容錯(cuò)系統(tǒng)設(shè)計(jì)方案。采用硬件冗余與軟件容錯(cuò)相結(jié)合、熱備與雙工相結(jié)合的工作方式代替?zhèn)鹘y(tǒng)的容錯(cuò)熱備份方案,并根據(jù)該方案設(shè)計(jì)實(shí)現(xiàn)了高可用性模塊。測(cè)試結(jié)果表明,采用該設(shè)計(jì)方案的主控軟件系統(tǒng)具有很好的容錯(cuò)性能和故障恢復(fù)能力,能夠滿(mǎn)足T比特路由器對(duì)主控軟件系統(tǒng)的高可用性要求。
2 基于高性能T比特路由器的主控軟件容錯(cuò)系統(tǒng)設(shè)計(jì)
2.1 主控軟件容錯(cuò)系統(tǒng)設(shè)計(jì)中的基本問(wèn)題
基于容錯(cuò)需求的考慮,當(dāng)主控系統(tǒng)出現(xiàn)軟硬件故障時(shí)路由器仍需要正常工作,故硬件配置采用1+1冗余設(shè)計(jì),配備主用(Active)和備用 (Standby)兩塊主控板,構(gòu)建雙主控?zé)醾淙蒎e(cuò)系統(tǒng)。當(dāng)主用主控板發(fā)生故障,系統(tǒng)自動(dòng)進(jìn)行主備切換,由備用主控板接替主用板工作,保證業(yè)務(wù)的正常運(yùn)行。當(dāng)主用模塊發(fā)生嚴(yán)重故障或主用復(fù)位時(shí),將觸發(fā)自動(dòng)倒換方式,及時(shí)倒換到備用板。這種1+1冗余設(shè)計(jì)可擴(kuò)展到N+1冗余設(shè)計(jì)。
整個(gè)切換過(guò)程對(duì)用戶(hù)透明,需要考慮的重點(diǎn)和實(shí)現(xiàn)的難點(diǎn)在于主備系統(tǒng)間數(shù)據(jù)庫(kù)一致性問(wèn)題、平滑切換技術(shù)的實(shí)現(xiàn)和故障監(jiān)測(cè)機(jī)制。
(1)數(shù)據(jù)庫(kù)一致性問(wèn)題
路由器主控板上記錄了系統(tǒng)實(shí)時(shí)運(yùn)行數(shù)據(jù),因此正常工作中需要進(jìn)行實(shí)時(shí)的系統(tǒng)數(shù)據(jù)備份,以保證主用和備用上的數(shù)據(jù)庫(kù)一致,否則在主備切換時(shí),備用不能正常接替主用。針對(duì)該問(wèn)題,在高可用性模塊的設(shè)計(jì)中,采用了一種雙工與熱備相結(jié)合的不完全熱備設(shè)計(jì)。需要備份的數(shù)據(jù)主要是系統(tǒng)數(shù)據(jù)庫(kù)中的路由表項(xiàng)和轉(zhuǎn)發(fā)表表項(xiàng)。
雙工與熱備相結(jié)合的不完全設(shè)計(jì)是指:雙主控板上都運(yùn)行心跳探測(cè)程序用于故障探測(cè),主用主控板上運(yùn)行路由器正常工作所需要的所有應(yīng)用程序,而備用主控板上運(yùn)行部分重要應(yīng)用程序。這些程序正常工作時(shí)與主用主控板上的程序有相同的輸入數(shù)據(jù),但處理結(jié)果并不輸出。這樣的設(shè)計(jì)保證了路由器出現(xiàn)故障進(jìn)行切換時(shí)低耗時(shí),減輕了需要備份的數(shù)據(jù)量,既不像完全雙工工作方式那樣浪費(fèi)資源,又避免了熱備工作方式的很多不足,性能明顯優(yōu)于純粹的熱備或者雙工方式。
數(shù)據(jù)備份有冷備份和熱備份兩種。冷備份是在數(shù)據(jù)庫(kù)已經(jīng)正常關(guān)閉的情況下,進(jìn)行完整數(shù)據(jù)庫(kù)的備份,是最快和最安全的方法。冷備份的最大問(wèn)題是必須在數(shù)據(jù)庫(kù)關(guān)閉的情況下進(jìn)行,當(dāng)數(shù)據(jù)庫(kù)處于打開(kāi)狀態(tài)時(shí),執(zhí)行數(shù)據(jù)庫(kù)文件系統(tǒng)備份是無(wú)效的。
熱備份是在數(shù)據(jù)庫(kù)運(yùn)行時(shí),采用archivelog mode方式備份數(shù)據(jù)。有雙機(jī)鏡像和共享磁盤(pán)陣列兩種方案。雙機(jī)鏡像方案可選擇將主數(shù)據(jù)庫(kù)服務(wù)器上的表、文件、數(shù)據(jù)庫(kù)或全部?jī)?nèi)容通過(guò)專(zhuān)用連接通道鏡像到備用服務(wù)器上,優(yōu)點(diǎn)是簡(jiǎn)單、便宜,缺點(diǎn)是降低系統(tǒng)資源。共享磁盤(pán)陣列方案為兩臺(tái)主機(jī)共用一個(gè)磁盤(pán)陣列,優(yōu)點(diǎn)是不降低系統(tǒng)性能,為目前較為流行的主流技術(shù),但要求磁盤(pán)陣列具有較高的可靠性。
評(píng)論