周 楨,胡 林,沈 晶,宋 帆,方 念,陳正紅
(武漢廣播電視臺(tái),湖北 武漢 430015)
媒體資源數(shù)據(jù)容量隨著音視頻質(zhì)量的提升、實(shí)時(shí)新聞報(bào)道的增加、新媒體傳播的發(fā)展而顯著增大。與日俱增的媒體資源數(shù)據(jù)需要安全、可靠的數(shù)據(jù)管理中心來(lái)進(jìn)行存儲(chǔ)、備份,以為節(jié)目制作、播出提供安全、高可用性的媒資數(shù)據(jù)源,以在遭遇不可預(yù)見(jiàn)的災(zāi)難時(shí)能進(jìn)行數(shù)據(jù)恢復(fù)[1]。本文主要介紹基于Veritas 數(shù)據(jù)管理軟件、微軟的群集服務(wù)Microsoft Cluster Sever 以及數(shù)據(jù)庫(kù)SQL Server 聯(lián)合設(shè)計(jì)的媒體數(shù)據(jù)安全存儲(chǔ)方案。
武漢廣播電視臺(tái)的媒資數(shù)據(jù)需要為節(jié)目后期制作人員隨時(shí)調(diào)取,剪輯加工,因此對(duì)媒資制作源數(shù)據(jù)的儲(chǔ)存提出了安全、高可用性和能災(zāi)難恢復(fù)的要求。為了滿(mǎn)足媒資數(shù)據(jù)存儲(chǔ)方案的安全標(biāo)準(zhǔn),架構(gòu)設(shè)計(jì)選用Veritas 數(shù)據(jù)管理軟件結(jié)合結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structured Query Language,SQL)數(shù)據(jù)庫(kù)管理軟件(SQL Server)和Windows 群集(Microsoft Cluster Sever,MSCS)服務(wù)共同架構(gòu)媒資數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)。
安全存儲(chǔ)方案的架構(gòu)參照校園群集(Campus Cluster)的結(jié)構(gòu),選用兩臺(tái)服務(wù)器、兩臺(tái)存儲(chǔ)陣列和兩臺(tái)交換機(jī)冗余連接,構(gòu)成數(shù)據(jù)存儲(chǔ)中心的硬件基礎(chǔ),為局域網(wǎng)段的制作客戶(hù)端提供數(shù)據(jù)資源。此架構(gòu)中的兩臺(tái)服務(wù)器是同一個(gè)Windows 群集中的兩個(gè)節(jié)點(diǎn),通過(guò)心跳線(xiàn)相連。SQL 數(shù)據(jù)庫(kù)應(yīng)用程序分別安裝在兩個(gè)節(jié)點(diǎn)中,節(jié)點(diǎn)同過(guò)交換機(jī)光纖通道主機(jī)總線(xiàn)適配器(Host Bus Adapters,HBAs)分別連接兩臺(tái)存儲(chǔ)陣列。每個(gè)節(jié)點(diǎn)都有單獨(dú)對(duì)應(yīng)的存儲(chǔ)陣列,并包含另一個(gè)陣列上存儲(chǔ)的鏡像數(shù)據(jù),通過(guò)使用Veritas 管理媒資制作數(shù)據(jù)源,使得每個(gè)存儲(chǔ)陣列的磁盤(pán)組在每個(gè)站點(diǎn)上包含相同數(shù)量的用于鏡像卷的磁盤(pán)和動(dòng)態(tài)磁盤(pán)組,且對(duì)群集服務(wù)的Quorum、數(shù)據(jù)庫(kù)服務(wù)(SQL Sever)的數(shù)據(jù)庫(kù)文件和日志文件、媒資數(shù)據(jù)在兩臺(tái)存儲(chǔ)陣列之間進(jìn)行實(shí)時(shí)鏡像同步。設(shè)計(jì)的存儲(chǔ)架構(gòu)如圖1 所示。
圖1 存儲(chǔ)架構(gòu)圖
媒資數(shù)據(jù)安全存儲(chǔ)方案中,使用Veritas 軟件對(duì)兩臺(tái)制作數(shù)據(jù)源的存儲(chǔ)陣列分別進(jìn)行虛擬磁盤(pán)服務(wù),在管理域范圍內(nèi)控制數(shù)據(jù)存儲(chǔ),創(chuàng)建和設(shè)置軟件RAID,通過(guò)在線(xiàn)容量監(jiān)控優(yōu)化存儲(chǔ)系統(tǒng)性能負(fù)載平衡。安全存儲(chǔ)方案中有不同的邏輯卷布局,包 括Concatenated、Striped、Mirrored、Mirrored Concatenated、Mirrored Striped 及RAID-5 等。邏輯卷支持一個(gè)鏡像卷上最多有32 路鏡像;在不中斷使用邏輯卷應(yīng)用程序的情況下提供故障磁盤(pán)的自動(dòng)檢測(cè)和容錯(cuò)修復(fù)功能,可提供媒資數(shù)據(jù)存儲(chǔ)遷移路徑,并升級(jí)現(xiàn)有分區(qū)到新的動(dòng)態(tài)卷[2]。
安全存儲(chǔ)方案考慮到數(shù)據(jù)冗余和讀取性能,選用Mirrored Concatenated 方式來(lái)布局、劃分媒資數(shù)據(jù)的邏輯硬盤(pán),對(duì)兩臺(tái)存儲(chǔ)陣列進(jìn)行實(shí)時(shí)鏡像。
在媒資數(shù)據(jù)邏輯卷的布局過(guò)程中,使用數(shù)據(jù)管理軟件在兩臺(tái)制作數(shù)據(jù)源的存儲(chǔ)陣列中劃分對(duì)應(yīng)的8 塊邏輯硬盤(pán)Harddisk1 ~Harddisk8,其中Harddisk1、Harddisk4、Harddisk5、Harddisk6 用 于存放群集資源,平均劃分在兩臺(tái)存儲(chǔ)陣列中,彼此為鏡像文件,將其設(shè)置為屬于MSCS_1 動(dòng)態(tài)磁盤(pán)組和MSCS 邏輯卷。Harddisk2、Harddisk7 用于存儲(chǔ)數(shù)據(jù)庫(kù)(SQL)文件和日志,分別在兩臺(tái)陣列中互為鏡像,設(shè)置為屬于SQL_1動(dòng)態(tài)磁盤(pán)組和SQL邏輯卷。Harddisk3、Harddisk8 用于存放媒資制作數(shù)據(jù)源,分別在兩臺(tái)陣列中互為鏡像,設(shè)置為屬于DATA_1動(dòng)態(tài)磁盤(pán)組和DATA 邏輯卷。存儲(chǔ)網(wǎng)絡(luò)中的邏輯卷分別在服務(wù)器和存儲(chǔ)陣列中完成布局,并歸屬于不同的動(dòng)態(tài)磁盤(pán)組。動(dòng)態(tài)磁盤(pán)組和邏輯卷組成如圖2 所示。
在安全存儲(chǔ)方案中,存儲(chǔ)媒資制作數(shù)據(jù)源的存儲(chǔ)陣列分別被兩臺(tái)服務(wù)器使用,微軟集群需要每個(gè)服務(wù)器系統(tǒng)有多個(gè)網(wǎng)絡(luò)適配器,通過(guò)單獨(dú)的交換機(jī)路由連接每個(gè)存儲(chǔ)陣列的網(wǎng)卡,以保障網(wǎng)絡(luò)的運(yùn)行安全。集群本身設(shè)置了一個(gè)靜態(tài)網(wǎng)際互連協(xié)議(Internet Protocol,IP)地址(本方案設(shè)置為192.168.1.10),為每個(gè)服務(wù)器節(jié)點(diǎn)配置驗(yàn)證名稱(chēng)解析,確保域名系統(tǒng)(Domain Name System,DNS)和活動(dòng)目錄(Active Directory,AD)服務(wù)可用和DNS中存在反向查找區(qū)域[3]。
安全存儲(chǔ)方案中,每臺(tái)連接服務(wù)器節(jié)點(diǎn)的存儲(chǔ)陣列為每個(gè)邏輯卷都設(shè)置了相同數(shù)目的鏡像邏輯盤(pán),每臺(tái)服務(wù)器節(jié)點(diǎn)都在同一個(gè)域中。在兩臺(tái)存儲(chǔ)陣列上設(shè)置群集邏輯盤(pán)之前,需要?jiǎng)h除每臺(tái)服務(wù)器節(jié)點(diǎn)上的群集盤(pán)資源,一個(gè)集群中可以存在一個(gè)或多個(gè)應(yīng)用程序虛擬服務(wù),管理制作源數(shù)據(jù)的SQL Server 服務(wù)配置了不同集的應(yīng)用程序組管理兩臺(tái)服務(wù)器節(jié)點(diǎn)和兩臺(tái)存儲(chǔ)陣列。
存儲(chǔ)架構(gòu)中每臺(tái)存儲(chǔ)陣列中的群集邏輯卷是MSCS,其中分別包含兩塊鏡像的邏輯盤(pán)用于存放群集資源,即仲裁(Quorum),并與另一臺(tái)存儲(chǔ)陣列中的兩塊邏輯盤(pán)實(shí)時(shí)鏡像。群集動(dòng)態(tài)磁盤(pán)組是MSCS_1,一共包含4 路仲裁(Quorum)的鏡像邏輯盤(pán)來(lái)增加冗余,保障媒資數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)運(yùn)行安全。仲裁資源(Quorum)保存著Windows 集群數(shù)據(jù)庫(kù)和災(zāi)難恢復(fù)信息,還決定集群的控制所有權(quán),對(duì)兩臺(tái)服務(wù)器節(jié)點(diǎn)均有效。群集資源鏡像如圖3 所示。
圖3 群集資源鏡像圖
本安全存儲(chǔ)方案中,兩臺(tái)服務(wù)器節(jié)點(diǎn)都有分別獨(dú)立的存儲(chǔ)陣列,通過(guò)光纖通道分別與兩臺(tái)存儲(chǔ)陣列連接,兩臺(tái)存儲(chǔ)陣列不能被外網(wǎng)的節(jié)目制作工作人員同時(shí)訪(fǎng)問(wèn)。每臺(tái)存儲(chǔ)陣列上的邏輯卷都是另一臺(tái)存儲(chǔ)陣列上邏輯卷的鏡像,并且包含相同數(shù)目的邏輯盤(pán):Harddisk2、Harddisk7 兩個(gè)邏輯盤(pán)用于存儲(chǔ)數(shù)據(jù)庫(kù)(SQL)文件和日志,分別在兩臺(tái)存儲(chǔ)陣列中互為鏡像;Harddisk3、Harddisk8 用于存放媒資制作數(shù)據(jù)源,分別在兩臺(tái)存儲(chǔ)陣列中互為鏡像。存儲(chǔ)方案完成對(duì)群集、仲裁資源盤(pán)、邏輯卷和動(dòng)態(tài)磁盤(pán)組的設(shè)置后,再設(shè)置SQL Server 的群集組。通過(guò)掛載兩臺(tái)存儲(chǔ)陣列為數(shù)據(jù)文件創(chuàng)建的動(dòng)態(tài)磁盤(pán)組和邏輯卷,為SQL Server 創(chuàng)建故障轉(zhuǎn)移群集組。
Harddisk2、Harddisk7 分 別 屬 于 存 儲(chǔ) 方 案中兩臺(tái)存儲(chǔ)陣列中的邏輯卷SQL,其中主要包含數(shù)據(jù)庫(kù)日志文件和備份的數(shù)據(jù)庫(kù)系統(tǒng)文件。Harddisk3、Harddisk8 分別屬于兩臺(tái)存儲(chǔ)陣列中的邏輯卷DATA,通過(guò)Mirrored Concatenated 布局使得Harddisk2 與Harddisk7、Harddisk3 與Harddisk8 實(shí)時(shí)鏡像,以對(duì)未知的故障和意外事件能及時(shí)做出故障轉(zhuǎn)移和災(zāi)難恢復(fù),保障媒資制作數(shù)據(jù)網(wǎng)絡(luò)的安全運(yùn)行[4]。邏輯卷DATA 中的媒資數(shù)據(jù)通過(guò)SQL Server 服務(wù)進(jìn)行管理。SQL 數(shù)據(jù)庫(kù)鏡像設(shè)置如圖4所示[5]。
圖4 SQL Server 鏡像圖
武漢廣播電視臺(tái)媒資制作數(shù)據(jù)的存儲(chǔ)方案基于數(shù)據(jù)管理軟件Veritas 設(shè)計(jì),通過(guò)Veritas 軟件對(duì)存儲(chǔ)陣列的軟件RAID 化,對(duì)群集資源和數(shù)據(jù)庫(kù)文件進(jìn)行管理,將存儲(chǔ)的媒資數(shù)據(jù)實(shí)時(shí)鏡像,為制作數(shù)據(jù)網(wǎng)絡(luò)提供故障轉(zhuǎn)移和災(zāi)難恢復(fù)的安全基礎(chǔ),以保障媒資制作數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)的安全運(yùn)行。武漢廣播電視臺(tái)的媒資制作源數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)已經(jīng)實(shí)踐使用此存儲(chǔ)設(shè)計(jì)方案,為節(jié)目制作人員提供了安全穩(wěn)定的存儲(chǔ)服務(wù)。經(jīng)長(zhǎng)時(shí)間運(yùn)行,驗(yàn)證了此方案可提供安全、高可用性、應(yīng)對(duì)災(zāi)難的數(shù)據(jù)存儲(chǔ)服務(wù)。