關文俊



關鍵詞:萊斯塔臺自動化;RAID1;Linux;SSACLI;磁盤陣列
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2023)10-0099-03
0 引言
民航湛江空管站萊斯集成塔臺自動化系統屬于湛江機場遷建工程空管工程項目之一,是由南京萊斯信息科技股份有限公司自主研發的具備自有知識產權的集成塔臺自動化系統。該系統是中南地區首套面向機場管制用戶的業務集成系統,能夠實現管制信息資源統一處理與顯示,實現管制業務一體化整合,向用戶提供一體化、集成式管制指揮平臺。系統覆蓋塔臺管制全流程的電子化、數字化航班進程管理(EFS);一體化的機場場面和空中態勢監控;基于監視趨勢及管制意圖的安全告警、停止排燈控制;先進的航空器滑行路由規劃(人工、自動)功能;靈活顯示的運行環境信息(氣象、情報、流量等);高度信息關聯、便捷的集成顯示聯動操作界面;與外部單位(系統)交互聯動的一體化運行等功能。解決了塔臺設備繁多、信息關聯集成度低等問題,并著眼于塔臺管制業務和系統整體規劃,基于塔臺管制流程,創新新模式、新格局,從物理、信息、功能三個層面,構建了基于塔臺工作流的信息化集成框架,形成一體化、集成式塔臺管制系統解決方案。萊斯機集成塔臺自動化系統基于Linux 7.8操作平臺,采用C/C++語言編程、QT圖形工具開發的三網分布式系統。該系統中,服務器均采用雙機熱備份方式工作。終端均采用單機三網工作方式,由于終端沒有雙機冗余結構,所以終端配置RAID1顯得更加重要。
民航湛江空管站萊斯集成塔臺自動化系統的終端硬件型號為惠普Z4,所有終端配置兩塊設置了鏡像RAID1的硬盤,最多可允許一塊硬盤故障而不影響設備的運行。
1 RAID的介紹
RAID全稱是Redundant Arrays of InexpensiveDisks,即容錯式廉價磁盤陣列[1]。磁盤陣列分為軟件RAID與硬件RAID,軟件RAID主要是通過軟件來仿真數組的任務,因此會損耗較多的系統資源。硬件RAID是通過磁盤陣列卡來達成數組的目的,磁盤陣列卡上面有一塊專門的芯片在處理RAID的任務,因此在性能上會比較好。這也是目前湛江空管站所有終端及服務器所采用的方式。RAID根據類型的不同有著不同的功能,常見的RAID 類型有RAID0、RAID1、RAID5、RAID10等。
RAID0 稱為stripe 即等量模式。這種模式的RAID會將磁盤先切出等量的名為chunk的區塊大小,chunk 一般設為4k~1M 之間[2],當一個文件要寫入RAID時,如圖1所示,該文件會依據chunk的大小切割好,之后再依序交錯等量地放到各個磁盤里去。由于數據已經先被切割并且依序放置到不同的磁盤上面,因此每個磁盤所負責的數據量都降低了,也就是RAID0的數據寫入性能提高了。但是由于數據被等量分開存儲,當RAID0 中的某一個硬盤故障了,在RAID0上面的所有數據都會丟失。
RAID1稱為mirror即鏡像模式。RAID1模式主要是讓同一份數據,完整地保存在兩個磁盤上面[3],當一份數據傳送到RAID1之后,陣列卡會主動復制一份分成兩股并分別寫到各個硬盤上面,兩個硬盤上面的內容一模一樣。RAID1的特點就是磁盤容量一半在用,另一半備份,當其中一個硬盤故障時數據依然完整,不影響系統的運行[4]。此時插入一個新的硬盤后就可以進行數據重建。即RAID1最多允許1個硬盤故障,對于安全第一的空管行業而言,在塔臺自動化系統上使用RAID1可以有效提高系統的安全保障級別。目前湛江空管站塔臺自動化大部分對硬盤容量需求不高的終端、服務器所使用的就是RAID1。
RAID10,所謂的RAID1 0就是先讓兩個硬盤組成RAID1,這兩組RAID1再組成一個RAID0。如圖3所示,Disk A+Disk B 組成第一組RAID1,Disk C+Disk D 組成第二組RAID1,然后這兩組RAID1 再組成RAID0。這樣第一組或第二組RAID1中的一個硬盤故障了不影響數據的完整性,同時RAID的寫入性能也得到的提升。
2 萊斯塔臺自動化RAID配置
以萊斯的HP DL380為例,DL380的兩塊硬盤由陣列卡(HP Smart Array P408i-a SR Gen10)管理,在安裝一臺新主機時需要先設置陣列卡,將兩塊硬盤配置為RAID 1 模式,以保證系統運行的可靠性。具體步驟如下:
1)在主機開機引導的過程中,關注屏幕打印,當屏幕下方看到如圖4 畫面時,及時按下“F9”,按下F9 后,進入System Utilities 設置界面,然后選擇Systemconfiguration進入系統配置界面[5]。
2)在系統配置界面選擇“Embedded RAID1:Smart Array P408i-a SR Gen10”進入到陣列卡配置界面如圖5所示:
3)在陣列卡配置界面選擇“Array Configuration”,然后勾選需要創建RAID的兩塊硬盤,選擇“Proceedto next From”回車然后再設置RAID級別為RAID1。
4)設置完成RAID 級別后點擊“Proceed to nextFrom”進入如圖7 所示的確認界面,點擊“SubmitChanges”然后保存配置并重啟即可完成RAID1 的配置。
3 惠普SSACLI 陣列管理工具
SSACLI是HP為Linux環境提供的一個磁盤管理工具,通過此工具,維護人員可以查看陣列的健康狀態;配置RAID 陣列以及手動重建數據等一系列的操作。
3.1 安裝SSACLI 陣列管理工具
首先將SSACLI管理工具拷貝至萊斯系統的home 目錄下,然后進入超級用戶,輸入以下命令進行安裝:“rmp -ivh SSACLI-4.21-7.0.x86_64.rpm”[6]。如圖8 所示:
3.2 SSACLI 排查故障應用分析
湛江空管站萊斯塔臺自動化EFS0所采用的機器是HP Z4 陣列卡采用的為MSCC 的SmartHBA 2000-4i4e。值班室在2022年的年維護中錯誤將其中一塊硬盤接到EFS0主板的sata線而非陣列卡上進行啟動,導致監控上有告警。值班員誤以為該硬盤發生故障,將有告警的硬盤用一塊同型號但非全新的硬盤替換,并接回陣列卡上。開機發現換上的新硬盤可以正常識別,但故障硬盤信息仍在而且數據無法自動重建。如圖9所示:
進入SSACLI 管理界面輸入“ctrl slot=5 pd allshow”命令來查看陣列的硬盤狀態信息,經過分析發現,故障硬盤信息顯示成unknown且未自動從陣列清除,導致新換上的硬盤能夠正常識別硬盤,但是無法自動加入RAID1 的磁盤陣列,從而導致數據無法重建。
如圖11所示將原硬盤正確接入陣列卡后通過下列命令操作可以在不丟失數據的情況下將陣列信息恢復。
1)通過SSACLI命令進入到SSACLI管理界面;
2)輸入“ctrl slot=5 ld all show”命令查看該陣列的邏輯磁盤信息;
3)輸入“ctrl slot=5 array A delete”命令來刪除RAID1陣列信息;
4)輸入“ctrl slot=5 pd all show”命令發現故障硬盤信息已經消失;
5)輸入“ctrl slot=5 create type=ld driver=cn0:1:1-cn0:1:2 RAID=1”重新創建RAID1陣列;
6)輸入“ctrl slot=5 pd all show”命令發現陣列已成功創建;
7)重啟后監控恢復正常,再次通過“ctrl slot=5 pdall show”命令檢查陣列情況,發現陣列已經恢復,如圖12所示:監控告警消失且經檢查系統數據未發生任何丟失。
4 結束語
本文介紹了常見的RAID種類及作用,以及在湛江空管站萊斯塔臺自動化上的配置方法和通過SSACLI陣列管理工具解決運行過程中遇到的問題的案例分析。為RAID如何在終端、服務器配置安裝提供了一個參考方法。湛江空管站萊斯塔臺自動化系統的各服務器及終端均配置了RAID1,對于日志服務器等配置了RAID1+RAID5,由2022年3月24日正式轉場使用至截稿日期,共發生2起硬盤故障事件,但兩起故障發生過程中均未造成過任何因硬盤故障導致的數據丟失情況。證明RAID1能夠正常有效地提高系統的保障級別。
對于空管行業而言,安全始終是放在第一位的。服務器和終端配置RAID1 是大勢所趨,因為配置RAID1可以極大地提高安全保障等級,有效地減少因設備原因導致的不安全事件甚至是事故的發生。