熱插拔的檢測和處理方法
2023-09-24 03:42:40 1
專利名稱:熱插拔的檢測和處理方法
技術領域:
本發明屬於計算機網絡通信領域,具體涉及一種面向高端交換機的熱插拔檢測和處理方法。
背景技術:
在交換機工作的時候,可能由於模塊故障等原因,用戶希望在交換機不宕機的情況下,進行模塊的熱插或熱拔。一方面,熱插拔的檢測和處理不影響其他模塊,不影響到業務流的正常轉發;另一方面,用戶拔出模塊的配置信息被刪除後,在再次插入的時候,可恢復拔出時該模塊的配置信息。即模塊的拔出不影響系統其他模塊的運行,且系統要確實反映出該模塊已經不存在;在用戶再次插入該模塊的時候,該模塊的配置信息能夠恢復,插入之後,用戶無需幹預,模塊就可以象沒拔出一樣正常工作(轉發)。
目前,有的交換機不支持熱插拔,或者在進行熱插拔後,整個系統必須重新啟動,即需要宕機,不能夠讓系統無間斷的工作;還有的熱插拔機制不能夠做到配置信息的完全恢復。
發明內容
本發明克服上述熱插拔的處理方法的不足,提供一種在交換機不宕機的情況下,可隨意替換或移動模塊的熱插拔檢測和處理方法。
本發明的技術內容一種熱拔的檢測和處理方法,包括(1)當主控板檢測到中斷,通過設備狀態機發現有模塊被拔掉時,或當設備狀態機正常運行時,超時沒有收到模塊的狀態報告報文時,進行熱拔的處理。
(2)從全局配置信息中,提取與該模塊相關的配置信息,保存全局配置信息中和模塊的相關命令;(3)數據鏈路層、IP路由層、QoS各個處理模塊刪除與該模塊相關的配置信息,並進行相應的備份;(4)清除該模塊的狀態信息。
一種熱插的檢測和處理方法,包括
(1)當設備狀態機正常運行時,收到新的模塊的註冊請求報文,進行熱插的處理;(2)數據鏈路層、IP路由層、QOS各個處理模塊下發與該模塊相關的配置;(3)執行全局配置信息的保存命令,恢復該模塊相關的配置信息。
將主控板上的當前NETDEV數據結構同步到該模塊,在該模塊上根據NETDEV數據表恢復硬體設置;熱拔處理的步驟(3)中數據鏈路層的處理包括a、在模塊拔出後,首先模塊上的每個埠都產生一個NETDEV_DOWN事件,通過這個事件清除動態信息;b、執行與保存信息命令作用相反的命令,清除相關的配置信息,並在執行命令過程中產生相應的設備通知事件;c、刪除NETDEV表中和模塊中各埠對應的表項內容,並產生NETDEV_UNREGISTER事件。
熱拔處理的步驟(3)中IP路由層的處理包括模塊的埠NETDEV_DOWN事件通過通知鏈函數通知路由模塊,路由模塊重新路由計算,刪除相應的路由表項。
熱拔處理的步驟(3)中QoS各個處理模塊的處理包括通過註冊熱插拔處理的回調函數刪除模塊接口上所有相關的QOS和ACL配置軟體信息。
熱插處理的步驟(2)中數據鏈路層的處理包括將主控板上的當前NETDEV數據結構下發到該模塊,模塊根據NETDEV數據表恢復硬體設置。
熱插處理的步驟(2)中IP路由層的處理包括將FIB表全部下發到該模塊。
熱插處理的步驟(2)中QoS各個處理模塊的處理包括通過CALLBACK函數恢復相關的配置。
本發明的技術效果本發明在交換機不宕機的情況下通過中斷和設備狀態機的狀態報告報文檢測觸發熱插拔,熱拔模塊的時候,不影響業務流的正常轉發的狀態下,數據鏈路層、IP路由層和QOS各個處理模塊分別刪除該模塊的配置信息並進行備份;熱插模塊時候,該模塊恢復相關的配置信息。模塊經過熱插拔處理後依然可正常工作,在不關閉交換機的情況下,用戶可隨意替換或移動模塊,便於安裝、調試和故障檢測,使得交換機產品更具競爭力,實現了交換機的「即插即用」。且對於熱拔的檢測,使用兩種機制中斷(硬檢測)和狀態報告報文(軟檢測),當主控板一段時間沒有收到模塊的報文後,既可以認為該模塊已經拔出,也可以認為該模塊發生了故障,故熱拔的檢測還具有一個故障檢測的功能。
圖1是本發明熱拔的處理流程圖;圖2是本發明熱插的處理流程圖。
具體實施例方式
對於熱拔的檢測,使用兩種機制中斷(硬檢測)和狀態報告報文(軟檢測);熱插的處理僅僅是由業務模塊的註冊觸發,中斷不觸發熱插處理過程。所有的熱插拔處理都是在一個新的任務空間進行的,這個新的任務的優先級等同於設備狀態機任務的優先級;當熱插拔處理完成,這個任務自動退出。
熱拔的檢測和處理,主要是配置信息的刪除、以及配置信息的提取備份。當有用戶物理的拔出一個模塊時,主控板檢測到中斷、通過設備狀態機(主控板一段時間沒有收到對方的心跳報文)發現有模塊被拔掉時,在這個中斷裡面檢測出那個模塊被拔出,根據模塊的槽位號,檢查模塊的運行狀態,如果該模塊的當前運行狀態小於MODULE_MOD_READY,則不進行熱插拔的處理;反之,則進行熱插拔的處理;當ACTIVE MASTER(中斷)長時間沒有收到某業務模塊的狀態報告報文時,如果該模塊的的當前運行狀態不小於MODULE_MOD_READY,則進行熱拔的處理。
參考圖1,熱拔的處理包括(1)從全局配置信息(SHOW RUN)中,提取出與該模塊相關的配置信息,首先形成與被拔出板相關聯的命令塊,對每一個命令塊構造特徵關鍵字,搜索出包含相應命令塊的配置信息,並保存全局配置信息中和模塊的相關命令。(2)在模塊拔出後,首先為模塊上的每個埠都產生一個NETDEV_DOWN事件,通過DOWN事件清除動態信息,其次,保存的命令是用於在接口板插入後恢復接口板的配置,那麼在接口板拔出以後,只要執行和這些命令作用相反的命令,就可以清除和拔出單板相關的配置信息,並在執行命令過程中產生相應的設備通知事件;在完成相關配置清除後,刪除NETDEV表中和接口板中各埠對應的表項內容,並產生NETDEV_UNREGISTER事件。熱拔時L3層模塊最核心的任務是處理路由表和ARP表的變化。業務版拔出後,接口板的埠DOWN事件通過通知鏈函數通知路由模塊,路由模塊會重新路由計算,刪除相應的路由表項。這個過程會通過路由模塊所註冊的通知鏈函數與L2的熱拔處理可以比較好的銜接,因此流程上不需要特殊處理。對於ARP表,板子拔出後,從該板上學習到的ARP表已經沒有保留必要,應該立即從系統中老化刪除。通過註冊熱插拔處理的回調函數刪除所有相關的QOS和ACL配置軟體信息。
(3)清除該模塊的狀態描述信息。
(4)為了防止被拔模塊死掉,可以對該模塊執行一次重啟。
熱插的檢測和處理,主要是通過重新下發軟體表項來實現配置信息的恢復。當有新的業務板插進來時,它要向主控板發送註冊請求報文,ACTIVE MASTER(中斷)向該業務模塊發送應答,並置標記位為熱插。接口板收到註冊響應報文之後開始與主控板進行同步,在一塊單板插入後,需要將主控板上的當前NETDEV數據結構(不包括已經保存的和拔出單板相關的配置)同步到此接口板,並且根據這些軟體表項在硬體中進行相應的配置。參考圖2,順序做如下處理(1)創建埠和預設VLAN,和系統啟動時執行的操作基本一樣;(2)主控板同步NETDEV數據表到插入的接口板,發送完數據後,主控板等待接口板完成硬體配置;(3)接口板在NETDEV數據表後,根據此數據表進行相應的硬體設置,接口板完成硬體設置後,發送消息通知主控板;(4)主控板比較單板類型,判斷是否需要進行配置恢復;(5)主控板提取並執行保存的配置命令塊,對插入的接口板進行配置。
(6)主控板完成接口板的配置後,打開接口板的各埠,使插入的接口板能夠進行業務轉發;熱插時L3模塊最核心的任務是處理路由表和ARP表的變化。
對於新插入的業務版,需要將FIB表全部下發到該模塊,另外插入後接口UP增加的路由也要一併下發。QOS和ACL模塊可以通過註冊熱插的CALL_BACK函數來實現恢復。
當有多個模塊同時插入系統時,熱插處理是串行的;對於每一個模塊的處理過程同上。
權利要求
1.一種熱拔的檢測和處理方法,包括(1)當主控板檢測到中斷,或當設備狀態機正常運行時,超時沒有收到模塊的狀態報告報文時,通過設備狀態機發現有模塊被拔掉,進行熱拔的處理;(2)從全局配置信息中,提取與該模塊相關的配置信息,保存全局配置信息中的與模塊相關的命令;(3)數據鏈路層、IP路由層、QoS各個處理模塊刪除與該模塊相關的配置信息,並進行相應的備份;(4)清除該模塊的狀態信息。
2.一種熱插的檢測和處理方法,包括(1)當設備狀態機正常運行時,收到新的模塊的註冊請求報文,進行熱插的處理;(2)數據鏈路層、IP路由層、QOS各個處理模塊下發與該模塊相關的配置;(3)執行全局配置信息的保存命令,恢復該模塊的相關配置信息。
3.如權利要求1所述的熱拔的檢測和處理方法,其特徵在於步驟(3)中數據鏈路層的處理包括a、在模塊拔出後,首先模塊上的每個埠都產生一個NETDEV_DOWN事件,通過這個事件清除動態信息;b、執行與保存配置信息命令作用相反的命令,清除相關的配置信息,並在執行命令過程中產生相應的設備通知事件;c、刪除NETDEV表中和模塊中各埠對應的表項內容,並產生NETDEV_UNREGISTER事件。
4.如權利要求1所述的熱拔的檢測和處理方法,其特徵在於步驟(3)中IP路由層的處理包括模塊的埠NETDEV_DOWN事件通過通知鏈函數通知路由模塊,路由模塊重新路由計算,刪除相應的路由表項。
5.如權利要求1所述的熱拔的檢測和處理方法,其特徵在於步驟(3)中QoS各個處理模塊的處理包括通過註冊熱插拔處理的回調函數保存模塊接口上所有相關的QOS和ACL配置軟體信息。
6.如權利要求2所述的熱插的檢測和處理方法,其特徵在於步驟(2)中數據鏈路層的處理包括將主控板上的當前NETDEV數據結構下發到該模塊,模塊根據NETDEV數據表恢復硬體設置。
7.如權利要求2所述的熱插的檢測和處理方法,其特徵在於步驟(2)中IP路由層的處理包括將FIB表全部下發到該模塊。
8.如權利要求2所述的熱插的檢測和處理方法,其特徵在於步驟(2)中QoS各個處理模塊的處理包括通過CALLBACK函數恢復相關的配置。
全文摘要
本發明提供了一種面向高端交換機的熱插拔檢測和處理方法,屬於計算機網絡通信領域。該方法在交換機不宕機的情況下通過中斷和設備狀態機的狀態報告報文來檢測熱插拔,熱拔模塊時候,不影響業務流的正常轉發的狀態下,從全局配置信息中分析提取出來與該模塊相關的配置信息,數據鏈路層、IP路由層和QOS各個處理模塊分別刪除該配置信息並進行備份,清除該模塊的狀態信息;熱插模塊時候,將主控板上的當前NETDEV數據結構同步到該模塊,在該模塊上根據NETDEV數據表恢復硬體設置,執行全局配置信息的保存命令,恢復該模塊相關的配置信息。模塊經過熱插拔處理後依然可正常工作,在不關閉交換機的情況下,用戶可隨意替換或移動模塊,便於安裝、調試和故障檢測。
文檔編號H04L12/24GK1529465SQ0313472
公開日2004年9月15日 申請日期2003年9月29日 優先權日2003年9月29日
發明者石勇, 石 勇 申請人:港灣網絡有限公司