韓驍宇
萊斯自動化系統是國產空管自動化系統中較為成熟與完善的產品,目前廣泛部署在全國各個空管分局站,其中最重要的是作為三大區管中心的備用自動化系統。基于對國產設備的支持和對運行安全的考慮,備用系統常態化使用越來越頻繁。在維護與使用方面對空管管制與技術保障人員都提出了更高的要求。
本文以天津萊斯MUMEN3000自動化系統為例,研究在當前V3.2版本軟件環境下,系統狀態切換與顯示的機制。全面深入了解萊斯自動化系統主備機切換邏輯、判斷標準;系統運行狀態判斷標準與切換時機;各個服務器間消息傳遞機制與生效過程。并結合實際案例分析,幫助大家了解萊斯自動化系統特性,為今后系統使用與設備維護提供支撐。
一、背景
天津使用萊斯NUMEN3000行自動化系統,當前版本為V3.2P14,是北京區管萊斯自動化系統的一個TCU分區,北京區管系統FDP提供計劃計算及報文處理能力,本分區內進行雷達數據引接與處理,航跡與計劃相關計算,告警計算等功能。系統配置方面,主要功能服務器(如SDP、DCP等)采用雙機備份配置,擁有旁路雷達處理能力。系統使用三網結構,由兩個運行網與一個服務網組成。
該系統運行狀態分為系統運行級別、服務器運行狀態以及各類軟件運行情況,系統會根據各個模塊運行狀態動態調整系統運行級別。并給出相應提示,并可以通過人工操作在線進行狀態切換。
在使用萊斯自動化指揮期間,系統出現降級,恢復后天津分區航跡與計劃相關功能失效,北京分區該功能正常。因此對該情況進行相關的調查與分析,主要調查主備機狀態判斷、切換邏輯,系統運行狀態與顯示方面的系統特性。
二、調查過程
(一)降級過程調查
萊斯自動化系統主備機狀態由主備機中ZLS進程判斷,當節點開機后,ZLS進程優先啟動,啟動后節點為初始狀態,此時節點通過PING進程嘗試連接交換機,判斷網絡狀態。同時ZLS進程準備接收主備機心跳信息,如果收到同組服務器的主機心跳,則將自己切換為備用狀態,并發出備機心跳;若未收到主機心跳則等待3個周期(共3秒),若在此3個周期內收到同組的主機心跳,則判斷是否為本機發送的主機心跳信息,是則將自己置為主機狀態,否則說明此時系統中有主用狀態服務器,將自己置為備用狀態。主備機心跳信息發送周期為1秒。
當3個周期后仍未收到主機心跳信息,則發送成為主機申請包,并繼續等待3個周期,在此期間若收到同組主機的心跳信息,則判斷是否為本機發布的心跳信息,并按之前的流程繼續判斷,若3個周期內未收到同組主機心跳信息,則將自己置為主機。若兩臺服務器都申請成為主機,則優先申請的服務器成為主機。
在運行中發現,系統降級過程中,DCP11服務器在未接入網絡的狀態下開機后,該節點由于未收到主備機狀態信息以及其他節點的狀態信息,因此判斷自己為單主機狀態,其他節點均不在線。在該節點接入網絡時,同組主機正處于兩次主機心跳信息發送的間隙期,因此DCP11未收到系統中同組主機的心跳信息,并將全系統節點不在線信息發送至網絡中。造成判斷系統運行狀體的進程SMPS根據該信息判斷系統主要服務器失效,系統降級。
(二)系統運行狀態與顯示不符調查
萊斯自動化系統運行等級升降級邏輯是:當主要功能缺失時自動降級,例如MSDP的main radar、couple、告警等服務失效時系統將切換至旁路雷達處理服務器BSDP;當區管FDP服務器失效或與區管鏈路失效時系統將切換至本地計劃處理服務器FDP。待故障功能恢復后需手動確認相應功能恢復,并手動升級系統狀態。
當系統判斷當前分區內無SDP服務器可用,但存在雷達處理功能正常的SDP服務器時,席位會顯示可用SDP服務器中SDP進程處理的綜合航跡;負責航跡與計劃相關的TPP進程則會等待主任席人工確認系統升級后開始工作。
在運行過程發現,系統從出現降級狀態直至恢復時,席位顯示系統主用SDP功能、本分區FDP功能能失效,但在監控中顯示以上4臺服務器功能運行正常,軟件進程運行正常;在重啟席位后,席位顯示系統所有恢復功能正常,但航跡無法與計劃相關。
造成這種情況的原因為,系統因DCP11發布的不正常信息后判斷系統降級,但實際上所有服務器狀態均正常,因此當再次全系統詢問狀態時各個節點返回正常消息。重啟席位后,席位進程默認為系統狀態正常,同時收到所有服務功能正常的消息,因此重啟席位進程后顯示系統運行狀態正常。但TPP進程需人確認系統恢復手動升級才開始工作,因此系統相關能力喪失。需要將雙機TPP進程下線,再次觸發自動降級過程,并手動升級才能恢復。
為調查此類情況,可使用zltest工具模擬當日服務器間消息傳遞過程,使用getst腳本查看系統運行狀態。用以調查系統在狀態顯示方面的問題。zltest工具可人工發布各類ZLS信息(如上文中0x0100、0x0200等),getst工具可直接顯示系統運行狀態,通過以上兩個工具在北京新終端測試平臺上復現當日情況并結合日志分析狀態顯示與變化過程,
三、 結論
經過調查,發現萊斯自動化系統V3.2P15、P16均存在主備機狀態判斷、切換邏輯不合理,系統運行狀態與顯示狀態不一致問題。
其中在主備機狀態方面。服務器開機后ZLS進程在未接入網絡時就開始計算主備機狀態與系統所有節點狀態,而該進程在主要雙機配置的服務器上均有配置,根據系統設計原理,全系統只有機器號最小的節點發布ZLS信息,因此只要出現ZLS進程發布的系統狀態信息,所有節點均根據該信息做出相應動作。且由于各類狀態信息的發布周期不同,有一定概率出現保存錯誤信息的節點在接入網絡時將異常信息發布至系統中,造成系統整體狀態異常。同時ZLS發布的系統狀態信息在A、B、C三網中均有傳輸,因此開機后無論先接入何種類型網絡均存在該風險。在測試過程中,多次進行服務器開機后接入網絡的操作時大部分情況下節點會正常接入系統并變為備用狀態,但出現一次上線服務器將主用DCP服務器自動下線,系統降級情況。
在系統系統狀態顯示方面,經過對事件中各類消息的模擬,發現席位顯示的系統狀態與系統真實運行狀態存在差異。且由于系統升級需要主任席在相應的狀態開關處進行操作,由于這種差異導致主任席無法進行升級操作,導致TPP進程雖然狀態正常但無法介入工作,相關功能失效但系統顯示狀態正常,對維護維修造成誤導。
因此,針對主備機狀態問題,因在節點介入系統前進行狀態計算無意義,且會生成異常狀態信息,建議調整軟件啟動邏輯,節點在未聯通網絡,不能收到系統狀態時不進行主備機狀態及系統狀態的計算。針對系統運行狀態與顯示狀態不一致問題,為便于技術維護人員及時準確的判斷系統狀態,建議在監控中顯示系統中各個服務器運行狀態及系統運行狀態,為運行維護提供準確信息。