劉 梅,管 韜,劉 進
(貴州廣播電視臺電視錄制中心,貴州 貴陽 550002)
非線性編輯網絡中心管控服務系統的安全測試
劉 梅,管 韜,劉 進
(貴州廣播電視臺電視錄制中心,貴州 貴陽 550002)
重點介紹了非編網絡中心管控服務系統中硬件冗余、中心存儲安全、數據庫系統安全、服務器切換的測試方案以及測試案例,通過網絡帶寬、軟件功能、使用流程、系統安全等各項測試來檢驗非編網絡系統的安全性,并針對某些薄弱環節制定相應的故障處置方案。
非編網絡;安全測試;冗余;中心存儲;數據庫系統
非編網絡在搭建完成后和正式投入使用前必須進行測試,這是一個至關重要的步驟,測試的內容主要包括網絡帶寬測試、軟件功能測試、使用流程測試、系統安全測試、視頻質量測試等多個方面。其中網絡安全測試十分重要,其中網絡中心管控服務系統的測試則是重中之重,關系到整個網絡運行的安全。通過測試可以對網絡設計的多種冗余方式、備份方式進行實際的操作檢測,還能采用多種方式模擬各類故障的產生,檢驗該網絡的安全性能以及容災程度,以及會對網絡產生哪些影響,從而預先制定出相應的應急措施和故障處理方案。
1.1 冗余電源測試
現在非編網中心系統的服務器、交換機、中心存儲、磁盤陣列等均配置冗余雙電源,兩個電源協同工作負載均衡,正常工作時都為設備提供電力,當一個電源出現故障時,另一個電源就承擔所有的負載。
測試方案:雙電源通電正常后,手動拔出一端電源線檢查設備是否運行正常。
1.2 冗余硬盤的測試
為了加強硬盤使用的安全,服務器的系統硬盤、數據硬盤,以及磁盤陣列都會采用RAID方式。RAID(Redundant Array of Inexpensive Disks)是一種由多塊硬盤構成的冗余陣列,能實現數據容錯,如果一個磁盤發生故障,不影響工作,并能在線更換故障盤[1]。
測試方案:根據RAID方式的不同,在RAID組里手動拔出一塊硬盤,觀察是否影響系統工作,再插入一塊新的硬盤,測試重建時間,檢查數據是否恢復。
測試案例:測試貴州廣播電視臺聯播高清新聞非編網的數據庫服務器冗余硬盤。
1)服務器系統盤有2塊采用RAID1,通過磁盤數據鏡像實現數據冗余,手動熱拔出其中1塊硬盤,服務器無異常,系統工作正常。
2)服務器數據盤共有6塊采用RAID5,5塊數據盤+1塊校驗盤,通過在所有磁盤上交叉地存取數據及奇偶校驗信息實現冗余,手動拔出任意一塊硬盤,數據信息不受影響。
3)插入新的硬盤,系統自動重建數據盤,重建時間約2 h,數據恢復正常(注:重建時間與數據量的大小成正比,新的硬盤空間應等于或大于原硬盤)。
為了加強中心存儲的安全性,許多非編網采用了主備存儲的配置方式,每個存儲的控制器采用配置2個或多個的冗余方式,存儲磁盤陣列采用RAID和配置備份盤的方式。
2.1 主備存儲切換測試
在配置了主備存儲的非編網絡測試兩者切換時,應該預先做好存儲盤陣中數據的同步方案,使主備存儲的測試數據保持一致。
測試方案:斷開一個存儲與交換機的連接或直接關閉,測試另一存儲是否能正常接管,接管所需要時間,檢查接管后站點編輯制作是否正常,對整個系統有哪些影響。
測試案例:測試本臺聯播高清新聞非編網中心存儲DDN S2A9900,配置了主備存儲DDN1和DDN2,采用全鏡像方式,雙讀雙寫模式,實現了實時數據同步。
1)將存儲盤陣DDN1下的某一素材文件刪除,模擬該素材在DDN1中丟失,非編站點仍能使用該條素材。
2)將連接存儲盤陣DDN1的光纖線斷開,模擬DDN1故障,非編站點能自動讀取存儲盤陣DDN2的素材,完成節目編輯制作。切換是自動完成,瞬間接管達到無縫連接,切換時在非編站點的使用沒有影響。
2.2 控制器的冗余測試
非編網絡的中心存儲通常配置多個控制器,管理和控制磁盤陣列、傳送I/O、通過冗余計算或校驗恢復丟失的數據。
測試方案:關閉其中一個控制器,測試對磁盤的使用是否有影響,對使用寬帶有什么影響。
測試案例:
1)測試本臺聯播高清新聞非編網中心存儲DDN S2A9900,每臺均配置雙控制器,每個控制器各控制和管理一半磁盤。在telnet客戶端或超級終端登錄控制器1執行命令“shutdown”關閉控制器1,模擬控制器1故障,此臺存儲一半的磁盤不能工作,另一個控制器管理的磁盤能正常使用,登錄控制器2,將控制器1管理的lun全部移動至控制器2,依次輸入命令“lun move=lun0”(lun0為需要移動的lun編號),控制器2正常接管所有磁盤,此存儲全部磁盤都能使用,但只能提供一半的帶寬。
2)測試本臺公共頻道高清非編網絡中心存儲HDS HUS150,每臺存儲有2個控制器,2個控制器同時管控所有磁盤,直接關閉其中一個控制器,所有磁盤都能正常工作,可用帶寬只有原來的一半。
2.3 存儲磁盤測試
中心存儲磁盤陣列采用RAID方式、熱備盤、冷備盤等冗余方式,提高數據存儲的安全性。
測試方案:
1)測試熱備盤替換:手動拔出除熱備盤以外任意一塊硬盤,通過超級終端或磁盤管理軟件查看該硬盤是否被熱備盤替換。測試替換所用的時間以及替換時對網絡、站點、存儲數據有何影響。
2)測試盤陣RAID:在沒有熱備盤的情況下,在RAID組中拔出一塊硬盤,查看該RAID組是否仍能使用,檢查此項操作對網絡、素材、站點使用有沒有影響。
3)測試磁盤的重建:插入一塊新的磁盤,測試系統能否進行自動重建或輸入命令進行手動重建,重建完成所需的時間,重建過程中對網絡的使用有什么影響,重建完成以后數據的恢復情況。
測試案例:
1)測試本臺公共頻道高清非編網中心存儲HDS HUS150,配置72塊900 G SAS磁盤,劃分為6個“7(數據盤)+ 1(校驗盤)”tier和2個“9(數據盤)+1(校驗盤)”tier,均采用RAID5冗余方式作為數據盤;2塊磁盤采用RAID1冗余方式作為系統盤;還有2塊磁盤作為全局熱備盤。單個tier最多允許有3塊盤故障不影響盤陣數據。在一個tier中,手動拔出一塊硬盤,全局熱備盤可以立即替換并自動重建,重建時會影響非編站點對存儲磁盤的讀寫速度,存儲數據沒有影響,重建完成后成功替換。
2)測試本臺的聯播高清新聞非編網中心存儲DDN S2A9900,DDN1配置80塊600 G FC磁盤,劃分了8個“8(數據盤)+2(校驗盤)”tier,采用RADI6冗余方式,每個tier中最多允許有2塊盤故障。手動拔出一塊硬盤,數據立刻被同一tier其他硬盤恢復,該tier仍能夠使用,對網絡、素材、站點使用沒有影響。插入一塊新的硬盤,在無業務的情況下,將重建數值設為最大“System rebuild extent:128MiB”,將重建延時設為最小“System rebuild delay:0”,磁盤恢復時間約70 min(注:磁盤在重建時,會影響非編站點對存儲的讀寫速度,站點在使用時,進行磁盤重建時間也會增長,建議在空閑時間進行磁盤重建)。
為了保障數據庫的安全,數據庫服務器通常采用主備配置,兩者并行的工作方式。還配置第三備數據庫服務器作為應急備份,當主備數據庫服務器都出現故障時能夠接管。
3.1 主備數據庫服務器測試
1)主備數據庫服務器的切換測試
2臺數據庫服務器處于并行工作的狀態,建立數據庫集群,同時為系統提供服務,當其中某臺服務器出現故障,另外一臺服務器繼續為系統提供服務器。
測試方案:在2臺數據庫正常情況下,查看當前接管主服務數據庫是哪臺,關閉此臺服務器,測試另一數據庫能否接管,接管后狀態是否正常,接管所需時間。
測試案例:測試本臺聯播高清新聞非編網數據庫服務器,配置了RAC1和RAC2,雙機互為備份,安裝RetHat Enter?prise Linux系統和Oracle 10GRAC數據庫軟件[2]。數據庫集群正常,Oracle服務正常時,輸入命令“crs_stat-t”查看主服務“ora.oradb.db”在RAC1上,在服務器RAC1上執行“power?off”關機命令,觀察集群的狀態主服務“ora.oradb.db”自動切換到RAC2上,RAC2瞬間接管,接管正常,客戶端對oracle數據庫服務的訪問正常。重啟動RAC1后,重新恢復集群狀態。
2)對外服務端口冗余測試
數據庫服務器通過千兆以太網端口與交換機連接為系統提供服務,當每臺服務器提供2個端口,分別與2臺核心交換機形成交叉鏈路時,實現了對外服務鏈路完全交叉冗余。
測試方案:分別拔出主備數據庫服務器主機一條對外服務網線,觀察集群是否正常,恢復網線,再測試下一條網線。
測試案例:測試對象同上,在RAC1主機后拔出對外網線eth0,集群正常,服務正常,恢復網線;再拔出RAC1,集群正常,服務正常,恢復網線。在RAC2主機后拔出對外網線eth0,集群正常,服務正常,恢復網線;再拔出eth1,集群正常,服務正常,恢復網線。任何一條對外服務線路故障,數據庫系統不會受影響。
3)心跳服務端口冗余測試
當主備數據庫服務器用雙路千兆以太鏈路實現心跳實時檢測,分別與2臺核心交換機形成交叉鏈路,在交換機上將4個端口劃分到一個Vlan中,可實現心跳鏈路冗余。
測試方案:分別拔出主備服務器主機一條心跳網線,觀察集群是否正常,恢復網線,再測試下一條心跳網線。
測試案例:測試對象同上,在RAC1主機后拔出心跳網線eth2,集群正常,服務正常,恢復網線;再拔出eth3,集群正常,服務正常,恢復網線。在RAC2主機后拔出心跳網線eth2,集群正常,服務正常,恢復網線;再拔出eth3,集群正常,服務正常,恢復網線。任何一條心跳線路故障,數據庫系統不會受影響。
為了避免數據庫文件出錯無法恢復的情況,需要預先做好數據庫文件的備份,通常采取自動備份和手動備份2種方式結合,當數據庫文件系統出現故障時可以恢復到最近時間的數據。
測試方案:測試前手動對數據庫進行備份,模擬當前數據庫文件出錯,使用這些備份數據對數據庫進行恢復。
測試案例:測試對象同上,測試前在非編站點編輯一個測試故事板,包括視音頻素材、字幕、特技、動畫等并保存。登錄數據庫RAC1,執行命令“sh~/scripts/a.sh”完成物理備份,最新物理備份文件存放在/bak/orabak目錄下,登錄數據庫RAC2,執行命令“sh~/b.sh”完成邏輯備份,最新邏輯文件存放在/bak/expdpbak目錄下。再分別導入最新物理備份與邏輯備份進行恢復,數據庫恢復完成后在非編站點檢查測試故事板,所有內容和結構與之前存儲的一致,數據庫文件恢復正常(注:數據庫文件恢復測試應由數據庫專業人員進行)。
3.2 第三備數據庫服務器接管測試
第三備份服務器實現了對數據庫元數據的存儲與備份,當主備2臺數據庫服務器同時崩潰的情況下,此應急的數據庫仍能快速接管數據庫系統,保證整個網絡數據運行,并且當主備數據庫故障修復后,能將數據恢復到主備數據庫。
測試方案:測試前手動對數據庫文件進行備份,通過命令將數據庫切換至第三備數據庫服務器接管,測試接管是否正常及接管所需時間。
測試案例:測試本臺聯播高清新聞非編網第三備數據庫服務器DataGurad,數據文件與主備數據庫實時同步,安裝RetHat Enterprise Linux系統和Oracle 10GRAC數據庫軟件。1)在DataGurad上使用oracle用戶登錄sqlplus“sqlplus/as sys?dba”。2)停止主備數據庫的服務“SQL>recover managed standby database cancel”。3)準備轉換“SQL>alter database recover managed standby database finish force”。4)將DataGu?rad數據庫failover轉換為主庫“SQL>alter database commit to switch to primary”查看此時數據庫角色狀態“SQL>select da?tabase_role from v$database”。5)重啟數據庫到read write狀態“SQL>shutdown immediate”,“SQL>startup”啟動完成后,第三備數據庫接管,接管正常,接管時間約15 min。
4.1 存儲管理服務器切換測試
存儲管理服務器對中心存儲的數據進行組裝和搭配,形成高級的主數據管理單元,管理存儲磁盤文件系統,采用主備冗余配置提高系統安全性[3]。
測試方案:先查看當前接管的存儲管理服務器是哪臺,采用停止服務或關機方式關閉活動服務器,測試自動接管,或采用輸入切換命令的方式直接將服務指向另一臺服務器,測試手動接管,在工作站查看各磁盤資源訪問是否正常,能否正常訪問中心存儲,切換所需時間,以及在切換過程中會產生什么影響。
測試案例:測試本臺聯播高清新聞非編網存儲管理服務器MDS(Master Data Service),配置2臺MDS1和MDS2,安裝RetHat Enterprise Linux操作系統和StorNext For Linux管理軟件。在MDS服務器上輸入“./cvadmin”命令,查看帶“*”的盤符由存儲服務器MDS1管理。1)測試自動接管:在MDS1上執行“service cvfs stop”停止stornext服務或執行“poweroff”直接關閉,MDS2自動接管。2)測試手動切換:在MDS1輸入命令“service cvfs restart”重啟服務指向MDS2。2項測試MDS02都能正常接管,工作站能正常訪問中心存儲磁盤,接管時間約10 s,在客戶端安裝SANergy軟件測試讀寫,切換時只出現短暫停頓。
4.2 域控服務器接管測試
在安裝服務器操作系統時分別在2臺服務器上配置主域控和備域控,實現域控服務器冗余。主備域控服務為集群管理,通過IP地址后臺實時監控,可實現自動接管。
測試方案:關閉主域控服務器,測試備域控服務器能否正常接管,域控服務是否正常,站點能否重新登錄域。
4.3 NAS服務器切換測試
NAS服務器通過光纖鏈路與存儲中心連接,非編網中無光纖卡的站點則通過以太網鏈路,訪問由NAS服務器映射的存儲中心網絡素材盤。可根據無卡站點的數量配置2臺或2臺以上實現冗余。
測試方案:測試前準備連接各臺NAS服務器映射網絡盤符的腳本文件,直接運行腳本文件可以實現快速切換。關閉測試站點正在連接的NAS服務器,該站點會無法訪問中心存儲磁盤,運行連接另一臺NAS服務器映射網絡盤符的腳本文件,測試該站點是否能訪問存儲中心的磁盤。
4.4 管控服務器的接管測試
管控服務器作為承擔非編網網絡管理的功能服務器,可配置2臺,1臺為主服務器,1臺為冷備服務器形成冗余,2臺服務器安裝相同的管理控制服務軟件。
測試方案:關閉主管控服務器,打開冷備管控服務器,并啟動管理控制核心服務,測試冷備管理服務器是否正常接管,管控服務是否正常。
通過多種方式對非編網絡進行安全測試,使網絡管理人員對網絡安全有更直接、具體、詳細的了解,并在實際操作中掌握應急措施,提高處理故障的能力。在測試過程還能發現安全上存在的一些問題和漏洞,可及時與非編廠家現場實施人員一起解決這些問題,使非編網絡在正式投入使用前得到了進一步的完善,加強網絡運行的安全性。
[1] 寇錦.RAID技術在非線性編輯系統中的應用[J].中國有線電視,2002(19):54-56.
[2] 查志勇,朱小軍,彭祥禮.Oracle數據庫高可用集群實現方案[J].電力信息化,2011(11):25-28.
[3] 劉群,馮丹,王芳.高可靠性元數據服務器研究[J].計算機工程,2008(17):88-90.
TN931 文獻標志碼:B DOI:10.16280/j.videoe.2015.06.019
【本文獻信息】劉梅,管韜,劉進.非線性編輯網絡中心管控服務系統的安全測試[J].電視技術,2015,39(6).
閆雯雯
2014-08-20