主備同步與主備倒換(一)

 發現主備同步問題比較大,似乎沒有很合適的方法,先學習。

 

轉一篇高端交換機主備倒換技術:

1. 概述

高端交換機由於所處網絡位置非常重要,不允許出現單點故障,設備一般都配備兩塊主控板,分別稱爲主用主控板(Master)和備用主控板(Slave)。
 
其中,主用主控板作爲控制平面的核心,與外部和業務板進行業務通信,完成系統內各模塊的正常功能;而備用主控板則只作爲主用主控板的備份,與外部和業務板沒有通信。當主用主控板發生故障時,系統自動進行主備切換,由備用主控板接替主用主控板的工作,保證業務的正常運行


2. 數據備份

主備主控板的熱備份過程主要分爲批量備份、實時備份和數據平滑三個階段。

備用主控板啓動後,由於此時主用主控板和備用主控板的差異比較大,主用主控板會將當前需要備份的數據批量同步到備用主控板,這個過程稱之爲批量備份,批量備份時間的長短取決於需要備份數據量的大小。

批量備份過程結束後,系統進入實時備份過程,在此過程中,當主用主控板備份數據發生變化時,備份數據將實時同步到備用板,這個過程通常很快。

主備倒換後,備用板升爲新的主用板,會通知各個模塊向業務板進行數據收集和同步,這個過程稱之爲數據平滑。平滑過程中,各模塊主動與業務板進行通信,在硬件狀態、鏈路層狀態、配置數據三個方面進行確認和同步,以保證整個系統維護的數據和狀態是一致的,從而確保主備切換之後,系統能夠正常運行。平滑階段結束,新的主用板才稱之爲完全意義上的主用主控板。

3. 主備工作狀態機

主用主控板狀態機在如下五個狀態順序遷移,分別爲:等待備用板插入狀態、等待批量備份請求狀態、批量備份狀態、實時備份狀態以及數據平滑狀態。

備用主控板狀態則在就緒狀態、批量接收數據狀態、實時接收數據狀態三個狀態順序遷移。

主用板啓動正常工作後就進入等待備用板插入狀態;主用主控板檢測到備用板插入槽位上電啓動後進入到等待批量備份數據狀態,等待備用板的批量備份數據請求;當備用板上電啓動完畢後,首先會向主控板發送數據批量備份請求,主控板就把需要備份的數據打包批量發送給備用板,包括配置信息和一些狀態信息等;批量備份完成後,進入實時備份狀態,當主控板需要備份的數據發生變化時,會通過消息發送給備用板,備用板完成相關同步工作;平滑過程只有在備用板變爲主控板的階段纔會出現,是主控板的控制平面數據和業務板進行狀態確認和同步的過程;平滑過程完成後備用板才真正成爲主控板。

備用板上電啓動完成後即進入就緒狀態,即隨時可以接替主控板工作的狀態;然後向主控板發送批量數據備份請求,進行批量數據同步,此時不與業務板進行通信;批量同步完成後,進入實時備份狀態,實時備份的發起者是主控板,備用板只有在接收到備份數據消息時才進行實時備份。

4. 主備狀態確定及倒換


4.1 主備狀態確定

雙主控環境下,主控板的狀態是主用還是備用,是在啓動過程中由硬件決定的。一般情況,設備會首先選擇小槽位號的主控板作爲主用主控板(雙主控啓動環境下,硬件會在大槽位號主控板設置一個延時,使它稍後啓動)。

初始啓動時,兩塊主控板都處於備用狀態,各自進行軟件的啓動。小槽位號主控板在啓動到一定階段時將自己的單板狀態位置爲正常,並且同時檢測另一塊主控板的狀態是否正常;而大槽位號的主控此時會有一個延時,再檢查另一塊主控板是否正常,並且將自己的單板狀態位置爲正常。這樣,在小槽位號主控板的狀態變爲正常時,大槽位號主控板的狀態還未正常,因此小槽位號主控板的狀態爲主用;大槽位號主控板在延時過後檢查,發現另一塊主控板的狀態爲正常,便將自己設置爲備用狀態。所以,在雙主控環境下,即使在系統重啓之前,是大槽位號主控板的狀態爲主用,重啓後,仍然會是小槽位號主控板的狀態爲主用。

4.2 主備倒換觸發

