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