隨著計算機技術(shù)的快速發(fā)展,保障數(shù)據(jù)的完整性變得越來越重要。德州大學的研究結(jié)果表明,一旦關(guān)鍵業(yè)務數(shù)據(jù)丟失,可能引起34%的公司立即倒閉,51%的公司在兩年內(nèi)倒閉,所以構(gòu)建完善的數(shù)據(jù)保護系統(tǒng)是近年來研究的熱點。多版本備份是保護數(shù)據(jù)最有效最常用的方案,面對海量數(shù)據(jù)的增長,PB級的海量存儲需求越來越普遍,企業(yè)和個人迫切需要大量的空間來備份數(shù)據(jù)。云備份是一個很好的解決方案,可以滿足企業(yè)和個人海量數(shù)據(jù)備份的需求。目前云備份系統(tǒng)仍屬于起步階段,盡管其實現(xiàn)架構(gòu)沒有統(tǒng)一標準,但國內(nèi)外少數(shù)公司已提供了相關(guān)產(chǎn)品:微軟的Azure Storage 是一種能提供塊級數(shù)據(jù)備份服務的云備份產(chǎn)品,但其只支持單一快照節(jié)點,用戶只能恢復到最后一次上傳數(shù)據(jù)的狀態(tài),恢復丟失的數(shù)據(jù)量(Recovery Point Objective,RPO)取決于網(wǎng)絡質(zhì)量,而且目標恢復時間點局限性太大,遠不能滿足用戶需求;EMC和上海電信合作開發(fā)的產(chǎn)品“e 云”,雖然支持多快照節(jié)點備份,可供用戶選擇的恢復目標時間點不再是單一的,但其仍然采用傳統(tǒng)備份方法,即根據(jù)用戶設(shè)定的備份時間間隔,定期進行數(shù)據(jù)備份,粒度為分鐘,若磁盤陣列的寫速率為500 MB/s,1 分鐘能夠存儲的數(shù)據(jù)大約是30 GB,因此最多只能恢復到1 分鐘前的數(shù)據(jù)狀態(tài),即RPO≈30 GB。針對目前云備份產(chǎn)品的缺陷,本文提出一種支持連續(xù)數(shù)據(jù)保護的云備份系統(tǒng)(Continuous DataProtection Cloud Backup,CDP-CB),該系統(tǒng)以私有云架構(gòu)為基礎(chǔ),引入連續(xù)數(shù)據(jù)保護技術(shù),徹底打破了傳統(tǒng)以時間間隔為基礎(chǔ)的周期性備份方案,主動截獲每個時刻的數(shù)據(jù)更新并立即將其備份,備份數(shù)據(jù)的時間是連續(xù)的,不再有時間空隙,能夠提供秒級的連續(xù)恢復時間點,RPO≈0,具有更高的可靠性和可用性。
1 CDP-CB系統(tǒng)關(guān)鍵技術(shù)
CDP-CB 系統(tǒng)是一種基于私有云架構(gòu)的數(shù)據(jù)備份和防護系統(tǒng),通過引入連續(xù)數(shù)據(jù)保護技術(shù),實現(xiàn)了比Azure Storage和“e”云更完善的云備份功能,主要包含兩個關(guān)鍵技術(shù):連續(xù)數(shù)據(jù)保護技術(shù)和云備份技術(shù)。
1.1 連續(xù)數(shù)據(jù)保護技術(shù)
連續(xù)數(shù)據(jù)保護技術(shù)(Continuous Data Protection,CDP)是一種最高形式的數(shù)據(jù)保護技術(shù),對任何引起數(shù)據(jù)丟失的故障或者災難都具有保護能力,比如病毒侵襲、地震、火災等,都可以確保業(yè)務數(shù)據(jù)不丟失。按照存儲網(wǎng)絡行業(yè)協(xié)會(StorageNetworking Industry Association,SNIA)的定義,所謂的連續(xù)數(shù)據(jù)保護技術(shù)是指連續(xù)捕捉和保存數(shù)據(jù)狀態(tài)的變化,并將變化后的數(shù)據(jù)獨立保存在原始數(shù)據(jù)之外,從而允許將數(shù)據(jù)恢復到過去任意時間點的狀態(tài)。它打破了傳統(tǒng)數(shù)據(jù)保護方案的周期性備份以及離散的可恢復時間點的缺陷,真正將數(shù)據(jù)丟失量降到最低,即RPO≈0。
目前已有的云備份系統(tǒng),比如“e”云,給用戶提供多個恢復目標時間點,但由于其仍然采用傳統(tǒng)的周期性備份方案,即每隔一段時間對業(yè)務數(shù)據(jù)進行備份,使得恢復目標時間點不連續(xù)且恢復粒度太粗,如果發(fā)生故障或災難,會造成部分業(yè)務數(shù)據(jù)丟失。為了解決以上問題,在云備份系統(tǒng)中引入連續(xù)數(shù)據(jù)保護技術(shù),實時地將客戶端每一次數(shù)據(jù)更新保存到云備份服務器中,并能夠?qū)崿F(xiàn)任意歷史時間點的恢復,保證在發(fā)生各種故障或者災難的情況下用戶數(shù)據(jù)都不會丟失,確保業(yè)務數(shù)據(jù)的連續(xù)性,提高云備份系統(tǒng)的可用性。此外,按照CDP捕捉更新數(shù)據(jù)的層次可分為[3]:塊級CDP、文件級CDP 和應用級CDP,其中對于文件級CDP,不同的文件系統(tǒng)需要做不同的設(shè)計,應用級CDP是嵌入具體的應用軟件當中,而塊級CDP部署在文件系統(tǒng)下層,可以屏蔽異構(gòu)文件系統(tǒng)。CDP-CB系統(tǒng)采用塊級的連續(xù)數(shù)據(jù)保護技術(shù),具有更加廣泛的應用前景。
1.2 云備份技術(shù)
云備份是云存儲的一個特殊運用,都是為了保存客戶端的業(yè)務數(shù)據(jù),只是數(shù)據(jù)類型有差異,云備份保存的是備份數(shù)據(jù),云存儲保存的是原始數(shù)據(jù)。云備份實現(xiàn)的技術(shù)方案與云存儲類似,也是通過集群應用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等技術(shù),將網(wǎng)絡中大量各種不同類型的存儲設(shè)備通過應用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和備份功能。按照云備份中數(shù)據(jù)的規(guī)模可將云分為3 類:私有云、公有云和混合云。其中私有云的應用通常部署在一個區(qū)域或者企業(yè)的防火墻內(nèi)部,服務質(zhì)量(Quality of Service,QoS)非常穩(wěn)定,不會受到網(wǎng)絡不穩(wěn)定的影響,因而能夠提供對數(shù)據(jù)安全和服務質(zhì)量的最有效控制。比起公有云和混合云,私有云具有部署快速、成本低廉的優(yōu)勢,并能夠提供更加安全可靠的備份服務。云備份架構(gòu)有以下兩種方案:緊耦合對稱(Tightly CoupledSymmetric,TCS)架構(gòu)和松散耦合非對稱(Loose Coupling Asymmetric,LCA)架構(gòu)[4]。TCS架構(gòu)不存在集中管理的節(jié)點,是通過執(zhí)行某種策略來使每個節(jié)點知道自己所要執(zhí)行的操作,利用分布式鎖管理共享數(shù)據(jù),適合于單文件I/O 操作頻繁的系統(tǒng);LCA架構(gòu)有一個統(tǒng)一管理所有節(jié)點的中央元數(shù)據(jù)控制服務器,所有的操作命令都是通過該服務器發(fā)出,通過利用虛擬化技術(shù)進行系統(tǒng)擴展和調(diào)整。CDP-CB 系統(tǒng)的主要職能是備份用戶的更新數(shù)據(jù),并允許任意時間點的恢復,沒有頻繁的單文件I/O 操作,所以采用LCA架構(gòu)更有利于系統(tǒng)動態(tài)管理和控制。綜上,CDP-CB系統(tǒng)采用基于LCA的私有云備份架構(gòu)。
2 CDP-CB系統(tǒng)工作原理
2.1 CDP-CB系統(tǒng)整體框架
CDP-CB系統(tǒng)按照地域劃分為本地客戶端和云備份端,二者通過iscsi協(xié)議傳輸數(shù)據(jù),其整體框架如圖1。
本地客戶端是家庭用戶或者企業(yè)用戶的總稱,以卷(volume)為保護單位,安裝完客戶端軟件之后,會自動加載CDP客戶端代理模塊(CDP proxy),該模塊的詳細功能在2.2 節(jié)介紹。此外,在客戶機的磁盤管理中會多出一個虛擬日志卷(Virtual Log Volume),該卷初始大小為0,用戶通過付費機制向云備份端申請備份空間,虛擬日志卷大小會隨著空間申請自動擴容。云備份端是由一系列的服務器(Server)組成,這些服務器利用局域網(wǎng)(LAN)互聯(lián),按照職能劃分為元數(shù)據(jù)服務器和CDP備份服務器。元數(shù)據(jù)服務器存儲了客戶端信息和節(jié)點的空間、狀態(tài)等信息,并利用集群技術(shù)、虛擬機技術(shù)來管理云備份端的節(jié)點,包括節(jié)點的加入、撤銷、空間擴容等;CDP備份服務器利用虛擬化技術(shù)將異構(gòu)的存儲介質(zhì)組織成存儲池,按用戶需求劃分指定大小的空間,并將客戶端的更新數(shù)據(jù)以日志的形式保存在所屬空間中,存儲池中不同的空間劃分被稱為日志卷。每個CDP備份服務器也有一個CDP服務器代理模塊(CDP proxy),詳情見2.2節(jié)。
圖1 支持連續(xù)數(shù)據(jù)保護的云備份系統(tǒng)整體框架圖
2.2 CDP-CB系統(tǒng)結(jié)構(gòu)
CDP-CB系統(tǒng)捕獲本地客戶端的更新數(shù)據(jù),將其整合之后保存到云備份端,其詳細結(jié)構(gòu)如圖2所示。
圖2 支持連續(xù)數(shù)據(jù)保護的云備份系統(tǒng)結(jié)構(gòu)圖
圖2 按照備份數(shù)據(jù)(Data)流向設(shè)計,其核心模塊包括:本地客戶端的CDP 過濾驅(qū)動和CDP proxy,服務器端的元數(shù)據(jù)管理模塊、iscsi 控制管理模塊、CDP proxy 和重復數(shù)據(jù)刪除模塊、備份數(shù)據(jù)管理模塊和數(shù)據(jù)存儲模塊。下面介紹各模塊的具體職能:
CDP 過濾驅(qū)動:該模塊是CDP-CB 系統(tǒng)實現(xiàn)連續(xù)數(shù)據(jù)保護技術(shù)的基礎(chǔ),CDP過濾驅(qū)動處在文件系統(tǒng)下層,硬件設(shè)備上層,可以屏蔽異構(gòu)文件系統(tǒng),即CDP-CB系統(tǒng)可以構(gòu)建在擁有不同文件系統(tǒng)的客戶端上。文件系統(tǒng)通過給設(shè)備分發(fā)Irp(Input/output Request Packet,Irp)的方式來完成寫操作,該模塊利用自己創(chuàng)建的虛擬塊設(shè)備來捕獲客戶端被保護卷每個時刻的數(shù)據(jù)更新請求(Irp),并負責將Irp 整合成日志記錄,即加上時間、位置和塊大小等標簽,然后傳遞到下一個模塊。CDP proxy:CDP的客戶端代理模塊,相當于一個高級緩存,負責臨時保存CDP過濾驅(qū)動傳下來的日志記錄以及其他控制信息。為了保證系統(tǒng)性能,通常采用SSD 設(shè)備作為CDPproxy。該模塊可以用來處理一些基本故障,比如:在備份數(shù)據(jù)的過程中,斷網(wǎng)或者客戶端意外掉電,當系統(tǒng)恢復正常時,利用緩存在CDP proxy 設(shè)備上的日志記錄,系統(tǒng)可以自動繼續(xù)未完成的備份任務。
虛擬日志卷:該日志卷是云備份端通過iscsi 映射的虛擬卷,與云備份端的日志卷是相對應的,只是用戶對該卷并不擁有讀寫操作權(quán)限,僅可以訪問該卷的屬性信息。
iscsi 控制管理模塊:該模塊通過維護一張由客戶端IP和CDP備份服務器IP 組成的地址映射表,來實現(xiàn)IP 轉(zhuǎn)換。iscsi控制管理模塊通過元數(shù)據(jù)管理模塊建立地址映射表,在備份過程中,當接收到客戶端發(fā)來傳輸消息時,iscsi 控制管理模塊通過查找地址映射表獲取對應的CDP備份服務器IP,并將消息轉(zhuǎn)發(fā)給實際存儲備份數(shù)據(jù)的CDP備份服務器;在恢復過程中,CDP備份服務器將恢復數(shù)據(jù)發(fā)送至iscsi 控制管理模塊,該模塊查找地址映射表獲得客戶端的IP,再轉(zhuǎn)發(fā)給相應客戶端。以上所有操作對客戶端都是透明的,是CDP-CB系統(tǒng)實現(xiàn)真正云備份的關(guān)鍵。
用戶身份認證:用戶在最初使用該服務、申請擴容或者恢復時需要核對用戶的身份,保證能夠建立安全的數(shù)據(jù)傳輸鏈路。
元數(shù)據(jù)管理模塊:是云備份端的核心管理模塊,負責管理云備份端的CDP備份服務器(node),不保存不變的node 記錄,而是通過定期HeartBeat 消息[5]和每個node 通信,搜集node 的狀態(tài)信息,包括:活躍狀態(tài)、負載情況、垃圾塊處理情況等。如果有某個node 失活,就嘗試進行激活或者更換node。借助校驗和,檢測node 上數(shù)據(jù)的完整性,一旦檢測到數(shù)據(jù)被破壞,如果該數(shù)據(jù)有副本,則將某個副本作為主node,并利用該副本來恢復原node 的錯誤數(shù)據(jù)。按照存儲數(shù)據(jù)可靠性程度將空間租賃分為低、中、高3 個檔次,分別對應的副本數(shù)量為1、2、3。在用戶提出空間租賃申請時,需要元數(shù)據(jù)管理模塊(Master)對此作出響應,首先分析每個node 的負載情況,按照用戶要求的可靠性程度,將負載較小的m(副本數(shù)量)個node 的相應空間租給客戶端,并給客戶端返回成功租賃消息,在Master 中保存本次租賃記錄以及修改該node 的空間分配信息;當用戶開始正常備份數(shù)據(jù)就無需Master 參與了,node 自己制定空間管理策略,數(shù)據(jù)在日志卷中的位置由node 自己指定,如果有對應的其他副本,則在寫完主node 之后,將數(shù)據(jù)發(fā)送到其他副本;當用戶提出空間退訂申請時,Master負責修改有關(guān)該用戶的租賃信息,釋放node 的空間,并給客戶端返回成功退訂消息。另外,考慮到Master 容易產(chǎn)生單點失效,則為了保障系統(tǒng)的高安全性,Master需要被遠程備份,這部分功能并未在圖2中顯示。
CDP proxy:CDP 服務器端代理,功能與客戶端的CDPproxy 類似,也是用來緩存日志記錄,提高備份速率。
重復數(shù)據(jù)刪除模塊:為了降低成本,提供給用戶更加低廉的服務,CDP-CB 系統(tǒng)引入了重復數(shù)據(jù)刪除技術(shù)。將CDPproxy 中的數(shù)據(jù)按照固定大小分塊,利用sha-1 算法計算每個塊的指紋值[6],相同指紋表示重復數(shù)據(jù),在介質(zhì)上只保存一份,其他保存指針。該模塊不僅提高介質(zhì)利用率,而且減少了大量的寫操作,提高了系統(tǒng)效率。
備份數(shù)據(jù)管理層:負責管理單個node 中不同客戶端對應日志卷的使用情況,包括下一個要寫的位置、剩余空閑空間等。數(shù)據(jù)存儲層:利用虛擬化技術(shù)將不同類型、不同特性的異構(gòu)存儲資源整合成統(tǒng)一的存儲空間,從而實現(xiàn)了對存儲資源的充分利用和有效規(guī)劃,負責處理存儲介質(zhì)的動態(tài)加入和撤銷。
2.3 CDP-CB系統(tǒng)工作流程
按照CDP-CB 系統(tǒng)結(jié)構(gòu)(2.2 節(jié))中Irp 的傳輸路徑總結(jié)數(shù)據(jù)備份、恢復流程:
備份流程:Irp 首先被CDP 過濾驅(qū)動截獲,整合成日志記錄傳給CDP proxy,之后Irp 被提交到本地存儲介質(zhì)上并向上層返回成功,此時完成了一次寫請求,開始接收處理下一個Irp。為了降低備份對上層應用的影響因子,備份過程采用異步方式,即不等云備份端發(fā)送成功備份消息,客戶端就開始處理下一個Irp。在Irp 被提交到本地存儲介質(zhì)的同時,日志記錄再次被封裝(加上客戶端地址,便于云備份端辨識),通過iscsi協(xié)議傳輸?shù)皆苽浞荻说膇scsi 控制管理模塊,該模塊通過查找地址映射表獲得客戶端對應node 的IP,將消息轉(zhuǎn)發(fā)給CDPproxy 模塊。CDP proxy 模塊將緩存的日志記錄再提交給重復數(shù)據(jù)刪除模塊,針對不同客戶端的日志記錄進行獨立的重復數(shù)據(jù)刪除操作,把需要保存的日志記錄或者指針傳遞到備份數(shù)據(jù)管理層。通過查詢對應客戶端的日志空間,確定下一個要寫的位置,將數(shù)據(jù)提交到數(shù)據(jù)存儲層中對應的日志卷執(zhí)行寫操作。至此一次備份操作執(zhí)行完畢,備份指針前移,開始備份下一個Irp。
恢復流程:用戶利用客戶端軟件指定恢復目標時間點,向云備份端發(fā)出恢復請求,CDP過濾驅(qū)動自動收回用戶對被保護卷的寫權(quán)限。云備份端首先通過用戶身份認證模塊驗證用戶身份,然后元數(shù)據(jù)管理模塊查詢客戶端備份數(shù)據(jù)是存放在哪個node 中,并檢測node 上的數(shù)據(jù)是否被破壞。如果數(shù)據(jù)完整,則通知該node 開始恢復;否則若有其他副本,則先確定可用副本,再通知副本node 開始恢復。node 中備份數(shù)據(jù)管理模塊確定客戶端備份數(shù)據(jù)的日志卷位置,并利用恢復算法確定有效的恢復數(shù)據(jù),將恢復數(shù)據(jù)按照固定大小發(fā)送至iscsi 控制管理模塊,再由該模塊轉(zhuǎn)發(fā)給客戶端。成功恢復后,CDP-CB系統(tǒng)自動轉(zhuǎn)為正常備份狀態(tài),用戶重新獲取對被保護卷的寫權(quán)限。
3 實驗結(jié)果
在實驗室搭建了小規(guī)模的CDP-CB系統(tǒng),云備份端是由1臺元數(shù)據(jù)服務器和6 臺CDP備份服務器組成,且每臺CDP備份服務器下端掛著高端磁盤陣列;客戶端是由2 臺windows 主機組成;客戶端和云備份端采用千兆以太網(wǎng)連接。為了簡化測試內(nèi)容,本文只對其中1 臺客戶機進行了正確性驗證實驗和必要的性能測試,測試內(nèi)容包括CDP-CB系統(tǒng)的備份速率、恢復速率和恢復數(shù)據(jù)的正確性驗證實驗,如圖3,利用iometer 工具測試了備份對順序?qū)懀?00%順序,100%寫)的影響因子,如圖4。
圖3 表明CDP-CB系統(tǒng)的備份速率的平均水平為4 MB/s,恢復速率的平均水平為11 MB/s,系統(tǒng)的性能是比較高的。此外,對恢復出來的數(shù)據(jù)計算MD5 指紋值,驗證恢復數(shù)據(jù)的正確性,結(jié)果表明CDP-CB系統(tǒng)可以正確恢復到歷史任意時刻的數(shù)據(jù)狀態(tài),由于受篇幅限制,相關(guān)測試數(shù)據(jù)未在本文展示。
圖3 備份/恢復速率
圖4 順序?qū)懹绊懸蜃?/p>
影響因子的計算方法是:(無備份軟件順序?qū)懰俾剩袀浞蒈浖樞驅(qū)懰俾剩?無備份軟件順序?qū)懰俾剩脕肀碚骺蛻舳藬?shù)據(jù)備份對普通寫操作的影響。CDP-CB 系統(tǒng)采用異步備份方式,大大減弱備份對客戶端上層應用的性能影響,由圖4 可見影響因子在15%~45%區(qū)間內(nèi)波動,是一個比較理想的范圍。
4 結(jié)束語
著眼于目前云備份系統(tǒng)恢復目標時間點不連續(xù)以及恢復粒度太粗的問題,將連續(xù)數(shù)據(jù)保護技術(shù)應用到云備份中,提出支持連續(xù)數(shù)據(jù)保護的云備份系統(tǒng)(CDP-CBS)。CDP-CB 系統(tǒng)能夠提供秒級的連續(xù)恢復時間點,且RPO≈0。過濾驅(qū)動是數(shù)據(jù)塊級別的,可屏蔽異構(gòu)文件系統(tǒng),具有廣泛的應用前景。引入重復數(shù)據(jù)刪除技術(shù)大大降低了系統(tǒng)成本,從而為用戶提供更低廉的服務。當然,該系統(tǒng)仍然存在很多不足,需要在下一步的研究中完善,比如:身份認證機制的完善、異步復制模式的數(shù)據(jù)正確性保證、系統(tǒng)容錯機制及云備份端控制信息同步機制建立等。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領(lǐng)域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文標題:支持連續(xù)數(shù)據(jù)保護的云備份系統(tǒng)架構(gòu)設(shè)計
本文網(wǎng)址:http://www.guhuozai8.cn/html/consultation/1083972888.html