文/梁藝軍 陳子建
同校異地實現(xiàn)數(shù)據(jù)級容災(zāi)
文/梁藝軍 陳子建
為給各個應(yīng)用系統(tǒng)提供一個具有高可用性的、可擴展的、可管理的數(shù)據(jù)保護環(huán)境,中國人民大學(xué)建立了校園數(shù)據(jù)資源異地容災(zāi)系統(tǒng),實現(xiàn)數(shù)字信息的不可丟失性。
我校數(shù)據(jù)存儲的狀況是:數(shù)字校園存儲和郵件服務(wù)存儲放在同一個機房內(nèi),其中,數(shù)字校園存儲采用FCSAN,并通過光纖交換機與服務(wù)器做全冗余聯(lián)結(jié),而郵件存儲采用IP SAN。校園卡存儲存在同校異地,與數(shù)字校園機房距離小于1公里,并且有光纖線通達,校園卡存儲也采用FCSAN,與服務(wù)器直聯(lián)。
數(shù)據(jù)類型
需要保護的數(shù)據(jù)類型包括6種:1.數(shù)據(jù)庫數(shù)據(jù):主要以O(shè)racle為主,以SQL Server為輔;2.文件型數(shù)據(jù):包括桌面文檔、報告、論文等;3.程序代碼;4.課件;5.多媒體格式的數(shù)據(jù)結(jié)構(gòu):主要表現(xiàn)為新聞影像、網(wǎng)絡(luò)電視記錄等;6.其它類型數(shù)據(jù)。
最主要的數(shù)據(jù)是數(shù)據(jù)庫數(shù)據(jù)和課件數(shù)據(jù):數(shù)據(jù)庫數(shù)據(jù)支持應(yīng)用,是學(xué)校業(yè)務(wù)運行的依據(jù);而課件數(shù)據(jù)是學(xué)校的無形資產(chǎn)。
數(shù)據(jù)環(huán)境
我校的數(shù)據(jù)環(huán)境的具體情況如下:
1.服務(wù)器:硬件主要以SUN 大型機為主,其余均為普通的 PC服務(wù)器;
2.操作系統(tǒng):操作系統(tǒng)主要是Solaris(1 0)、Windows;
3.網(wǎng)絡(luò):目前各個源數(shù)據(jù)點和容災(zāi)點有光纖聯(lián)通,隨著應(yīng)用的發(fā)展,源數(shù)據(jù)點和容災(zāi)點沒有光纖聯(lián)通的情況將會出現(xiàn),但會有網(wǎng)絡(luò),需要異步方式;
4.數(shù)據(jù)加密:業(yè)務(wù)信息管理和容災(zāi)管理職責(zé)不同,有敏感數(shù)據(jù)加密問題,另外,一些文檔也對密文容災(zāi);
5.進程代理:在服務(wù)器內(nèi)存駐留代理的情況需要慎重,這源自于數(shù)據(jù)的敏感性和對CPU與內(nèi)存效率的影響;
6.存儲的異構(gòu)性:多個廠家的多個存儲系統(tǒng)同時運行著,而且不是早期型號就是低端系統(tǒng)。
在規(guī)劃系統(tǒng)時,我們必須站在全局的高度進行全面的規(guī)劃和相關(guān)技術(shù)的分析,以確保今后系統(tǒng)能夠平穩(wěn)過渡并最大程度保護現(xiàn)有投資。因此,我們需要構(gòu)建一套先進的、可擴展的、高性能的異地容災(zāi)系統(tǒng),但是考慮到投資、發(fā)展和先有后優(yōu)的原則,我們先進行少量投資建立可行的同校異地數(shù)據(jù)災(zāi)備系統(tǒng),對現(xiàn)有系統(tǒng)的數(shù)據(jù)完成數(shù)據(jù)級容災(zāi)標(biāo)準(zhǔn)的保護措施。
根據(jù)上述目標(biāo)和當(dāng)前環(huán)境的分析,容災(zāi)的需求如下:
1.數(shù)據(jù)中心關(guān)鍵系統(tǒng)的數(shù)據(jù)要求完成異地的同步容災(zāi)備份;
2. 根據(jù)其余業(yè)務(wù)系統(tǒng)的數(shù)據(jù)的重要程度,要求完成異步的數(shù)據(jù)復(fù)制或定期的數(shù)據(jù)復(fù)制;
3.對于同步數(shù)據(jù)可以定時進行快照保護,通過多重技術(shù)對于數(shù)據(jù)進行多層次的保護,避免物理故障或邏輯錯誤對于數(shù)據(jù)的影響;
4.在容災(zāi)備份中心通過快照數(shù)據(jù)創(chuàng)建復(fù)制卷,使其用于生成報告、開發(fā)應(yīng)用程序或測試等目的;
5.后期還需要考慮學(xué)校師生的桌面級數(shù)據(jù)備份需求。
系統(tǒng)的設(shè)計過程遵循5個原則。
安全性/高可用性原則
考慮到各應(yīng)用系統(tǒng)的具體情況,在完成數(shù)據(jù)的同步或異步復(fù)制時,盡量不占用或少占用主機的資源。
管理性/系統(tǒng)高效原則
為保證數(shù)據(jù)存儲的可管理性,方案設(shè)計要減少管理的復(fù)雜性,應(yīng)采用先進的數(shù)據(jù)保護技術(shù),保證數(shù)據(jù)的一致性。
先進性/可擴展性原則
不但要能夠完成現(xiàn)有數(shù)據(jù)保護的要求,而且要具有靈活的擴展性,可以在原有建設(shè)的基礎(chǔ)上,根據(jù)客戶后期的需求進行整體方案的平滑升級。
分步實施原則
方案的實施可以是有選擇性的實施,根據(jù)客戶目前的現(xiàn)狀和要求進行分期部署與實施,并且在后期的升級過程中,能夠有效使用前期的設(shè)備,達到整體投資的合理利用,無需重復(fù)投資。
投資最有效原則
系統(tǒng)方案應(yīng)具有高性能價格比,具有較高實用性。
數(shù)據(jù)復(fù)制的分類比較
容災(zāi)系統(tǒng)的保護級別可以分為數(shù)據(jù)級容災(zāi)和應(yīng)用級容災(zāi)。在第一階段,我們要實現(xiàn)的是數(shù)據(jù)級容災(zāi)(亦稱作數(shù)據(jù)災(zāi)備)。數(shù)據(jù)級容災(zāi)指的是對生產(chǎn)機的業(yè)務(wù)數(shù)據(jù)定期進行異機保存,當(dāng)生產(chǎn)機的業(yè)務(wù)數(shù)據(jù)由于災(zāi)難而損失時,待生產(chǎn)機修復(fù)之后,利用異機保存的數(shù)據(jù)來恢復(fù)業(yè)務(wù)。
根據(jù)容災(zāi)系統(tǒng)所采用的數(shù)據(jù)復(fù)制實現(xiàn)層次的不同,又可分為基于主機層的復(fù)制、基于陣列層的復(fù)制和基于中間設(shè)備的復(fù)制。
1.基于主機層的復(fù)制
實現(xiàn)方式:由主機操作系統(tǒng)安裝容災(zāi)軟件方式來實現(xiàn),不同操作系統(tǒng)使用軟件包組件不一樣,成本不一樣,安裝維護的方式也有不同。
優(yōu)點: 支持異構(gòu)的存儲系統(tǒng),比較容易實現(xiàn)。
缺點:
(1)因為復(fù)制是建立在其對應(yīng)的數(shù)據(jù)庫或者卷管理基礎(chǔ)上,有一定的局限性;
(2)需要在每一臺應(yīng)用服務(wù)器上安裝;
(3)系統(tǒng)運行占用主機資源,會影響主機的系統(tǒng)運行性能;
(4)操作系統(tǒng)的版本和存儲軟件的版本兼容性需要一一確認(rèn)。
2.基于陣列層的復(fù)制
實現(xiàn)方式:存儲陣列支持遠(yuǎn)程鏡像和復(fù)制功能的設(shè)備,實現(xiàn)兩地存儲設(shè)備間數(shù)據(jù)的容災(zāi)。
優(yōu)點: 鏡像和復(fù)制功能與主機無關(guān),不占用主機資源。
缺點:
(1)兼容性比較差,通常要求容災(zāi)兩側(cè)的存儲設(shè)備為同一個型號或系列;
(2)對陣列的要求和網(wǎng)絡(luò)要求條件要求較高,成本高。
3.基于中間設(shè)備的復(fù)制
實現(xiàn)方式 :通過專用設(shè)備,實現(xiàn)對接管存儲的數(shù)據(jù)的全部容災(zāi)。
優(yōu)點:
(1)基于網(wǎng)絡(luò)層,與主機及陣列無關(guān),即不占用主機和陣列資源,對陣列功能特性沒有特殊要求;
(2)能夠?qū)崿F(xiàn)全網(wǎng)存儲的統(tǒng)一災(zāi)備;(3)支持多點對一點的集中容災(zāi);(4)支持網(wǎng)絡(luò)傳輸帶寬的限制和容災(zāi)策略配置。
缺點:需要額外購買設(shè)備,成本高。
容災(zāi)方案的選擇
在本方案設(shè)計中,針對學(xué)校的不同應(yīng)用系統(tǒng)的實際情況、業(yè)務(wù)特點及災(zāi)備需求,可以選擇不同的數(shù)據(jù)保護方案,在此,我們主要有兩種數(shù)據(jù)保護方案。
1.基于鏡像的實現(xiàn)
這種方案適用于對業(yè)務(wù)連續(xù)性要求很高、災(zāi)備中心和生產(chǎn)中心距離不遠(yuǎn)(一般要求小于100KM),同時能提供較大互聯(lián)帶寬(最好是能提供光纖直連)的場景。
2.基于復(fù)制的實現(xiàn)
這種方案適用于災(zāi)備中心和生產(chǎn)中心距離較遠(yuǎn)(大于100KM)、互聯(lián)帶寬成本較低(如租用線)的場景。
我們現(xiàn)在采取方案1,在校內(nèi)完成數(shù)據(jù)異地災(zāi)備系統(tǒng),同時也考慮方案2,為以后遠(yuǎn)距離異步容災(zāi)或者針對不能提供較大互聯(lián)帶寬的校內(nèi)數(shù)據(jù)源容災(zāi)做好準(zhǔn)備。
基于鏡像的容災(zāi)實現(xiàn)
綜合考慮學(xué)校數(shù)據(jù)中心關(guān)鍵業(yè)務(wù)系統(tǒng)對容災(zāi)要求業(yè)務(wù)連續(xù)性較高,而容災(zāi)備份中心擬建在校園內(nèi),兩個中心距離不遠(yuǎn)且裸光纖直連,因此,在第一階段,我們使用基于鏡像實現(xiàn)的數(shù)據(jù)容災(zāi),見圖2。
圖2 基于鏡像的數(shù)據(jù)級容災(zāi)方案
總體方案如下:
1.在數(shù)據(jù)中心配置一臺容災(zāi)控制器,對SAN網(wǎng)絡(luò)內(nèi)的存儲進行統(tǒng)一管理,對于IP SAN存儲,管理方式相同;
2. 在容災(zāi)備份中心配置一臺備份陣列,通過裸光纖連接到生產(chǎn)中心的光纖交換機上,采用FC接口協(xié)議;
3. 生產(chǎn)中心和災(zāi)備中心陣列(可以是異構(gòu)陣列)在容災(zāi)控制器上配置鏡像關(guān)系;
4. 主機的任何寫操作,經(jīng)容災(zāi)控制器分發(fā)后同步寫到生產(chǎn)中心和容災(zāi)備份中心的磁盤陣列上,生產(chǎn)中心和災(zāi)備中心磁盤陣列寫完成后,通過容災(zāi)控制器同時向主機報告寫完成信號,實時保證數(shù)據(jù)的嚴(yán)格一致。
數(shù)據(jù)容災(zāi)實現(xiàn)的流程是:
1. 在容災(zāi)控制器上配置生產(chǎn)陣列和備份陣列為鏡像關(guān)系;
2. 在正常情況下,主機下發(fā)寫命令到容災(zāi)控制器,控制器同時寫生產(chǎn)卷和鏡像卷;
3. 生產(chǎn)卷和鏡像卷數(shù)據(jù)保持嚴(yán)格一致,主機只見到一個卷,對鏡像過程無感知;
4. 生產(chǎn)或備份任一陣列損壞,不影響業(yè)務(wù)正常操作;
5. 在線更換損壞陣列,重新在控制器上配置鏡像關(guān)系;
6. 原有數(shù)據(jù)自動遷移到新加入陣列,保持?jǐn)?shù)據(jù)一致性,過程無需暫停業(yè)務(wù)。
(作者單位為中國人民大學(xué)網(wǎng)絡(luò)與教育技術(shù)中心)