節點故障檢測方法及裝置的制造方法
【技術領域】
[0001]本發明涉及通信領域,具體而言,涉及一種節點故障檢測方法及裝置。
【背景技術】
[0002]目前,相關技術中的光纖通道(Fibre Channel,簡稱為FC)網絡具有高帶寬、低時延等良好的網絡傳輸特性,使其在存儲網絡中得到廣泛的應用。
[0003]在主機節點經過交換機節點連接至磁陣節點的組網模型中,在已建立連接關系的兩個節點之間(主機節點與磁陣節點)進行數據交互,數據平面始終孤立于終端設備節點(主機和磁陣)或交換節點,而無法得知整個網絡的連接情況。對于數據路徑的可達性和有效性是通過光纖通道的上層來確定的,即當某個交換節點發生故障時,與其存在連接關系的上游節點或交換節點無法知道該故障點下游的節點已經發生故障,上下游節點還是繼續發送數據幀,直到最上層(主機和磁陣)感知超時才進行相應的故障處理。
[0004]目前的FC協議并沒有提供專門的機制來檢測連接有效性和故障檢測。對于FC這種高時延要求的傳輸介質而言,節點故障后帶來的無效的幀傳輸會影響網絡流量,嚴重影響了用戶使用FC網絡的體驗。且當組網層次比較深時,所有節點之間通過幀來檢測連接通斷在高速接口上也會影響用戶的業務帶寬。
[0005]在主機與磁陣的典型組網中,少量的磁陣會同時連接大量的主機節點,并為大量的主機同時提供服務,如果交換節點或磁陣節點發生故障,故障恢復管理不能影響其它主機節點的業務。由于主機節點和磁陣沒有維護全網的拓撲關系,只有通過FC-GS-6協議所有節點向交換節點注冊其身份,在此種情況下,當有故障發生時,手工維護、恢復、管理會極有可能影響正在運行的業務。
[0006]目前的恢復手段基本上是查看實際環境組網物理連接,并且查看網管工具的告警信息,找出與告警信息匹配的物理節點,整理發起物理節點與故障物理節點之間的物理連接線纜才能定位故障,因而無法滿足復雜組網環境下快速定位解決故障的要求。還有就是隨著磁陣網絡的升級與改造,增加設備節點,網絡部署會發生改變,會造成已有網絡部署的變化,根據以往的維護經驗無法滿足快速維護網絡的需求。
[0007]目前FC協議對一種FC設備,通過眾所周知的地址標識訪問Name Server,使用FC-GS-6定義的Common Transfer協議來允許客戶端附著到FC交換網中的設備的地址標識和屬性,其中,使用GPN_ID獲取端口名稱,使用GNN_ID獲取節點名稱,使用GCS_ID獲取服務標識名,使用GFT_ID獲取FC-4屬性,使用GPT_ID獲取端口標識類型等。主機節點與磁陣節點只能通過交換節點查詢到其它節點的零散信息,沒有直接的邏輯關系,無法提供統一的組網展現。
[0008]在光纖通道FC-LS-2協議中規定了環回診斷(echo)命令。echo請求接收方將該命令碼之后的負荷(payload)內容按照接收到的順序,通過應答(reply)序列返回至echo命令的發起者,其提供了一種方法用于傳輸數據幀,并且通過返回payload內容來進行簡單環回診斷功能。序列只能有一個巾貞,該巾貞用來傳輸echo指令和應答。
[0009]然而,目前FC協議中使用的echo僅能實現簡單的環回診斷功能,而并不能獲取echo報文所經過節點的信息標識。
【發明內容】
[0010]本發明提供了一種節點故障檢測方法及裝置,以至少解決相關技術中在FC網絡中交換節點或終端設備節點之間的連接發生故障后,數據收發節點無法快速感知的問題。
[0011]根據本發明的一個方面,提供了一種節點故障檢測方法。
[0012]根據本發明實施例的節點故障檢測方法包括:向與當前節點連接的下游葉子節點發送echo報文,其中,echo報文用于檢測當前節點與目的節點之間的鏈路是否發生異常,當前節點和目的節點均為FC網絡中的終端設備節點;根據echo應答報文獲取在當前節點與目的節點之間的正常工作的各個節點的標識信息;通過獲取到的各個節點的標識信息確定是否存在發生故障的節點。
[0013]優選地,根據echo應答報文獲取各個節點的標識信息包括:接收來自于目的節點的echo應答報文,其中,echo應答報文中攜帶的信息包括:echo報文在當前節點與目的節點之間逐級轉發經過的每個節點的全球端口名稱(WWPN)標識信息;對echo應答報文進行解析,從echo應答報文中提取全部節點的WffPN標識信息。
[0014]優選地,根據echo應答報文獲取各個節點的標識信息包括:接收來自于中間節點的echo應答報文,其中,echo應答報文中攜帶的信息包括:echo報文在當前節點與中間節點之間逐級轉發經過的每個節點的WWPN標識信息以及中間節點收集的該中間節點下游的正常工作的全部葉子節點的WffPN標識信息,中間節點為在FC網絡中由當前節點向目的節點發送的echo報文經過的交換節點;對echo應答報文進行解析,從echo應答報文中提取全部節點的WffPN標識信息。
[0015]優選地,通過獲取到的各個節點的標識信息確定是否存在發生故障的節點包括:判斷從echo應答報文中提取的WWPN標識信息是否為在當前節點與目的節點之間的全部節點的標識信息;如果否,則根據提取到的WWPN標識信息確定發生故障的節點的類型,當發生故障的節點為終端設備節點時,則直接將發生故障的節點的狀態信息設置為故障狀態;當發生故障的節點為交換節點,則將發生故障的節點以及發生故障的節點下級的全部葉子節點的狀態信息均設置為故障狀態。
[0016]優選地,在從echo應答報文中提取全部節點的WffPN標識信息之后,還包括:根據提取到的WWPN標識信息確定正常工作的各個節點之間的連接關系和全部連接關系的狀態信息,生成網絡拓撲結構關系圖。
[0017]優選地,向與當前節點連接的下游葉子節點發送echo報文包括:按照第一預設周期發送echo報文;如果發送失敗或者在預設時長內未接收到echo應答報文,則將第一預設周期調整為第二預設周期,并且連續發送N次echo報文,其中,第二預設周期的取值小于第一預設周期,N為大于I的正整數,連續發送N次echo報文是否成功的結果用于確定是否繼續發送echo報文。
[0018]根據本發明的另一方面,提供了一種節點故障檢測裝置。
[0019]根據本發明實施例的節點故障檢測裝置包括:發送模塊,用于向與當前節點連接的下游葉子節點發送echo報文,其中,echo報文用于檢測當前節點與目的節點之間的鏈路是否發生異常,當前節點和目的節點均為FC網絡中的終端設備節點;獲取模塊,用于根據echo應答報文獲取在當前節點與目的節點之間的正常工作的各個節點的標識信息;確定模塊,用于通過獲取到的各個節點的標識信息確定是否存在發生故障的節點。
[0020]優選地,獲取模塊包括:第一接收單元,用于接收來自于目的節點的echo應答報文,其中,echo應答報文中攜帶的信息包括:ech0報文在當前節點與目的節點之間逐級轉發經過的每個節點的全球端口名稱(WWPN)標識信息;第一提取單元,用于對echo應答報文進行解析,從echo應答報文中提取全部節點的WffPN標識信息。
[0021]優選地,獲取模塊包括:第二接收單元,用于接收來自于中間節點的echo應答報文,其中,echo應答報文中攜帶的信息包括:ech0報文在當前節點與中間節點之間逐級轉發經過的每個節點的WWPN標識信息以及中間節點收集的該中間節點下游的正常工作的全部葉子節點的WffPN標識信息,中間節點為在FC網絡中由當前節點向目的節點發送的echo報文經過的交換節點;第二提取單元,用于對echo應答報文進行解析,從echo應答報文中提取全部節點的WWPN標識信息。
[0022]優選地,確定模塊包括:判斷單元,用于判斷從echo應答報文中提取的WffPN標識信息是否為在當前節點與目的節點之間的全部節點的標識信息;處理單元,用于在判斷單元輸出為否時,根據提取到的WWPN標識信息確定發生故障的節點的類型,當發生故障的節點為終端設備節點時,則直接將發生故障的節點的狀態信息設置為故障狀態;當發生故障的節點為交換節點,則將發生故障的節點以及發生故障的節點下級的全部葉子節點的狀態信息均設置為故障狀態。
[0023]優選地,上述裝置還包括:生成模塊,用于根據提取到的WffPN標識信息確定正常工作的各個節點之間的連接關系和全部連接關系的狀態信息,生成網絡拓撲結構關系圖。
[0024]通過本發明實施例,采用向與當前節點連接的下游葉子節點發送echo報文,其中,echo報文用于檢測當前節點與目的節點之間的鏈路是否發生異常,當前節點和目的節點均為FC網絡中的終端設備節點;根據echo應答報文獲取在當前節點與目的節點之間的正常工作的各個節點的標識信息;通過獲取到的各個節點的標識信息確定是否存在發生故障的節點,即當前節點主動向下游葉子節點發送echo報文,并接收echo應答報文,從中提取echo報文經過的各個節點的標識信息,而不需要人工配置各節點信息,并根據提取到的各個節點的標識信息及時掌握由節點故障引起的其下游節點數據幀超時,由此解決了相關技術中在FC網絡中交換節點或終端設備節點之間的連接發生故障后,數據收發節點無法快速感知的問題,進而實現了對FC網絡連接故障的快速檢測,使得收發