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