吳家隱 莫秋燕 李先緒 鄭文武
在云計(jì)算環(huán)境中,傳統(tǒng)的備份技術(shù)遇到了需要安裝備份代理、空白數(shù)據(jù)占用空間、數(shù)據(jù)冗余度高和備份顆粒度大等問題。基于此,研究了通過VADP接口,實(shí)現(xiàn)無代理備份、數(shù)據(jù)塊修改跟蹤、文件級(jí)備份恢復(fù)、重復(fù)數(shù)據(jù)刪除、vCenter集成及應(yīng)用感知等的云計(jì)算環(huán)境的備份軟件技術(shù),并驗(yàn)證了重復(fù)數(shù)據(jù)刪除對(duì)數(shù)據(jù)塊修改跟蹤技術(shù)的有效性,為云計(jì)算環(huán)境的數(shù)據(jù)備份提供了有益的參考。
云計(jì)算 備份技術(shù) VMWare
1 引言
隨著信息化的發(fā)展,各種業(yè)務(wù)系統(tǒng)已經(jīng)成為大型企業(yè)日常生產(chǎn)不可或缺的一部分,這些系統(tǒng)所產(chǎn)生的數(shù)據(jù)也成為運(yùn)營商的核心資產(chǎn)。在軟硬件處理能力越來越強(qiáng)的現(xiàn)在,電信運(yùn)營商的IT系統(tǒng)呈現(xiàn)出集約化[1]、去IOE(IBM、Oracle、EMC)化[2]、云計(jì)算化的趨勢。
對(duì)于電信運(yùn)營商,大部分業(yè)務(wù)系統(tǒng)是由各省級(jí)單位獨(dú)立建設(shè),互不兼容。在市場競爭激烈、成本要求苛刻、精細(xì)化管理成為企業(yè)必需的情況下,三大運(yùn)營商不約而同地選擇了集約化發(fā)展的道路。業(yè)務(wù)的變化推動(dòng)IT系統(tǒng)的集約化,運(yùn)營商紛紛嘗試將分省建設(shè)、管理的系統(tǒng)集中到全國幾個(gè)大型中心。集約化后的IT中心帶來了數(shù)據(jù)的高度集中,對(duì)系統(tǒng)備份和恢復(fù)的速度要求更加苛刻。
與集約化同時(shí)進(jìn)行的是IT系統(tǒng)“去IOE”的進(jìn)程。去IOE即在服務(wù)器設(shè)備上,使用標(biāo)準(zhǔn)化程度高的X86服務(wù)器逐漸取代高可靠性、生態(tài)系統(tǒng)相對(duì)IBM Power小型機(jī)乃至所有的小型機(jī)在核心系統(tǒng)的使用。去O即從小型業(yè)務(wù)系統(tǒng)開始,使用Scale out架構(gòu)的開源數(shù)據(jù)庫逐步消除Oracle數(shù)據(jù)庫在運(yùn)營商的壟斷地位;去E即在數(shù)據(jù)存儲(chǔ)領(lǐng)域使用更為廉價(jià)的存儲(chǔ)方式代替昂貴的高端EMC存儲(chǔ)。去IOE在節(jié)省成本、降低對(duì)原廠依賴的同時(shí),也帶來了對(duì)業(yè)務(wù)系統(tǒng)、數(shù)據(jù)庫及業(yè)務(wù)數(shù)據(jù)可靠性的憂慮。
云計(jì)算化是使用虛擬化基礎(chǔ)架構(gòu)代替過去孤立的、煙囪式發(fā)展的傳統(tǒng)IT架構(gòu)。云計(jì)算是在由服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)交換機(jī)等硬件的基礎(chǔ)上增加了虛擬化層和云層。其中,虛擬化層屏蔽了硬件的差異性和復(fù)雜度,為云層提供標(biāo)準(zhǔn)化、可靈活擴(kuò)展和收縮、彈性的虛擬資源池;云層可以調(diào)配硬件資源池,為應(yīng)用系統(tǒng)提供虛擬硬件。云計(jì)算化在增加靈活性的同時(shí),也更來了更多的可能的故障點(diǎn)。
集約化、去IOE化、云計(jì)算化的IT系統(tǒng)帶來成本節(jié)約、靈活度更高的同時(shí),也為應(yīng)用系統(tǒng)和數(shù)據(jù)的可靠性帶來了更大的挑戰(zhàn)。為了保障IT系統(tǒng)安全,需要建立穩(wěn)定、高效的備份系統(tǒng),將應(yīng)用系統(tǒng)和數(shù)據(jù)備份多份后,在異機(jī)甚至異地存儲(chǔ)。備份系統(tǒng)可以保證在應(yīng)用系統(tǒng)出現(xiàn)問題的情況下能夠回退到正常狀態(tài),是企業(yè)IT安全的最后一道防線,需要引起高度重視。
2 傳統(tǒng)IT基礎(chǔ)下的備份技術(shù)
2.1 傳統(tǒng)備份對(duì)象
在傳統(tǒng)IT基礎(chǔ)架構(gòu)下,備份的對(duì)象主要針對(duì)操作系統(tǒng)、數(shù)據(jù)庫和文件系統(tǒng)。
操作系統(tǒng)是應(yīng)用系統(tǒng)的基礎(chǔ),其備份技術(shù)也是備份的難點(diǎn)。操作系統(tǒng)備份包括系統(tǒng)備份和系統(tǒng)恢復(fù)。系統(tǒng)備份由文件備份、系統(tǒng)數(shù)據(jù)一致性及系統(tǒng)環(huán)境等技術(shù)組成。操作系統(tǒng)備份時(shí),系統(tǒng)文件、環(huán)境變量等參數(shù)會(huì)不斷發(fā)生變化,有可能發(fā)生相關(guān)文件備份時(shí)間不同而導(dǎo)致系統(tǒng)故障的問題[3]。為了保證一致性,需要對(duì)備份過程中的I/O(Input/Output,輸入/輸出)進(jìn)行備份,在系統(tǒng)恢復(fù)時(shí)將備份過程的I/O操作重新寫入操作系統(tǒng),從而使系統(tǒng)狀態(tài)與備份結(jié)束時(shí)間點(diǎn)的狀態(tài)一致,降低了系統(tǒng)崩潰的風(fēng)險(xiǎn)。系統(tǒng)恢復(fù)在異機(jī)恢復(fù)方面有可能面臨著設(shè)備驅(qū)動(dòng)不一致,從而導(dǎo)致恢復(fù)后的系統(tǒng)無法正常使用的問題。
數(shù)據(jù)庫備份不僅需要備份數(shù)據(jù)庫中的用戶數(shù)據(jù),還需要對(duì)重要的數(shù)據(jù)庫組件如數(shù)據(jù)文件和控制文件進(jìn)行備份[4]。數(shù)據(jù)庫的備份可以分為靜態(tài)備份和動(dòng)態(tài)備份。靜態(tài)備份是在系統(tǒng)沒有事務(wù)需要處理時(shí)進(jìn)行的備份作業(yè),在備份期間不允許對(duì)數(shù)據(jù)庫進(jìn)行查詢、插入等活動(dòng)。靜態(tài)備份可以很好地保持?jǐn)?shù)據(jù)的一致性,但同時(shí)降低了數(shù)據(jù)庫的可用性。動(dòng)態(tài)備份可以在用戶事務(wù)發(fā)生的同時(shí)進(jìn)行,允許在備份期間對(duì)數(shù)據(jù)庫進(jìn)行存取、修改等操作,但這種方式無法保證副本數(shù)據(jù)的有效性,需要記錄下備份期間對(duì)數(shù)據(jù)庫的存取等活動(dòng)日志。數(shù)據(jù)庫恢復(fù)時(shí),需要恢復(fù)副本和備份期間的日志才能恢復(fù)到正確的狀態(tài)。
文件系統(tǒng)備份可以通過文件系統(tǒng)定位文件所在的頁,然后備份所找到的文件。由于存儲(chǔ)在磁盤中的文件的頁并不一定是連續(xù)的,因此在恢復(fù)的過程中磁盤需要不斷定位,從而導(dǎo)致磁盤負(fù)擔(dān)較大[5]。在文件系統(tǒng)備份中,運(yùn)營商的話單文件體積小但數(shù)量非常多,其備份是一大技術(shù)難題。
2.2 常見備份方式
在實(shí)現(xiàn)生產(chǎn)中,通常采用以下方式進(jìn)行備份:
(1)使用數(shù)據(jù)庫自帶備份工具備份。對(duì)于Linux下的Oracle數(shù)據(jù)庫,可以編寫Rman腳本備份數(shù)據(jù),再通過Crontab配置定時(shí)復(fù)制命令,將數(shù)據(jù)庫備份文件復(fù)制到磁盤陣列[6]。對(duì)于MySQL,可以使用自帶的mysqldump工具,實(shí)現(xiàn)基于InnoDB的熱備份[7]。
(2)使用操作系統(tǒng)自帶工具。Linux操作系統(tǒng)中常使用dump和restore命令來實(shí)現(xiàn)文件系統(tǒng)的全備、增量備份和差異備份等備份方式[8],Windows Server下也自帶了Windows Server Backup的備份和恢復(fù)工具。
(3)基于存儲(chǔ)的硬件備份。存儲(chǔ)設(shè)備是使用硬件來實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、備份與恢復(fù),速度較快。通過存儲(chǔ),還可以使用更高級(jí)的存儲(chǔ)技術(shù),如快照、鏡像、重復(fù)數(shù)據(jù)刪除等功能。同一廠商的存儲(chǔ)產(chǎn)品往往具有遠(yuǎn)程鏡像的功能,可以將本地備份數(shù)據(jù)通過同步或異步的方式自動(dòng)實(shí)現(xiàn)異地備份。然而不同存儲(chǔ)廠商間的硬件備份技術(shù)使用不同的技術(shù)標(biāo)準(zhǔn),互不兼容,從而導(dǎo)致不同品牌的存儲(chǔ)不能實(shí)現(xiàn)硬件的遠(yuǎn)程鏡像。運(yùn)營商的核心數(shù)據(jù)經(jīng)常需要保留三份以上的異地備份,就需要在三個(gè)地點(diǎn)都使用同一個(gè)廠商的存儲(chǔ)設(shè)備,這也成為基于存儲(chǔ)的硬件備份的一大阻礙。
(4)基于備份軟件。備份軟件集成了各種數(shù)據(jù)庫、文件系統(tǒng)的備份等功能,又具備了鏡像復(fù)制、快照、重復(fù)數(shù)據(jù)刪除、數(shù)據(jù)校驗(yàn)、SAN(Storage Area Network,存儲(chǔ)區(qū)域網(wǎng)絡(luò))備份等高級(jí)存儲(chǔ)功能。備份軟件從軟件上屏蔽了硬件設(shè)備的差異,可以統(tǒng)一管理服務(wù)器硬盤、磁盤陣列、虛擬帶庫以及物理帶庫等存儲(chǔ)設(shè)備。同時(shí),備份軟件也可以實(shí)現(xiàn)對(duì)不同操作系統(tǒng)(Windows、Linux、Unix)、不同數(shù)據(jù)庫(Oracle、SQL Server、MySQL)的備份。通過備份軟件,系統(tǒng)管理員不需要對(duì)不同的操作系統(tǒng)、不同的數(shù)據(jù)庫、不同的存儲(chǔ)設(shè)備和服務(wù)器各自編寫自動(dòng)備份腳本,可以在統(tǒng)一的界面上通過命令行或圖形化界面集中管理備份設(shè)備、存儲(chǔ)設(shè)備、備份策略。因此,備份軟件也是核心IT系統(tǒng)中常用的備份方式。
(5)備份一體機(jī)。隨著一體化設(shè)備的發(fā)展,備份軟件廠商紛紛推出集成了備份服務(wù)器、存儲(chǔ)、備份軟件的備份一體機(jī)設(shè)備。這種備份一體機(jī)可以在用戶快速部署,大大方便了異地?cái)?shù)據(jù)備份。
2.3 備份軟件
備份軟件架構(gòu)如圖1所示,主要由備份服務(wù)器、備份代理、存儲(chǔ)服務(wù)器、Web服務(wù)器組成。
備份服務(wù)器可以自動(dòng)進(jìn)行備份作業(yè)的調(diào)度,通過指揮備份代理和存儲(chǔ)服務(wù)器共同完成備份、恢復(fù)任務(wù)[9]。備份服務(wù)器維護(hù)著Catalog數(shù)據(jù)庫,在數(shù)據(jù)庫里存儲(chǔ)備份恢復(fù)作業(yè)的信息及物理設(shè)備相關(guān)的信息。備份代理一般是安裝在需要備份的主機(jī)中,調(diào)用相關(guān)系統(tǒng)的接口。在備份作業(yè)發(fā)起時(shí),數(shù)據(jù)由備份代理讀取并傳輸?shù)骄W(wǎng)絡(luò)。對(duì)于不同的備份對(duì)象,往往需要安裝對(duì)應(yīng)的模塊。例如,為了分別備份Oracle數(shù)據(jù)庫、SQL Server數(shù)據(jù)庫,就需要在對(duì)應(yīng)的主機(jī)中分別安裝支持Oracle數(shù)據(jù)庫模塊和SQL Server數(shù)據(jù)庫模塊的備份代理。對(duì)于不同的操作系統(tǒng),也需要安裝相應(yīng)的備份代理。存儲(chǔ)服務(wù)器可以將關(guān)鍵數(shù)據(jù)存儲(chǔ)在存儲(chǔ)設(shè)備,如磁盤陣列、虛擬帶庫、物理帶庫,負(fù)責(zé)存儲(chǔ)中備份數(shù)據(jù)的讀取和寫入。Web服務(wù)器為管理員提供Web管理界面。目前主流的備份軟件不僅有商用的IBM TSM、CommVault、Symantec NetBackup、HP DP等產(chǎn)品,而且還有開源的備份軟件Amanda[10]、Bacula等產(chǎn)品。
3 云計(jì)算對(duì)傳統(tǒng)備份技術(shù)帶來的挑戰(zhàn)
云計(jì)算技術(shù)在IT基礎(chǔ)建設(shè)的引入,可減少硬件資源浪費(fèi),提高系統(tǒng)部署的速度,但也為備份帶來了新的需求。
(1)虛擬機(jī)備份代理。在存儲(chǔ)中為虛擬機(jī)分配的空間,以虛擬機(jī)文件格式方式如.vmdk存儲(chǔ),虛擬機(jī)操作系統(tǒng)文件、用戶數(shù)據(jù)放置在這個(gè)vmdk文件中。如果按照傳統(tǒng)備份方式,要備份虛擬機(jī)中的系統(tǒng)和用戶數(shù)據(jù),就需要在每臺(tái)虛擬機(jī)中安裝備份代理。這種方式在占用大量的存儲(chǔ)資源的同時(shí),發(fā)起備份時(shí)也會(huì)占用大量的計(jì)算資源,從而影響虛擬機(jī)性能。
(2)空白數(shù)據(jù)的空間占用。在分配虛擬機(jī)時(shí),精簡模式下的虛擬硬盤根據(jù)所需數(shù)據(jù)量的大小占用存儲(chǔ)空間。虛擬硬盤空間隨虛擬機(jī)數(shù)據(jù)量增加而變大后,在虛擬機(jī)中刪除的數(shù)據(jù)并不會(huì)減少虛擬硬盤的空間大小,這樣就造成大量空白數(shù)據(jù)占用了存儲(chǔ)空間。如果對(duì)虛擬機(jī)的備份只是簡單復(fù)制虛擬硬盤文件,就會(huì)出現(xiàn)備份中的有效數(shù)據(jù)少的問題。
(3)數(shù)據(jù)冗余程度高。在虛擬機(jī)中,往往安裝大量相同的操作系統(tǒng)、應(yīng)用程序,這部分?jǐn)?shù)據(jù)高度相同,如果直接通過安裝在每臺(tái)虛擬機(jī)中的備份代理來備份數(shù)據(jù),則會(huì)造成大量的冗余,浪費(fèi)存儲(chǔ)空間。
(4)備份顆粒度過大。通過虛擬化平臺(tái)自帶的虛擬化接口可以備份和恢復(fù)整臺(tái)虛擬機(jī),但往往需要備份的數(shù)據(jù)只是虛擬機(jī)中的部分用戶數(shù)據(jù),而不是完整的虛擬機(jī)。虛擬機(jī)級(jí)的顆粒度會(huì)拖慢備份恢復(fù)速度,消耗大量的存儲(chǔ)空間。此外,這種方式也無法感知應(yīng)用,難以保證數(shù)據(jù)的一致性。
基于上述情況,傳統(tǒng)的備份方式已經(jīng)不適應(yīng)云計(jì)算時(shí)代的數(shù)據(jù)備份,亟需針對(duì)云計(jì)算的數(shù)據(jù)備份技術(shù)。
4 云計(jì)算環(huán)境的備份技術(shù)
4.1 基于云計(jì)算的備份技術(shù)
在云計(jì)算環(huán)境下,調(diào)用VMWare在數(shù)據(jù)存儲(chǔ)方面的接口,可以有效地解決虛擬機(jī)的備份難題。
(1)無代理備份。VMWare開放了VADP(vStorage
APIs for Data Protection,用于數(shù)據(jù)保護(hù)的虛擬存儲(chǔ)應(yīng)用程序編程接口)的數(shù)據(jù)保護(hù)存儲(chǔ)接口。備份軟件調(diào)用VADP,即可與集成在vCenter中的vStorage for Data Protection模塊通信,對(duì)每臺(tái)虛擬機(jī)都實(shí)現(xiàn)不需要第三方備份代理的備份,從而減少備份對(duì)虛擬機(jī)計(jì)算資源的消耗。
(2)數(shù)據(jù)塊修改跟蹤。VMWare提供的VMKernel
級(jí)技術(shù)CBT(Change Block Tracking,數(shù)據(jù)塊修改跟蹤)可以判斷在最后一次快照后是否有虛擬機(jī)數(shù)據(jù)塊被修改,并標(biāo)記被修改的數(shù)據(jù)。備份軟件調(diào)用VADP接口,即可備份被修改的增量數(shù)據(jù),而不需要對(duì)虛擬機(jī)文件做完全備份。
(3)文件級(jí)備份恢復(fù)。VMWare FLR(File Level Recovery,文件級(jí)恢復(fù))提供了瀏覽和裝載虛擬機(jī)備份數(shù)據(jù)的功能。通過備份軟件,調(diào)用VADP的FLR功能,可以實(shí)現(xiàn)對(duì)虛擬機(jī)的文件級(jí)顆粒度管理,而不需要做虛擬機(jī)級(jí)別的備份。
(4)重復(fù)數(shù)據(jù)刪除。傳統(tǒng)的重復(fù)數(shù)據(jù)刪除常使用固定數(shù)據(jù)塊或者固定長度數(shù)據(jù)段等技術(shù)進(jìn)行重刪,但這種方式存在著即使數(shù)據(jù)集發(fā)生了非常小的改動(dòng),都會(huì)導(dǎo)致整個(gè)固定長度數(shù)據(jù)段的更改,從而不被識(shí)別為冗余數(shù)據(jù)。對(duì)于虛擬機(jī)的重復(fù)數(shù)據(jù)刪除技術(shù),常采用可變長度數(shù)據(jù)段。VMWare VDP(vSphere Data Protection,vSphere數(shù)據(jù)保護(hù))技術(shù)能夠分析數(shù)據(jù)集的二進(jìn)制數(shù)據(jù)結(jié)構(gòu),確定數(shù)據(jù)段的邊界,且適用于不同類型和體積的文件,從而實(shí)現(xiàn)智能化的重復(fù)數(shù)據(jù)刪除。
(5)vCenter集成。備份軟件以vCenter插件的形式集成到vCenter的管理界面中,方便vCenter管理員管理虛擬機(jī)的備份,而不需要到專門的備份軟件中處理。
(6)應(yīng)用感知。對(duì)于虛擬機(jī)中安裝的SQL Server、
Exchange、SharePoint、Active Direct等應(yīng)用系統(tǒng),可以通過在這些應(yīng)用所在的虛擬機(jī)中安裝VDP客戶端,即可實(shí)現(xiàn)來賓級(jí)細(xì)粒度的管理,從而實(shí)現(xiàn)對(duì)虛擬機(jī)中的應(yīng)用感知。
4.2 重復(fù)數(shù)據(jù)刪除
對(duì)VMWare vSphere虛擬化環(huán)境,使用重復(fù)數(shù)據(jù)刪除技術(shù),對(duì)其中的30臺(tái)虛擬機(jī)總共1053GB容量的虛擬硬盤進(jìn)行全備份。在自動(dòng)識(shí)別并剔除空白空間后,需要備份的數(shù)據(jù)只剩下虛擬硬盤數(shù)據(jù)的76.5%。而在使用重復(fù)數(shù)據(jù)刪除進(jìn)行消重后,實(shí)際寫入存儲(chǔ)空間的數(shù)據(jù)只有源數(shù)據(jù)的29.4%,因此實(shí)際重刪比為70.6%。重復(fù)數(shù)據(jù)刪除技術(shù)可大大減少虛擬機(jī)備份所需要消耗的存儲(chǔ)空間,具體如圖2所示。
初次全備份需要數(shù)小時(shí)的時(shí)間。在虛擬機(jī)進(jìn)行數(shù)據(jù)讀寫操作,增加少量用戶數(shù)據(jù),此時(shí)再做全備份,備份時(shí)間可縮短到數(shù)分鐘。這是由于調(diào)用了VMWare的CBT技術(shù),使備份數(shù)據(jù)僅為修改的部分?jǐn)?shù)據(jù),從而加快了備份速度,減少了網(wǎng)絡(luò)流量和備份數(shù)據(jù)量。
5 結(jié)束語
本文研究了傳統(tǒng)IT基礎(chǔ)架構(gòu)下的備份技術(shù),包括操作系統(tǒng)、數(shù)據(jù)庫和文件系統(tǒng)等3種主要備份對(duì)象,總結(jié)了利用自帶工具、存儲(chǔ)硬件、備份軟件和備份一體機(jī)等常見備份方式,描述了備份軟件的架構(gòu),并分析了傳統(tǒng)備份方式在云計(jì)算時(shí)代遇到的問題。在此基礎(chǔ)上,研究了云計(jì)算環(huán)境下的備份技術(shù),并指出了無代理備份、數(shù)據(jù)塊修改跟蹤、文件級(jí)備份恢復(fù)、重復(fù)數(shù)據(jù)刪除、vCenter集成、應(yīng)用感知等關(guān)鍵技術(shù)。在實(shí)際虛擬化環(huán)境中,證明了重復(fù)數(shù)據(jù)刪除和數(shù)據(jù)塊修改跟蹤等技術(shù)的有效性,為電信運(yùn)營商在云計(jì)算環(huán)境下的數(shù)據(jù)備份提供了參考。
參考文獻(xiàn):
[1] 鮑明曦,朱源,鄧麗華. MSS全網(wǎng)集中建設(shè)助推集約化運(yùn)營[J]. 通信企業(yè)管理, 2013(12): 75.
[2] 田熙清,陳泳,胡穎茂. IT支撐系統(tǒng)技術(shù)架構(gòu)的去電信化思考[J]. 移動(dòng)通信, 2014(5): 68-74.
[3] 張效斌. 備份系統(tǒng)在云中心的部署與應(yīng)用[J]. 電腦知識(shí)與技術(shù), 2013(29): 6530-6532.
[4] 宮婷. 計(jì)算機(jī)數(shù)據(jù)庫的備份與恢復(fù)技術(shù)研究[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用, 2013(21): 155.
[5] 肖克輝. 文件系統(tǒng)備份中目錄樹處理算法設(shè)計(jì)與實(shí)現(xiàn)[D]. 廣州: 中山大學(xué), 2005.
[6] 張?jiān)品? Oracle數(shù)據(jù)庫備份與恢復(fù)策略[J]. 計(jì)算機(jī)工程, 2009(15): 85-87.
[7] 鄔文軒,胡曉勤. 一種基于MySQL Innodb數(shù)據(jù)引擎的增備方法[J]. 計(jì)算機(jī)安全, 2013(5): 30-33.
[8] 楊寧. 基于B/S模式的Linux備份系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 廣州: 中山大學(xué), 2008.
[9] 吳佳. 備份服務(wù)器的關(guān)鍵技術(shù)研究和實(shí)現(xiàn)[D]. 武漢: 華中科技大學(xué), 2008.
[10] 張媛. 企業(yè)級(jí)開源備份軟件在圖書館數(shù)據(jù)中心的應(yīng)用[J]. 圖書館學(xué)刊, 2014(9): 127-130.