面向分布式文件系統的可擴展數據快照科技論文
引言
隨著信息的全球化,互聯網產業得到迅速地發展,其在科學研究、數據挖掘和信息獲取等方面的廣泛應用,使人類需要存儲和管理越來越多的數據,進而出現數據爆炸的現象。2012年12月,IDC公司的全球數據分析報告如圖1,預計2020年全球數據總量將由2012年的2.72ZB增長至40ZB,并且40%的數據需要保證其安全性。然而,受硬件設備失效、火災、地震自然災害等因素的影響,數據的安全性和可靠性受到嚴重威脅。在這個數據即信息,數據即價值的大數據時代,如何保證數據的安全性和完整性成為當前存儲領域越來越重要的問題。
1 目前主流快照技術
本章首先介紹目前主流的快照創建技術,包括鏡像分裂、按需復制、指針重映射和增量快照技術,并分別分析其優缺點;然后介紹目前基于增量快照的快照恢復方法;最后為了降低空間、時間開銷和提高系統可擴展性,提出快照創建和快照恢復需要改進的問題。
1.1 快照創建1.1.1 鏡像分裂快照技術鏡像分裂技術在快照時間點到來之前需要為源數據卷創建并維護一個完整的物理鏡像卷,同一數據的兩個副本分別保存在由源數據卷和鏡像卷組成的鏡像對上?煺詹僮鞯絹頃r,鏡像操作停止,鏡像卷轉化為快照卷,得到一份數據快照,快照卷在完成數據備份后,與源數據卷再次同步,重新成為鏡像卷。鏡像分裂技術雖然在短時間內(斷開鏡像對所需的時間)就可以得到一個完整的物理副本,但其缺乏靈活性,需要預先為源數據卷創建鏡像卷,無法在任意時間點為任意的數據卷創建快照,并且其占用大量的存儲資源,會造成存儲空間的浪費。
1.1.2 按需復制快照技術[12-14]按需復制技術在快照時間點之后開始建立源數據卷的完整物理副本。系統接收到快照請求,暫停上層應用,接著為源數據卷創建快照卷,并為其分配大于或等于源數據卷容量的存儲空間,同時建立一個控制位圖,該控制位圖的每一個控制位表示源數據卷的一個單位(通常為數據塊)是否已經復制到快照卷,快照操作完成,恢復上層應用?煺战⒅,后臺復制程序開始運行,將源數據卷的數據塊復制到快照卷,并將對應的控制位圖位置1,表示該數據塊完成復制。在此過程中,當源數據卷上某數據要被更新時,若該數據塊尚未完成復制,則這些塊將執行寫前復制COW(首先被復制到快照卷,同時將對應的控制位圖置1,然后才能更新源數據卷的數據);若該塊已完成復制,則直接更新數據。按需復制快照技術的工作原理如圖2所示: 圖2 按需復制快照技術工作原理寫前復制技術確保復制操作發生在更新操作之前,使快照時間點之后的數據更新不會出現在快照卷上,保證了數據的完整性。通過后臺復制和寫前復制技術,最終源數據卷的數據會被復制到快照卷,得到源數據卷的完整物理副本。
1.1.3 指針重映射技術[12-14]指針重映射技術建立一份快照時刻源數據卷的邏輯副本,不會產生完整的物理副本。該技術只需分配少量的快照空間,存儲快照時間點之后被更新的數據,每個源數據卷都有一個數據指針表,該指針表中記錄的`數量等于源數據卷的數據塊數量,每條記錄保存著指向對應數據塊的指針。快照創建時,為源數據卷的指針表建立一個副本,作為快照卷的數據指針表,快照時間點結束時,快照卷和源數據卷通過各自的指針表共享同一份物理數據。 圖3 指針重映射技術工作原理快照創建之后,當源數據卷中的某數據將要被更新時,使用寫前復制技術,將要更新的數據寫至預先分配的存儲空間,然后修改快照卷的數據指針表使其指向該存儲空間的數據塊。指針重映射技術工作原理如圖3所示:指針重映射技術的備份窗口只需幾秒鐘,為快照卷分配的存儲空間卻大大減小。
但因為快照卷僅僅保存了源數據卷中被更新的數據,快照技術無法得到完整的物理副本,且若更新的數據數量超過預先分配的存儲空間,快照將失效。
1.1.4 增量快照技術增量快照是基于按需復制的快照技術,因此能夠產生各個連續時間點的完整物理副本,同時結合重映射技術只復制更改數據塊的思想,減少了數據的物理復制工作量。在第一個快照時間點,除了分配一個大于或等于源數據容量的快照卷并建立控制位圖之外,同時還建立一個增量位圖,增量位圖用于記錄自上次時間點的快照創建之后,源數據卷上被更新的數據塊的位置。通過查詢控制位圖,執行后臺復制和寫時復制,同時利用增量位圖記錄快照時間點之后源數據卷上被更新的數據塊位置。當需要創建B時間點的快照時,用前一快照時間點的控制位圖與此時的增量位圖進行XOR操作,產生快照時間點B的控制位圖,同時將增量位圖置0,開始記錄時間點B之后被更新的數據塊,其工作原理如圖4所示: 圖4 增量快照工作原理快照時間點A時一部分數據已經拷貝至快照卷,同時增量位圖記錄了自快照時間點A后源數據卷被修改的數據塊,當創建時間點B的快照時,可以通過查看增量位圖,然后與A的控制位圖XOR,即得B處的控制位圖,即B時間點需要存儲的數據,同時增量位圖置0,記錄時間點B后被更新的數據塊。
1.1.5 快照技術總結如表1所示,鏡像分裂技術雖然備份窗口僅為斷開鏡像對的時間,但每次需要完全復制數據,浪費存儲空間,且缺乏靈活性。按需復制技術雖然可得到完整的數據副本,但空間開銷大并且后臺復制影響系統性能。指針重映射技術雖然只復制被更新的數據塊,但無法得到完整的物理副本。增量快照技術可以實現連續時間點的快照,并且在快照時間點只需要復制更改的數據塊,從時間和空間的角度綜合考慮,明顯優于其他快照技術。然而,在分布式文件系統中,增量快照的空間開銷隨著系統規模的增大,仍然會比較大,因此需要進一步改進,以節約空間開銷,提高系統可擴展性。表1 快照技術總結
1.2 快照恢復快照恢復與快照創建具有一一對應關系,對主流在分布式文件系統中,隨著數據量的增大和快照版本的增多,需要恢復的數據塊數也急劇增多,因此,遞進式地恢復特定時間點快照所需要的時間也會相應增多。為了提高數據失效時快照的恢復效率,對增量快照恢復方法的研究也是十分必要的。
2 基于數據壓縮的增量快照技術
2.1 增量快照的空間開銷問題數據快照的創建主要包括兩方面:第一,決定需要備份的數據塊;第二,將需備份的數據塊快速寫入快照空間。其中決定需要備份的數據塊有兩種情況,全部備份或者部分備份,目前的數據總量急劇增長,如果全部備份,所需的快照空間將隨數據總量的增加急劇增加,因此我們采取部分備份,即只備份更新的數據塊。傳統的創建數據快照的技術鏡像分裂、按需備份、指針重映射和增量備份技術中,在空間和時間方面,增量備份有相對低的開銷,并且可以創建連續時間點的快照。
2.2 基于數據壓縮的增量快照技術隨著系統規模的增大,被更新的數據塊逐漸增多,快照所占的存儲空間仍然比較大,因此需要對增量快照作進一步的改進,使其在大規模的分布式文件系統中具有較小的空間開銷和較高的可擴展性。壓縮技術是按照一定的算法對數據進行重新組織,以減少數據的冗余性和存儲空間開銷,因此本文將增量快照和壓縮技術相結合,實現了基于數據壓縮的增量快照技術,即在將需要備份的數據塊復制于快照空間之前,首先將這些數據塊進行一定的壓縮,然后再將其存入快照空間。本文擬采用Huffman壓縮算法[16-17],并對其做進一步改進,Huffman壓縮算法的流程如圖6:圖6 Huffman壓縮算法Huffman壓縮算法首次遍歷數據塊,分別統計每個字符出現的次數,按字符出現次數進行降序排序并構造二叉樹,出現次數較多的數據在樹的最頂層,較少的數據在樹的最底層,然后從根節點到每個數據的路徑來對其進行相應的編碼得到編碼位,最后用編碼位替換原數據塊中的字符,即可得到壓縮后的數據。但是,源數據塊中可能存在多個連續的相同字符,如果用編碼位將相同的字符都進行替換,會出現一定程度的空間浪費,可以考慮將連續出現的相同的字符只替換一次,然后增加標志位,用于記錄該字符連續出現的次數,以此節約更多的存儲空間。
2.3 基于數據壓縮的增量快照開銷分析因為增量快照只是復制更改的數據塊,當數據塊較大時,每次雖然只更新了數據塊中的小部分數據,仍然需要將整個數據塊復制至快照空間,造成存儲空間的浪費。而當數據塊較小時,若更改的數據較多,則每次需要復制多個數據塊,導致快照創建和恢復的操作復雜。因此,數據塊大小的選擇也是一個比較關鍵的問題,還需要做更多的測試來比較驗證,以選擇合適的大小
3 恢復鏈路縮減技術
3.1 快照恢復的開銷問題在采用增量快照的基礎上進行研究,增量快照在首次創建快照時完全備份,之后僅備份自上次快照時間點之后更改的數據塊。因此,當恢復指定時間點的快照時,需采用遞進式的恢復方法,當快照版本增多時,恢復快照的開銷也會相應的增大,因此,需要在原有快照恢復方法的基礎上作進一步的改進,以控制快照的恢復開銷。
3.2 恢復鏈路縮減算法針對上述問題,本文在已有的基于增量快照的快照恢復方法基礎上,提出了恢復鏈路縮減的快照恢復技術,即在從特定時間點至首次快照時間點之間的快照鏈路上,將對同一數據塊的多次遞進式恢復縮減為一次。在首次創建快照時,同時建立一個日志文件,該文件包括快照創建時間、需備份的數據塊地址和該數據塊在快照空間的地址三個字段
4 總結語
在大數據時代,保證數據的安全性和完整性具有重要意義,因此,越來越多的存儲系統采用快照技術來保證數據的安全性。然而在分布式文件系統中,快照創建的空間開銷隨著系統數據量的增大急劇增大。并且隨著快照數量的增多,存儲快照所占用的空間和系統失效時恢復快照的開銷也會增大,從而嚴重影響分布式文件系統的性能和可擴展性。
【面向分布式文件系統的可擴展數據快照科技論文】相關文章:
基于知識網格的分布式數據挖掘論文04-25
論面向對象的數據庫技術論文06-26
基于可擴展的網頁關鍵信息抽取研究論文04-14
可擴展集成化云平臺監控機制的設計論文04-20
基于Java RMI的分布式數據庫系統的應用與研究的論文04-14
分析科技人才數據庫建設的現狀論文11-04
分布式電源系統設計論文04-19