□ 蔡永嘉
非線性編輯網(wǎng)絡(luò)是電視臺制作和存儲節(jié)目的關(guān)鍵平臺,而非編數(shù)據(jù)庫服務(wù)器是非編網(wǎng)絡(luò)的核心之一,其重要性不言而喻。非編服務(wù)器出現(xiàn)故障會導(dǎo)致服務(wù)停滯,嚴(yán)重影響節(jié)目制作進(jìn)程,甚至造成嚴(yán)重的播出事故。為保證數(shù)據(jù)不丟失、服務(wù)不中斷,提高非編系統(tǒng)的穩(wěn)定性和安全性,需要應(yīng)用可靠的數(shù)據(jù)容災(zāi)技術(shù)。雙機(jī)熱備份廣泛應(yīng)用于服務(wù)器的數(shù)據(jù)容災(zāi)技術(shù)中。在實(shí)際的使用中我們發(fā)現(xiàn),雙機(jī)熱備在主備服務(wù)器的數(shù)據(jù)實(shí)時(shí)同步復(fù)制環(huán)節(jié)比較脆弱,可能發(fā)生出現(xiàn)數(shù)據(jù)錯誤的數(shù)據(jù)庫被同步導(dǎo)致雙機(jī)均不可用的情況。而由于非編數(shù)據(jù)庫較大,數(shù)據(jù)庫備份操作會極大影響數(shù)據(jù)庫性能,因此備份一般在每天的凌晨進(jìn)行。如果發(fā)生故障后直接恢復(fù)備份數(shù)據(jù),會使當(dāng)天導(dǎo)入的全部素材和當(dāng)天編輯的所有故事板丟失,嚴(yán)重影響節(jié)目制作。為了增強(qiáng)非編網(wǎng)的可靠性,在雙機(jī)備份的基礎(chǔ)上,我們利用一套虛擬化服務(wù)器容災(zāi)應(yīng)急平臺,對全部三個非編網(wǎng)的數(shù)據(jù)庫服務(wù)器進(jìn)行備份,實(shí)現(xiàn)了服務(wù)器2+1、一對多備份。
虛擬化服務(wù)器容災(zāi)應(yīng)急平臺把非編數(shù)據(jù)庫所在的服務(wù)器硬盤里的所有數(shù)據(jù)進(jìn)行實(shí)時(shí)備份,轉(zhuǎn)換成虛擬機(jī)的虛擬磁盤數(shù)據(jù)。當(dāng)非編數(shù)據(jù)庫服務(wù)器出現(xiàn)故障的時(shí)候,可以在應(yīng)急平臺中利用虛擬化技術(shù),生成一個與原服務(wù)器系統(tǒng)環(huán)境相同的虛擬機(jī),并掛載備份的虛擬磁盤,接管原非編數(shù)據(jù)庫服務(wù)器,以實(shí)現(xiàn)應(yīng)急支撐。
在首次生成全鏡像備份時(shí),業(yè)務(wù)應(yīng)急支撐平臺采用了智能磁盤空間識別技術(shù)。通過識別磁盤分區(qū)的文件系統(tǒng),根據(jù)文件系統(tǒng)的索引,獲取磁盤上的有效數(shù)據(jù)分布,智能跳過空閑的磁盤空間,可以減少首次生成全鏡像的系統(tǒng)資源消耗和傳輸?shù)臄?shù)據(jù)量。
在進(jìn)行數(shù)據(jù)實(shí)時(shí)備份時(shí),業(yè)務(wù)應(yīng)急支撐平臺使用了基于磁盤I/O的實(shí)時(shí)復(fù)制技術(shù)。此技術(shù)利用磁盤過濾驅(qū)動,實(shí)時(shí)監(jiān)控磁盤的每個讀寫I/O,并記錄下每次寫入請求時(shí)產(chǎn)生的磁盤數(shù)據(jù)變化,在設(shè)定的同步時(shí)間時(shí)把記錄的數(shù)據(jù)應(yīng)用到虛擬磁盤上,實(shí)現(xiàn)物理磁盤與虛擬磁盤的同步。磁盤I/O實(shí)時(shí)復(fù)制技術(shù)完全可以適應(yīng)非編系統(tǒng)數(shù)據(jù)庫的同步數(shù)據(jù)應(yīng)用,以較低的部署復(fù)雜度,實(shí)現(xiàn)了應(yīng)用級容災(zāi)的要求。
磁盤的同步采用異步復(fù)制,可設(shè)定最短5秒、最長7天的復(fù)制間隔。異步模式的系統(tǒng)性能開銷與帶寬資源需求較小,對原生產(chǎn)機(jī)的性能影響極小,實(shí)際測試表明實(shí)時(shí)復(fù)制的CPU占用率約為1%,占用內(nèi)存約61MB。經(jīng)過研究,我們對非編服務(wù)器的備份使用了15分鐘的同步間隔,這樣的間隔已經(jīng)可以滿足數(shù)據(jù)庫保障的需求,能保障數(shù)據(jù)的有效性,在存儲開銷與安全性之間取得平衡。
存儲池是虛擬化技術(shù)中的重要資源,應(yīng)急支撐平臺在一套服務(wù)器與存儲上部署了多個服務(wù)器備份,對存儲池的容量有較大需求。平臺的虛擬化存儲池管理器使用精簡虛擬存儲對象,其中只包含原磁盤中的有效數(shù)據(jù)和虛擬化磁盤的索引,且與常用的虛擬化磁盤格式VMDK兼容,可以直接通過復(fù)制的方式復(fù)制虛擬磁盤文件給相應(yīng)的虛擬機(jī)使用,為備份的遷移提供了極大的方便。可以與虛擬化服務(wù)器無縫結(jié)合,支持多種虛擬平臺,為未來可能的服務(wù)器虛擬化改造提供便利。
現(xiàn)有的CDP(Continual Data Protection,連續(xù)數(shù)據(jù)保護(hù))備份產(chǎn)品很多,這些產(chǎn)品都能完整地復(fù)制磁盤內(nèi)容,做到數(shù)據(jù)級容災(zāi)。但單純地將磁盤鏡像成虛擬磁盤文件并不能實(shí)現(xiàn)應(yīng)急啟動。大部分產(chǎn)品無法改變服務(wù)器應(yīng)用環(huán)境,某些CDP 備份的接管需要依賴原服務(wù)器硬件,使用iSCSI遠(yuǎn)程引導(dǎo)的方式啟動系統(tǒng)實(shí)現(xiàn)接管。
虛擬化服務(wù)器容災(zāi)應(yīng)急平臺在磁盤復(fù)制時(shí)就直接對原機(jī)相關(guān)驅(qū)動進(jìn)行虛擬化,讓虛擬機(jī)做到與原機(jī)的驅(qū)動級一致,實(shí)現(xiàn)了真正的Mirror P2V(Physical to Virtual)效果。利用虛擬機(jī)加載Mirror P2V復(fù)制后的VMDK虛擬磁盤映像文件,就可以實(shí)現(xiàn)應(yīng)急接管,并且可以實(shí)現(xiàn)一對多接管,即一臺主機(jī)虛擬出多個虛擬機(jī),可以對內(nèi)網(wǎng)中多臺非編服務(wù)器進(jìn)行應(yīng)急接管。當(dāng)原機(jī)的應(yīng)用程序環(huán)境發(fā)生變化時(shí),Mirror P2V能隨時(shí)同步原機(jī)的變化,無須再做調(diào)整,同時(shí)實(shí)現(xiàn)數(shù)據(jù)的同步與應(yīng)用的虛擬化。
虛擬化服務(wù)器容災(zāi)應(yīng)急平臺可以在每個設(shè)定的間隔時(shí)間時(shí)生成一個系統(tǒng)快照點(diǎn),每個快照點(diǎn)都可以作為應(yīng)急虛擬機(jī)啟動。對于不同的原機(jī),應(yīng)急平臺可以同時(shí)啟動它們的應(yīng)急虛擬機(jī),多個虛擬機(jī)之間互不干擾,獨(dú)立工作。
虛擬機(jī)啟動時(shí)有演練啟動和接管啟動兩種模式,兩種啟動模式的網(wǎng)絡(luò)拓?fù)溥B接方式不同。演練模式下的虛擬機(jī)為封閉的網(wǎng)絡(luò),不干擾原服務(wù)器的工作,可以用來進(jìn)行應(yīng)急演練與數(shù)據(jù)驗(yàn)證;接管模式下虛擬機(jī)直接接入非編網(wǎng),可以直接接管原服務(wù)器的功能。
當(dāng)非編服務(wù)器出現(xiàn)故障時(shí),可以使用虛擬化服務(wù)器容災(zāi)應(yīng)急平臺接管原服務(wù)器。在原服務(wù)器修復(fù)完畢后,應(yīng)急平臺上的數(shù)據(jù)庫也產(chǎn)生了許多新的數(shù)據(jù),此時(shí)就需要把數(shù)據(jù)還原到原服務(wù)器上。而非編網(wǎng)的數(shù)據(jù)庫較大,還原的過程較長,傳統(tǒng)的恢復(fù)方式需要暫停非編網(wǎng)服務(wù)器進(jìn)行恢復(fù),會影響非編網(wǎng)的使用,故只能選在深夜時(shí)間進(jìn)行。應(yīng)急平臺使用了無縫恢復(fù)技術(shù),利用PE啟動恢復(fù)光盤,在不中斷接管非編服務(wù)器系統(tǒng)的情況下實(shí)現(xiàn)了無縫還原數(shù)據(jù),還原后可以在較短的時(shí)間內(nèi)切換回原機(jī)使用,降低了運(yùn)維管理成本,且對節(jié)目制作的影響較小。
虛擬化服務(wù)器容災(zāi)應(yīng)急平臺由通信服務(wù)器、存儲服務(wù)器、網(wǎng)站服務(wù)器、客戶端四部分組成。通信服務(wù)器用于管理存儲服務(wù)器和客戶端,為它們之間的通信提供服務(wù)。存儲服務(wù)器存儲了所有客戶端的備份鏡像數(shù)據(jù)。網(wǎng)站服務(wù)器提供管理網(wǎng)頁,讓管理員對整個平臺進(jìn)行管理??蛻舳司褪切枰獋浞莸脑?wù)器。
虛擬化服務(wù)器容災(zāi)應(yīng)急平臺基于虛擬機(jī)快照點(diǎn)進(jìn)行管理。首先在需要進(jìn)行備份的非編服務(wù)器上安裝客戶端,然后在管理網(wǎng)頁對其進(jìn)行配置。經(jīng)過研究,我們將非編服務(wù)器的快照間隔設(shè)置為15分鐘,快照合成快照點(diǎn)間隔設(shè)置為1小時(shí)。這樣一來,如果原機(jī)發(fā)生故障為硬件故障,可以應(yīng)急恢復(fù)15分鐘之內(nèi)的快照點(diǎn);如果發(fā)生的是數(shù)據(jù)庫邏輯完整性的問題,可以應(yīng)急恢復(fù)15分鐘或者1小時(shí)之內(nèi)的快照點(diǎn)。與傳統(tǒng)的恢復(fù)備份會損失一整天的數(shù)據(jù)相比,應(yīng)急平臺更好地保護(hù)了數(shù)據(jù)。
應(yīng)急平臺啟動的虛擬機(jī)可針對不同的主機(jī)進(jìn)行配置,對CPU核心、內(nèi)存大小、存儲和網(wǎng)絡(luò)結(jié)構(gòu)都可以依照原機(jī)的配置進(jìn)行設(shè)置。啟動虛擬機(jī)有演練模式和應(yīng)急模式,演練模式下的虛擬機(jī)以NAT的方式啟動,與業(yè)務(wù)網(wǎng)絡(luò)隔離,只能在特定的內(nèi)網(wǎng)訪問虛擬機(jī),不影響非編網(wǎng)的正常運(yùn)行,這種模式主要用于演示和數(shù)據(jù)驗(yàn)證;接管模式下的虛擬機(jī)以橋接的方式啟動,網(wǎng)段和IP地址與原服務(wù)器的網(wǎng)段及IP地址相同,可接管原服務(wù)器,實(shí)現(xiàn)應(yīng)急服務(wù)。
為了熟悉虛擬化服務(wù)器容災(zāi)應(yīng)急平臺的操作流程,檢驗(yàn)應(yīng)急平臺的接管效果,測試虛擬機(jī)接管后的性能表現(xiàn),我們在當(dāng)日節(jié)目全部制作完成后,進(jìn)行了一次應(yīng)急演練。具體操作步驟如下:
1.將非編數(shù)據(jù)庫服務(wù)器備機(jī)、主機(jī)依次關(guān)機(jī),拔出網(wǎng)線,模擬服務(wù)器中斷。此時(shí)非編網(wǎng)各工作站無法連接到服務(wù)器,已不能正常使用。
2.在應(yīng)急平臺的應(yīng)急演練頁面找到需要接管的主機(jī),選擇需要的快照點(diǎn),在彈出的菜單中選擇接管設(shè)置。如圖1。
(1)在彈出的設(shè)置窗口中,依照原服務(wù)器的配置,設(shè)置好分配給虛擬機(jī)的CPU核心、內(nèi)存大小、存儲和網(wǎng)絡(luò)設(shè)置,點(diǎn)擊新增按鈕。如圖2。
圖1 快照點(diǎn)的展示與選擇示意圖
圖2 接管主機(jī)配置設(shè)置示意圖
(2)切換到應(yīng)急主機(jī)列表,找到剛剛創(chuàng)建的應(yīng)急主機(jī),點(diǎn)擊右邊的綠色“啟動”按鈕,系統(tǒng)即在虛擬機(jī)中啟動。如圖3。
圖3 應(yīng)急主機(jī)列表示意圖
(3)檢查虛擬服務(wù)器以及整個非編網(wǎng)的狀態(tài)。各工作站不用做任何設(shè)置,重啟即可連接到虛擬數(shù)據(jù)庫服務(wù)器。測試結(jié)果表明虛擬服務(wù)器工作狀態(tài)正常,各工作站僅在剛啟動時(shí)稍顯卡頓,約2分鐘后即可正常使用,成功進(jìn)行了應(yīng)急接管。
(4)應(yīng)急演練結(jié)束后,點(diǎn)擊應(yīng)急主機(jī)的“停止”按鈕停止接管系統(tǒng),原服務(wù)器連接網(wǎng)線并開機(jī)。應(yīng)急演練順利完成。
虛擬化服務(wù)器容災(zāi)應(yīng)急平臺可以隨時(shí)啟動鏡像虛擬機(jī),立即作為備機(jī)替換被備份的服務(wù)器,防范了非編網(wǎng)數(shù)據(jù)庫服務(wù)器故障造成的非編系統(tǒng)中斷事故。該平臺不僅系統(tǒng)架構(gòu)簡潔,部署方便,對原系統(tǒng)的性能基本沒有影響,而且應(yīng)急操作簡便,啟動迅速,虛擬機(jī)性能足夠支持非編網(wǎng)絡(luò)的運(yùn)行。作為對雙機(jī)熱備份系統(tǒng)的補(bǔ)充,應(yīng)急平臺能補(bǔ)足雙機(jī)熱備系統(tǒng)的短板,實(shí)現(xiàn)2+1備份,提高系統(tǒng)運(yùn)行的安全性,對避免非編網(wǎng)服務(wù)中斷導(dǎo)致的重大事故有著重大的意義。