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