廖雯 張俊馮 徐佳男 鮑淼 任俊強
1 引言
隨著信息化建設的推進,信息數據對于企業的發展非常重要。但是在實際的數據使用中,信息數據隨時面臨著因為各種因素所導致的破壞,這就對數據存儲恢復提出了相當高的要求。為此,需要做好對數據備份恢復效率進行不斷地優化,以改善數據備份恢復效率。
2 數據備份是企業生存的基礎保障
企業最為寶貴的財富就是數據,從美國9.11恐怖襲擊,到近年來我國發生的嚴重自然災害等,充分說明企業當前生存環境的復雜多變,這些災難事件給那些依賴信息系統開展業務的企業帶來巨大的損失和嚴重影響。人為的錯誤,硬盤的損毀、電腦病毒、自然災難等都有可能造成數據的丟失,給企業造成無可估量的損失。
備份作為保護這些重要資源的基本手段,占有的重要地位,它已經成為計算機領域里相對獨立的分支機構。一般來說,各種操作系統所附帶的備份程序都有著這樣或那樣的缺陷,所以若想對數據進行可靠的備份,必須選擇專門的備份軟、硬件,并制定相應的備份及恢復方案。如果每一臺服務器或每一個局域網絡都配置了數據備份設備以及相應的備份軟件,那么無論網絡硬件還是軟件出了問題,都能夠很輕松地恢復,數據備份已經成為現代企業生存的基礎保障。
3 數據恢復效率是企業生存能力的表現形式
在系統的建設和保障穩定運行過程中,備份體系的建設不僅僅是將數據進行備份,而是一個系統的工程,而隨著對各個應用系統的全面覆蓋,備份的數據量的不斷增加,恢復速度難以達到設計預期,而且在實踐過程中發現恢復效率受諸多因素影響,導致恢復速度根本無法預測,這給我們的數據保護管理工作帶來非常大的挑戰。
以某商業銀行為例,在某次生產系統維護過程中,操作不當導致磁盤I/O錯誤,由此造成生產和災備中心同時故障無法對外服務,不得不采取數據恢復方式恢復業務。由于缺乏數據恢復的演練,不僅恢復流程不熟悉耽誤時間,而且由于系統缺乏優化,使得原本2小時的恢復作業,花費了整整6個小時,嚴重影響了第二天全行網點的正常營業,造成業務損失。
因此,對備份數據恢復效率進行研究,了解并優化現有環境下備份數據恢復效率,分析并掌握影響數據恢復效率的策略因素,為進一步提高恢復效率提供決策依據。
4 數據備份恢復效率研究方法
通過對數據備份系統的分析,我們發現有多方面的因素會影響數據備份恢復效率,而且這些因素與恢復效率不是簡單的線性關系,因此我們在設計研究方法時考慮兩個主要的方面:一是定性的影響性分析,所謂定性的影響性分析是通過對可能影響備份恢復效率的諸多因素的羅列,以及可能造成的影響進行分析說明;二是定量的演練測試,所謂定量的演練測試是選擇影響性比較大的因素進行對比測試,根據測試結果來驗證這些因素對備份恢復效率的影響。通過兩方面結果的匯總比對,確定對備份恢復效率產生影響的因素以及這些因素的影響性,從而為我們確定行之有效的優化策略提供決策依據。
具體的研究步驟和方法如圖1所示。
基準演練:選取典型環境作為研究對象,進行備份數據恢復演練,記錄數據恢復流程、恢復速度,作為研究的基準數據。
影響因素分析:匯總影響恢復效率的策略因素、并對齊影響性進行分析。
因素影響性測試:組織環境資源對這些因素進行逐一優化,逐一對優化后的環境進行影響因素的對比測試,對確定各影響因素的影響因子。
優化演練及總結:基于最終的優化環境進行數據恢復演練,記錄恢復流程、恢復速度,作為演練分析的對比數據并進行總結。
5 選擇具有普遍參考意義的研究對象
我們選取了銀聯技術部辦公網備份系統典型環境作為研究對象,環境包括虛擬環境的應用系統和物理機的Oracle數據庫,拓撲如圖2所示。
5.1 虛擬機應用環境
虛擬機名稱:NBU_SELS11_TST。
系統配置。CPU:4 vCPU;內存:8GB物理內存 + 4GB swap 空間;存儲:80GB本地硬盤+ 300GB LUN;操作系統:SUSE Linux Enterprise Server 11 SP3;應用:主數據應用服務/文件系統。
5.2 物理機數據庫環境
設備型號:IBM x3650 M3。
硬件配置。CPU:E5640,2.67GHz,2個物理CPU,每個CPU 4個內核;內存:16GB物理內存 + 8GB swap 空間;存儲:500GB本地硬盤(RAID1)+ 300GB LUN + 50GB LUN;操作系統:SUSE Linux Enterprise Server 11 SP3;數據庫:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 64bit。
6 數據恢復基準演練效率
在現有環境下對數據恢復效率進行演練測試,記錄數據恢復的流程、速度、耗時,形成文檔,作為研究的基準數據,具體演練過程如圖3所示。
環境準備:為不影響基準環境的生產應用,全部采取異機恢復的方式進行演練。
數據庫恢復及驗證:首先進行數據庫的恢復,恢復后的數據庫連接生產應用,驗證數據一致性和業務的可用性,記錄恢復數據的時間。
應用服務器恢復及驗證:恢復應用服務器的數據,連接恢復的數據庫,驗證數據的一致性和業務的可用性,記錄恢復數據的時間。
最后進行生產環境的完全還原,保證演練不對原環境造成影響。
基準演練結論:數據恢復后,數據量一致,業務應用經驗證后完全可用,說明備份數據已完整地恢復,整個恢復過程總耗時為4小時25分鐘,基準演練數據恢復效率結果如表1和表2所示。
7 數據備份恢復效率影響因素分析及測試
通過基準演練,我們發現在數據庫恢復操作耗時最長,因此我們對影響數據庫恢復速度的因素進行了分析,主要包括幾類。
硬件及網絡環境:備份的目標系統的硬件環境決定備份恢復效率,主要包括系統CPU/內存大小、存儲I/O、網絡帶寬等。
備份參數:NBU是備份作業調度的管理平臺,所以備份參數的設置也是影響恢復效率的因素,主要包括備份通道調整、Buffer參數、重刪和虛機鏡像恢復功能等。
數據庫參數:NBU是通過調度Oracle數據庫的備份接口進行的,Oracle一些參數的設置同樣會影響備份速度,主要包括同步/異步IO機制、數據庫Large-pool、以及數據庫的壓縮機制。
其他恢復機制:存儲快照、虛擬機鏡像快速恢復功能。
根據對影響因素的分析,我們設計了這些因素影響性的測試,主要是通過調整因素的設置來測試這些因素對備份恢復效率的影響,從而驗證影響因素的分析,并找到優化的方案。
針對我們所選取的典型環境,這些因素對備份速度會產生不同的影響。
首先,硬件環境因素對備份速度的影響是線性的,硬件條件越好則備份恢復速度越快,考慮到硬件環境基本固定,所以選擇了SAN和LAN兩種方式的對比測試。
其次,NBU參數設置會提高備份恢復速度,但同時會占用硬件資源,所以對于備恢復速度的影響性比較綜合,在硬件資源足夠的情況下表現為線性,在后續的影響性測試中我們重點關注的不同通道數的對比測試以及重刪、虛機鏡像快速恢復功能對備份性能影響測試。
然后,Oracle的這些參數對速度的影響則比較復雜,尤其是開啟壓縮機制,因此是我們測試的重點,分別對開啟和關閉壓縮機制進行了測試。
最后,對可能影響備份恢復速度的其他因素進行測試,如存儲快照回滾技術。
7.1 硬件及網絡環境測試
備份的目標系統的硬件環境決定備份恢復效率,包括系統CPU/內存大小、存儲I/O、網絡帶寬。
7.1.1 系統CPU/內存及存儲I/O
系統CPU/內存大小決定計算能力,影響數據恢復速度,系統計算能力越強,數據備份恢復速度越快;前端存儲I/O存儲的吞吐量大小影響數據讀取和寫入的速度,I/O吞吐量越大,數據備份恢復速度越快。如表3所示。
7.1.2 LAN/SAN備份方式對比數據
測試數據:測試中使用一臺物理機作為NBU模擬測試備份恢復客戶端。操作系統:SUSE Linux Enterprise Server 11 SP3;CPU:16 (2.67GHz);內存:16G;LUN:300G;IP網絡帶寬:1Gb;SAN網絡帶寬:4Gb。
分別測試三種類型數據: Oracle、應用及文件、MySQL數據,測試數據表4所示。
測試結論:在同時滿足SAN、LAN 通道的環境優先使用SAN通道進行數據的備份與恢復,當前千兆網絡環境下,數據備份恢復速率峰值為110MB/s左右,生產環境中NBU5230同一時刻可能需要與其他業務系統交互,導致傳輸速率無法持久保持滿帶寬狀態,僅數據傳輸方面物理主機與虛擬主機無太大差別。
7.2 備份參數測試
NBU是備份作業調度的管理平臺,所以備份參數的設置也是為了提高備份恢復速度而設置的。
7.2.1 Oracle備份多通道測試
測試數據:根據對基準環境LAN方式開啟數據庫壓縮的情況下反復備份恢復測試,測試數據如表5所示。
測試結論:選擇2~6通道可以一定程度提升備份恢復速度:為盡可能利用整個通道帶寬,在Netbackup中可選擇并發數據量越多,數據備份恢復速度越快;每增加兩個通道,速率提升約為30%。
7.2.2 NBU Buffer參數調整測試
NBU 的Buffer參數是各個組件之間通訊時的數據緩沖區,通過調整這些參數的大小可以影響備份恢復速度,其中NET_BUFFER_SZ:NBU介質服務器與客戶端通信的緩沖區;Size_DATA_BUFFERS:NBU介質管理程序bptm和策略庫進程bpdm間的緩存大小;Number of Data Buffers:NBU bptp進程可以使用的 Data_buffer的數量。
測試數據:Buffer更改前后的備份I/O對比測試(2通道),如表6所示。
測試結論:NBU Buffer的數量和大小影響備份數據的寫入速度,Buffer數值越大,備份恢復速度越快,但提升效果非常小。
7.2.3 備份重刪機制測試
NetBackup 可以選擇在客戶端或介質服務器上進行重復數據刪除。在靠近數據源位置刪除冗余數據,可以最大程度發揮重復數據刪除功能的優勢。NetBackup 客戶端重復數據刪除功能可以刪除源數據位置的冗余數據。與傳統備份技術相比,它所占用的 CPU、I/O 和內存會更低。客戶端重復數據刪除功能還可以實現增幅高達10倍的備份速度。如果客戶端計算機沒有足夠的CPU資源執行重復數據刪除操作,那么可以將該操作放到Media服務器上,或存儲目標端進行處理。如圖5所示。
測試數據:使用辦公流程平臺Oracle數據庫作為數據來源(縮減后),在SAN網絡備份的條件下,測試啟用重刪功能對數據庫類備份效率的影響以及客戶端資源的消耗情況,如表7所示。
測試結論:刪重率與數據類型有關系,文檔文件、虛機以及數據庫的刪重率比較高,而這些刪重率高的數據類型,備份恢復時需要消耗更多的CPU和內存,雖然一定程度影響備份速率,但因實際寫入數據量少,備份恢復速度還是相對高,刪重率與備份速率有關,但不是絕對線性關系;數據重刪是在備份策略中默認開啟的功能,無重刪會占用更多備份存儲資源、消耗更多備份時間。
7.2.4 啟動虛機鏡像恢復功能(即時恢復)
NetBackup 的即時恢復虛擬機功能,不需要等待從備份中傳輸該虛擬機的數據,可直接從備份映像中啟動虛擬機,并且目標 ESX 主機上的用戶可立即訪問該虛擬機。恢復虛擬機后使用vMotion將虛擬機數據文件從備份映像遷移到其他ESX主機,恢復過程如圖6所示。
測試數據如表8所示。
測試結論:利用NBU的快速開啟任何以已備份到磁盤的虛擬系統,通過NFS快速將虛機鏡像啟動,可以實現系統快速恢復的目的,提高備份恢復效率。相比常規的虛擬機恢復方式,節約了系統從備份集恢復到存儲資源池的時間,快速啟動系統,如果需要系統長期運行則需要將其遷移到相鄰存儲中去。
7.3 Oracle數據庫參數測試
NBU是通過調度Oracle數據庫的備份接口進行的,Oracle一些參數的設置同樣會影響備份速度。
7.3.1 改變ORACLE異步I/O參數
測試數據如表9所示。
測試結論:改變oracle數據庫異步IO參數后,使用不同的通道對數據庫進行備份,對恢復速度有一定提升。
7.3.2 調整Large-Pool測試
RMAN備份過程是將數據讀到buffer,然后通過MML接口寫到備份設備。依數據庫不同的設置,這塊buffer會使用SGA區不同的部份,推薦設置合理的Large pool,讓RMAN的Buffer出自Large Pool。
測試數據如表10所示。
測試結論:將數據庫的SGA參數large_pool_size由200MB改為1GB,修改完成之后并沒有對備份速度有所優化。
7.3.3 啟用數據庫壓縮機制測試
測試數據:使用基準環境數據庫280G數據在2通道的基礎上進行對比測試,如表11所示。
測試結論:Oracle壓縮機制是決定性的影響因素,開啟關閉壓縮機制,備份數據恢復速率提升7-8倍。
7.4 啟用存儲快照功能測試
Huawei S5800T的快照功能,實現在不中斷正常業務的前提下,生成源數據在某一時間點的一致性數據副本,并且可在幾秒內完成。快照生成后可以被主機讀取,也可以作為某個時間點的數據備份。
測試方法及數據:劃分了一個300GB的LUN存儲空間掛載到物理機測試環境,并將Oracle測試數據庫數據部署到該掛載點, 步驟包括對LUN 建立快照;在數據庫中模擬了數據誤刪的操作(刪除表空間),然后使用快照回滾功能驗證快照回滾完成后數據一致性,如表12所示。
將LUN快照映射到另外一個Oracle系統,調整參數后啟動數據庫,驗證通過快照重新定義數據用途的特性。
測試結論:修改機制可大幅提高系統恢復效率,但數據不能長期保存,可作為恢復效率的輔助手段。
8 數據備份恢復效率因素影響性分析及測試總結
8.1 影響性分析
通過對系統硬件環境到應用軟件參數的逐級分析和對比測試,優選硬件資源配置能夠有效提升數據備份恢復性能,同時根據場景調整參數配置可進一步充分發揮性能。
在目前收集的數據中,物理服務器與虛擬服務器的磁盤IO有一定差異,但在整體的備份恢復周期中IO 性能未發現形成瓶頸,同樣的現象也存在于物理服務器與虛擬服務器的CPU計算能力。相較于系統IO性能及CPU計算能力,網絡傳輸速率為重點考慮對象。
網絡方面,目前服務器接入層網絡速率為1Gb/s、光纖存儲速率為 4Gb/s,故測試結果中光纖網絡數據傳輸速率明顯高于LAN網絡,但未經優化的數據傳輸速率并未達到SAN與LAN之間的既有速率之比,同樣LAN網絡的平均傳輸速率也未達到 1Gb/s 網絡所具備的速率,可見參數優化是資源使用率高低的重要因素。
數據庫參數調整的案例中,在Oracle 數據庫的恢復測試案例中開啟了壓縮模式的優勢是能減小網絡傳輸量、縮小備份集大小;而在數據量較大的情況下壓縮模式將失去優勢,導致備份恢復周期較長,無法實現數據的快速恢復,故不同應用場景調整優化參數是不完全相同的。
備份數據重刪功能是NBU的核心價值之一,無論是虛擬機備份還是文件備份,通過重刪擴展了備份二級存儲的邏輯存儲能力,同時也可通過客戶端刪重功能減小網絡傳輸量,縮短備份、還原周期。
除參數配置優化外,使用某些可選的功能也可以優化數據恢復策略,如NBU即時恢復和存儲快照。NBU即時恢復可通過配置好的NFS環境將虛擬機備份文件直接掛載在虛擬資源池中,省略了虛擬機恢復的耗時而實時啟動故障虛擬機;存儲快照功能并不能歸類為備份方式,但可實現數據快速回滾適用于數據狀態保護及測試環境(功能僅用于測試,目前存儲資源池空間暫無法支撐生產業務的數據快照功能)。
概括備份恢復效率影響的的因素包括:SAN/LAN備份方式、重刪功能、虛機快速恢復、數據庫壓縮機制以及存儲快照功能,其影響性表示如圖7所示。
8.2 測試總結
通過對備份和恢復性能影響因素的分析和測試,我們發現這些因素對備份和恢復的影響是綜合而且復雜的,實際優化過程中可自下而上,系統而全面的分析、優化備份架構。
首先,考慮備份系統基礎設施,包括服務器、存儲、網絡等,如備份存儲設備,選擇的次序依次為磁盤、虛擬帶庫、物理帶庫,這些設備合理搭配,不僅可提高備份速度,還能更好的滿足法規、制度的要求;再比如備份網絡,是否規劃備份專網,是否能提供SAN或萬兆網等。
其次,優化備份架構,合理的調整配置參數,充分利用現有資源,達到備份和恢復性能的提升。 如數據庫備份參數的調整,大數據平臺的直連備份等。
最后,充分利用備份系統中新的優化功能選項,可大大提升備份和恢復性能。如重刪功能、虛機即時恢復、備份加速和虛擬合成技術、數據庫壓縮機制以及存儲快照功能等。
9 實施優化策略后的演練效果
根據影響性測試結果,我們采用了最優的備份和數據庫參數組合,并選擇能提高恢復效率的功能和機制,對當前備份恢復環境進行了優化,具體措施涉及幾個方面。
事前準備:(1)異機恢復準備一個相同系統版本、數據庫程序版本、相同環境變量的虛擬機的環境作為冷備;(2)恢復之前,暫停備份作業。
修改參數:(1)關閉oracle數據庫壓縮機制;(2)調整備份通道至6通道;(3)多個虛擬機恢復由并行改為串行操作,減輕NBU資源占用;(4)改變Oracle異步IO參數、SGA內存參數、修改 Net Buffer值。
優化演練效果:在完成優化后,再次對數據恢復進行了演練,在保證恢復數據及應用可用的情況下,恢復效率大幅度提高,如表13所示。
10 行業借鑒意義
根據數據統計,2015年,90%以上的金融行業使用Symantec NBU 進行數據備份,其中60%都是Oracle數據庫備份,80%以上存在虛機備份環境,通過我們對數據備份恢復效率策略的研究對同行業的數據災備具有兩方面的意義。
一是一般同行業單位多關注備份,而忽略數據恢復的重要性,通過研究結果輸出可幫助同行業單位重視數據恢復的有效性驗。
二是在重視數據恢復有效性的情況下,研究結果有助于同行業同類型數據備份及恢復研究,分析并掌握影響數據恢復效率的策略因素以及這些因素的影響性,不斷摸索優化方案從而提高恢復效率。
備份恢復效率的優化是一個持續不斷的過程,在研究過程中我們了解到Symantec NBU在最新版本提供了文件和虛機的加速備份功能,可以提高備份恢復速度,而且我們也發現建立一套恢復演練的機制并定期演練也是提高備份恢復效率的重要手段,我們將繼續深化研究以期進一步提高IT系統的應急保障能力。