備用主控板到達實時接收數據狀態後,如果檢測到倒換通知,則切換爲主用主控板。檢測通知是中斷觸發的,主備倒換的硬件切換時間在毫秒級。硬件切換後,新主控板的主備狀態機進入平滑狀態,開始平滑過程處理。

主備切換的觸發因素主要有以下幾類:

命令行執行主備倒換命令,強行切換。

主用主控板硬復位或者被手工拔出,引起主備倒換。

主用主控板上發生軟件異常重啓,從而觸發倒換。如:模塊異常佔用CPU時間過長,引發硬件看門狗重啓系統;數據訪問異常、指令訪問異常等系統異常等引發重啓。

對於以上不同的觸發因素,備用主控板感應的時間都是一樣的:都是在硬件中斷觸發的,狀態切換時間在毫秒級。

主控板和備用板都會週期發送握手報文,主控板或備用板在設定的週期內沒有收到對方的握手報文,就會認爲主備通信異常,重新復位備用板。

5. 主備倒換性能

5.1 配置層主備倒換性能

通過批量備份和實時備份過程,主用主控板的配置信息及時的備份到備用主控板。在主備倒換時機成熟時,備用主控板上已經保存有主用主控板完備的配置信息內容,並已經配置同步成功。因此,在主備倒換時,對於配置層,可以實現完全平滑的過渡,不需再額外收集或同步其他內容。

5.2 協議層主備倒換性能

在平滑的過程中,爲保證業務無間斷轉發,業務板上涉及的各類轉發表並不是刪除後重新學習。在主控板進行的數據收集和同步過程中,基本維持原有業務板數據不變,只更新改變部分並進行刷新。

H3C系列交換機爲分佈式架構,控制軟件與轉發軟件嚴格分開,控制軟件負責整個設備的控制與管理(包括路由的發現和下刷等),而轉發軟件負責單純的數據轉發業務,兩種軟件由各自的處理器進行處理,功能完全獨立。主控板上的軟件版本屬於控制軟件,它負責處理用戶的各種配置信息以及運行各自協議,例如運行OSPF/ISIS/BGP等路由協議來發現路由並下刷給各個接口板。而所有接口板上的軟件版本屬於轉發軟件,它們根據主控板的通知消息維護自己的轉發表,並根據轉發表對數據進行轉發。

採用以上這種控制與轉發相分離的分佈式結構和對GR技術的支持後,當控制軟件重啓(由於硬件或者軟件故障)或者重新加載(軟件升級)時轉發業務可以不中斷。控制軟件重啓或者重新加載不影響轉發軟件的正常運行,因此只要在控制軟件重啓或者重新加載期間網絡拓撲保持穩定,正在重啓的路由器仍然在轉發路線上進行數據轉發是完全可行並可靠的

1) 二層單播

普通二層單播轉發只是利用了MAC地址表,報文轉發所涉及的MAC表在業務板上都是存在的。發生主備倒換時,新的主控板會向業務板發起MAC地址信息收集和同步,而業務板上原有的MAC表在這個過程中並不會被刪除,因此可以保證業務板上二層單播數據轉發正常。

2)二層組播

對於二層組播來說,同樣,轉發所需的組播MAC表項均保存在業務板上。主備倒換時,主控板向接口板進行數據收集,而業務板原有的組播MAC表項是保持不變的,因此可以保證二層組播流的正常轉發。

3)三層單播

對於三層單播來說,轉發主要是依靠接口板的ARP以及FIB。在主備倒換平滑過程期間,業務板上原有的ARP和FIB保持不變;同時,由於OSPF、BGP、ISIS路由協議均支持GR功能,在倒換期間,周邊鄰居設備也保持相應鄰居關係和路由不變,因此網絡中IP報文的轉發路徑不發生改變,保證了三層單播轉發業務不發生中斷。

4)三層組播

對於三層組播來說,在平滑的過程中,同樣,由於原先建立的組播表項在接口板保留不變,原有的組播業務流可以保證正常轉發。

5)MPLS VPN

對於MPLS/VPN業務來說,由於在平滑過程中,接口板上原有MPLS/VPN業務所涉及的INLIF等均維持不變,因此可保證原有的MPLS/VPN業務流的正常轉發。

 

轉自:http://net.zdnet.com.cn/network_security_zone/2008/1018/1180626.shtml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章