李海彬 楊 波 廣西電視臺(tái)
廣西電視臺(tái)新聞非編網(wǎng)盤陣空間管理和應(yīng)用方法探討
李海彬 楊 波 廣西電視臺(tái)
本文介紹了我臺(tái)新聞?lì)l道非編網(wǎng)盤陣空間的管理和應(yīng)用。通過EMC雙盤陣、“單讀雙寫”、交叉存儲(chǔ)等軟硬件技術(shù)提高了數(shù)據(jù)冗余,保證了數(shù)據(jù)的安全性和可靠性;輔以使用NAS副盤陣分流EMC主盤陣的部分?jǐn)?shù)據(jù),使主盤陣的空間得到有效的利用,從而實(shí)現(xiàn)了安全性和空間利用率的雙贏。
FC-SAN LUN RAID5 NAS磁盤陣列
隨著電視節(jié)目的高清化制作,非編系統(tǒng)對(duì)盤陣容量的需求也越來越多,但是受制于設(shè)備機(jī)房空間、硬件擴(kuò)容成本等原因,一旦盤陣正式使用后,我們就難以對(duì)其容量進(jìn)行大幅增加。在保證數(shù)據(jù)安全性的條件下,如何通過技術(shù)手段進(jìn)行有效管理,從而提高盤陣空間的利用率是一個(gè)課題。在本文中,將以我臺(tái)新聞?lì)l道為例,介紹我們目前的一些管理辦法。
我臺(tái)新聞?lì)l道目前使用的非編網(wǎng)由北京中科大洋公司搭建,項(xiàng)目共分為兩期進(jìn)行,從2013年開始一期建設(shè),至2014年二期建成,投入使用至今將近4年。非編盤陣總?cè)萘?12T,非編站點(diǎn)88臺(tái),配音站點(diǎn)6臺(tái),系統(tǒng)結(jié)構(gòu)如圖1所示。非編網(wǎng)采用FC-SAN + LAN雙網(wǎng)結(jié)構(gòu),其中文件讀寫走FC-SAN通道,數(shù)據(jù)通信走LAN通道,這也是非編網(wǎng)最常見的結(jié)構(gòu)。
圖1 新聞?lì)l道非編網(wǎng)拓?fù)鋱D
3.1 FC-SAN盤陣
主盤陣由2套FC-SAN結(jié)構(gòu)的EMC盤陣組成,盤陣控制器型號(hào)為VNX5700,各獨(dú)自管理11個(gè)DAE。FC-SAN表示采用的是光纖通道(FC,F(xiàn)ibre Channel)技術(shù),其側(cè)重于數(shù)據(jù)的快速、高效、可靠傳輸,在非編網(wǎng)絡(luò)系統(tǒng)中得到大規(guī)模的廣泛應(yīng)用。
3.2 硬盤類型
EMC盤陣使用兩種類型的硬盤,一種是基于SAS接口的3.5寸硬盤,單個(gè)容量為600G,轉(zhuǎn)速15K,另一種是基于NL SAS接口的3.5寸硬盤,單個(gè)容量為2TB,轉(zhuǎn)速7200。
目前基于SCSI、IED接口的硬盤已經(jīng)淘汰,新一代的硬盤主要以SATA、SAS、NL SAS接口為主。
SATA即串行ATA接口,它是ATA/IED接口的替代品,主要用于家用臺(tái)式電腦,優(yōu)點(diǎn)是硬盤容量大,價(jià)格便宜;缺點(diǎn)是接口速度和磁盤轉(zhuǎn)速偏慢,故障率高。
SAS即串行連接SCSI,是新一代的SCSI技術(shù),此接口的設(shè)計(jì)是為了改善存儲(chǔ)系統(tǒng)的效能、可用性和擴(kuò)充性,并且提供與SATA硬盤的兼容性。SAS主要應(yīng)用于服務(wù)器和盤陣,優(yōu)點(diǎn)是接口速度、磁盤轉(zhuǎn)速、穩(wěn)定性更高;缺點(diǎn)硬盤容量小,價(jià)格昂貴。
NL SAS是介于SAS和SATA之間的一個(gè)產(chǎn)品,它同樣使用SAS接口,但轉(zhuǎn)速、容量與STAT相當(dāng),價(jià)格略高于STAT。我們可以這么簡(jiǎn)單的理解:采用SATA硬盤的身軀,套了SAS的頭(接口)。
NL SAS更注重容量和價(jià)格,SAS更注重性能上的考慮,在選擇硬盤時(shí),這里采用了這兩種類型的硬盤進(jìn)行組合使用。
3.3 RAID配置
非編網(wǎng)的磁盤陣列選擇RAID5。RAID5沒有單獨(dú)指定的奇偶檢驗(yàn)盤,而是交叉地存取數(shù)據(jù)及奇偶校驗(yàn)信息于所有磁盤上,其最少由3塊硬盤組成,容量為單個(gè)硬盤容量×(N-1),其中N表示組內(nèi)硬盤總數(shù)。
RAID5等效的奇偶檢驗(yàn)盤是1塊,損壞1塊硬盤并不會(huì)影響數(shù)據(jù)的完整性,但如果達(dá)到2塊以上時(shí)就是災(zāi)難性的,這表示整個(gè)RAID5的數(shù)據(jù)將可能全部損壞,因此盤陣系統(tǒng)中需要預(yù)留一定的全局熱備盤,隨時(shí)替換各RAID損壞的硬盤。
采用SAS和NL SAS接口的兩種硬盤分類安裝在多個(gè)不同的磁盤托盤(DAE)中,每個(gè)DAE可裝載15個(gè)3.5寸硬盤,其分配圖2所示。
圖2 DAE硬盤分配
0-6號(hào)共7個(gè)硬盤組成一個(gè)RAID5,7-13號(hào)共7個(gè)硬盤組成另一個(gè)RAID5,即每個(gè)DAE創(chuàng)建兩個(gè)RAID5。14號(hào)硬盤則作為全局熱備盤使用,當(dāng)任何一個(gè)DAE內(nèi)的硬盤出現(xiàn)故障時(shí),它都可以去接替工作。
3.4 MetaLUN配置
LUN的全稱是Logical Unit Number,也就是邏輯單元號(hào),在基于Windows平臺(tái)的操作系統(tǒng)中,每個(gè)LUN可以當(dāng)成一個(gè)“物理磁盤”使用。在盤陣管理中,LUN在RAID中劃分,每個(gè)RAID可以分為1至多個(gè)LUN,但全部LUN加起來的總?cè)萘坎荒艽笥谶@個(gè)RAID的容量。
當(dāng)磁盤陣列采用RAID5時(shí),由于其等效的數(shù)據(jù)校驗(yàn)盤只有1塊,因此每個(gè)RAID5的硬盤數(shù)量不宜太多,一般不會(huì)超過10個(gè)。假設(shè)每個(gè)RAID5僅建立一個(gè)LUN,由于Windows操作系統(tǒng)的可用盤符僅26個(gè),即A~Z,因此當(dāng)一個(gè)盤陣中的LUN大于26個(gè)時(shí),Windows系統(tǒng)將無法使用這些LUN。
為解決這個(gè)問題,EMC VNX5700提供了將現(xiàn)有LUN組合成MeatLUN的功能。在專業(yè)存儲(chǔ)領(lǐng)域,MeatLUN特指可以提供更大空間、更高性能、更安全的LUN,MetaLUN的總?cè)萘靠梢源笥赗AID組的容量。將SAS硬盤組成的RAID5組與NL SAS硬盤組成的RAID5組,分別組合成以下MetaLUN:
表1 EMC盤陣各MetaLUN配置
其中名稱中帶有“SAS”的表示這個(gè)MetaLUN的硬盤采用SAS接口,帶有“SATA”表示這個(gè)MetaLUN的硬盤采用NL SAS接口。在EMC盤陣二中,分配了一個(gè)很小的MetaLUN,其名稱為SAS3,容量只有3TB,這個(gè)LUN原設(shè)計(jì)作為外網(wǎng)向非編網(wǎng)上傳文件的臨時(shí)存儲(chǔ)區(qū),因此當(dāng)初分配的容量很小。3.5 文件系統(tǒng)
文件系統(tǒng)采用StroNext,它可以讓UNIX、Linux、Windows 和/或Macintosh操作系統(tǒng)中運(yùn)行的應(yīng)用程序并行訪問同一文件存儲(chǔ)區(qū),輕松實(shí)現(xiàn)文件共享和投資保護(hù)。其開放式架構(gòu)擁有極強(qiáng)的擴(kuò)展能力,允許基于SAN和LAN的客戶端進(jìn)行數(shù)據(jù)共享。
StroNext軟件分為Server版和Client版。Server版的軟件步署在2臺(tái)DELL R720服務(wù)器上作為主/備MDS服務(wù)器;Client版的軟件步署在大洋非編終端及一些業(yè)務(wù)服務(wù)器上(如遷移服務(wù)器、打包服務(wù)器),作為MDC使用。
這個(gè)高清非編網(wǎng)是按全網(wǎng)絡(luò)化制播的思路設(shè)計(jì)的,由于全部素材都存儲(chǔ)在盤陣中,除記者拍攝的原始素材外,不再將合成的視音頻文件下載到磁帶或藍(lán)光盤中,因此必須要有一個(gè)備份,因此引入了“單讀雙寫”和交叉存儲(chǔ)的文件管理方案。4.1單讀雙寫
在大洋非編終端上編輯節(jié)目時(shí),根據(jù)系統(tǒng)管控平臺(tái)的配置,分別寫入主、備兩個(gè)存儲(chǔ)區(qū),這樣一個(gè)文件就有兩份;在讀取時(shí),首先讀取主存儲(chǔ)區(qū)的文件,如果讀取失敗自動(dòng)去讀備存儲(chǔ)區(qū)的文件,這種方式稱為“單讀雙寫”。
這種方式與盤陣的RAID1有點(diǎn)類似,但RAID1是基于硬件實(shí)現(xiàn)的,而“單讀雙寫”則是通過軟件來實(shí)現(xiàn)的,傳輸效率會(huì)低一些。
4.2 交叉存儲(chǔ)
新聞?lì)l道的兩臺(tái)EMC VNX5700盤陣控制器是相對(duì)獨(dú)立的,某一臺(tái)的故障并不會(huì)影響另一臺(tái)的使用,因此在對(duì)文件作“雙寫”時(shí),采用交叉存儲(chǔ)的方式,如果欄目的主存儲(chǔ)建立在EMC盤陣一的,其備存儲(chǔ)區(qū)就建立在EMC盤陣二,如表2所示。
表2 EMC盤陣各欄目主/備空間分配
由于文件交叉存儲(chǔ)在兩個(gè)EMC盤陣中,當(dāng)某一個(gè)盤陣出現(xiàn)故障而不能讀寫時(shí),非編系統(tǒng)會(huì)將讀寫存儲(chǔ)在另一個(gè)盤陣?yán)锏奈募?,使系統(tǒng)得以正常運(yùn)行。
為了緩解、減輕FC-SAN主盤陣的壓力和提高磁盤利用率,在非編網(wǎng)中部署了一臺(tái)小型的NAS盤陣系統(tǒng),其由16個(gè)3TB 的SATA硬盤組成,每7個(gè)硬盤組成一個(gè)RAID5,保留2個(gè)熱備盤,實(shí)際可用容量為36T。
FC-SAN光纖網(wǎng)絡(luò)的盤陣系統(tǒng)與NAS相比具有傳輸效率高、時(shí)延小、占用主機(jī)資源少等優(yōu)點(diǎn),其數(shù)據(jù)處理以block(塊)的方式進(jìn)行,適合大文件的實(shí)時(shí)讀寫,是NAS盤陣無法達(dá)到和替代的,但是在非編網(wǎng)中并非所有的應(yīng)用都是需要高速的磁盤讀寫能力的,在某些環(huán)節(jié)仍然可以使用NAS盤來替代FC-SAN,下面是我們應(yīng)用的兩個(gè)例子。
5.1 作為外網(wǎng)向非編網(wǎng)上傳文件的臨時(shí)存儲(chǔ)區(qū)
在主盤陣系統(tǒng)初始化配置時(shí),外網(wǎng)向非編網(wǎng)上傳文件的臨時(shí)存儲(chǔ)區(qū)只分配了3TB的空間,即前面提到的名為SAS3的LUN。當(dāng)外網(wǎng)向非編網(wǎng)上傳文件時(shí),基于安全和防病毒方面的考慮,采用了大洋的文件擺渡系統(tǒng),其在結(jié)構(gòu)上對(duì)兩端的網(wǎng)絡(luò)進(jìn)行了物理上的隔離,僅允許指定的文件通過,如圖3大洋文件擺渡系統(tǒng)改造前/后的結(jié)構(gòu)(改造前)所示。
圖3 大洋文件擺渡系統(tǒng)改造前/后的結(jié)構(gòu)
在文件經(jīng)過流程最終上傳到大洋非編網(wǎng),要使用這些文件時(shí),必須通過非編工作站軟件將其“導(dǎo)入”到指定的欄目存儲(chǔ)區(qū)才能使用。由于“導(dǎo)入”后的文件并不會(huì)自動(dòng)刪除,而是需要網(wǎng)管人員定期刪除,因此會(huì)產(chǎn)生一定的積壓,使臨時(shí)存儲(chǔ)區(qū)的空間變小,從而可能影響后續(xù)的上傳。
在非編網(wǎng)絡(luò)系統(tǒng)正式啟用后,由于各個(gè)LUN已經(jīng)分配使用,此時(shí)要對(duì)SAS3擴(kuò)容比較困難,只能采用其它辦法。
經(jīng)過分析發(fā)現(xiàn),在整個(gè)文件上傳及“導(dǎo)入”過程中,對(duì)盤陣的讀寫速度要求并不高,可以簡(jiǎn)單的理解為一個(gè)復(fù)制粘貼的過程,于是對(duì)此系統(tǒng)做了少量改造,大洋文件擺渡系統(tǒng)改造前/后的結(jié)構(gòu)(改造后)所示。
在擺渡服務(wù)器和非編客戶端中將NAS盤陣通過域控映射為X:盤,并修改擺渡服務(wù)器傳輸參數(shù),使上傳后的文件不再存儲(chǔ)到SAS3,而是存儲(chǔ)到X:盤即NAS盤陣中,這樣在非編客戶端就可以導(dǎo)入了。這種方法一方面解決了設(shè)計(jì)時(shí)SAS3容量分配不足的問題,另一方面減輕了主盤陣的負(fù)擔(dān)。
5.2 作為FC-SAN主盤陣“單讀雙寫”備存儲(chǔ)區(qū)的過渡存儲(chǔ)區(qū)
在采用“單讀雙寫”和交叉存儲(chǔ)的工作方式后,整個(gè)非編系統(tǒng)的文件安全性有了很大的提高,但是也產(chǎn)生了一個(gè)較大的問題,即如果全部的欄目都采用這樣的工作方式,則盤陣的實(shí)際可用容量將會(huì)大幅下降,理論上最多只有原來的一半,這就表示312T的容量只能當(dāng)156T來使用。
使用非編軟件讀取盤陣文件時(shí),如果欄目主存儲(chǔ)區(qū)正常時(shí),并不會(huì)去讀取備存儲(chǔ)區(qū)的文件,即備存儲(chǔ)區(qū)的文件是用不上的,基于此我們作了一個(gè)測(cè)試,步驟如下:
(1)通過非編軟件導(dǎo)入1個(gè)視頻文件,由于設(shè)置了“單讀雙寫”,此時(shí)會(huì)在欄目主、備存儲(chǔ)區(qū)各產(chǎn)生一個(gè)同樣的視頻文件。
(2)新建一個(gè)大洋故事板,將此文件拖到視頻軌后,保存故事板并退出。
(3)不通過大洋非編軟件,直接進(jìn)入欄目備存儲(chǔ)區(qū)的目錄并刪除此視頻文件。
(4)打開大洋非編軟件播放剛剛新建的故事板時(shí),一切正常。
(5)退出大洋非編軟件后,將欄目主存儲(chǔ)區(qū)的這個(gè)視頻文件“剪切”到備存儲(chǔ)區(qū),模擬主存儲(chǔ)區(qū)故障后,使用備存儲(chǔ)區(qū)進(jìn)行恢復(fù)。
(6)再次使用非編軟件播放此故事板,仍然一切正常,沒有出現(xiàn)錯(cuò)誤提示。
結(jié)論:大洋非編對(duì)文件進(jìn)行讀取時(shí),只根據(jù)數(shù)據(jù)庫(kù)中記錄下的目錄名+文件名對(duì)此文件進(jìn)行讀取,對(duì)欄目設(shè)置了“單讀雙寫”功能后,主、備存儲(chǔ)區(qū)的文件如果損壞或丟失了,可以通過復(fù)制的方式還原回去。
根據(jù)測(cè)試結(jié)果制定了這個(gè)管理方法:定期將欄目備存儲(chǔ)區(qū)的一些文件(以創(chuàng)建日期為分割點(diǎn)),以剪切的方式遷移到NAS盤陣存儲(chǔ),在這一期間如果欄目主存儲(chǔ)區(qū)出現(xiàn)問題,可以使用NAS盤陣備份的文件進(jìn)行恢復(fù);如果沒出現(xiàn)問題,在下一次遷移數(shù)據(jù)時(shí)刪除這批次文件,并將本期欄目備存儲(chǔ)區(qū)的文件剪切過來。通過這種方式,可以使備存儲(chǔ)區(qū)中近期創(chuàng)建的文件與主存儲(chǔ)區(qū)同步,而過期的文件將被遷移到NAS盤陣作一個(gè)過渡,直至最后被刪除。
在采用這種管理方式后,主、備存儲(chǔ)區(qū)不再需要按1:1的比例進(jìn)行容量配置,目前大致按3:1的比例進(jìn)行配置,這樣即解決了空間浪費(fèi)的問題,安全性也沒有下降太多。
數(shù)據(jù)冗余是數(shù)據(jù)安全的關(guān)鍵,在冗余數(shù)據(jù)增加的同時(shí),盤陣的有效空間也相應(yīng)減少,這是一個(gè)兩難的問題。在本文中,通過分析非編系統(tǒng)使用盤陣的特點(diǎn)進(jìn)行優(yōu)化和改造,使盤陣空間得到了合理利用,而安全性也有一定的保障,在某種程度上達(dá)到一個(gè)平衡點(diǎn)。