面向分散式檔案系統的可擴充套件資料快照科技論文

面向分散式檔案系統的可擴充套件資料快照科技論文

  引言

  隨著資訊的全球化,網際網路產業得到迅速地發展,其在科學研究、資料探勘和資訊獲取等方面的廣泛應用,使人類需要儲存和管理越來越多的資料,進而出現數據爆炸的現象。2012年12月,IDC公司的全球資料分析報告如圖1,預計2020年全球資料總量將由2012年的2.72ZB增長至40ZB,並且40%的資料需要保證其安全性。然而,受硬體裝置失效、火災、地震自然災害等因素的影響,資料的安全性和可靠性受到嚴重威脅。在這個資料即資訊,資料即價值的大資料時代,如何保證資料的安全性和完整性成為當前儲存領域越來越重要的問題。

  1 目前主流快照技術

  本章首先介紹目前主流的快照建立技術,包括映象分裂、按需複製、指標重對映和增量快照技術,並分別分析其優缺點;然後介紹目前基於增量快照的快照恢復方法;最後為了降低空間、時間開銷和提高系統可擴充套件性,提出快照建立和快照恢復需要改進的問題。

  1.1 快照建立1.1.1 映象分裂快照技術映象分裂技術在快照時間點到來之前需要為源資料卷建立並維護一個完整的物理映象卷,同一資料的兩個副本分別儲存在由源資料卷和映象卷組成的映象對上。快照操作到來時,映象操作停止,映象卷轉化為快照卷,得到一份資料快照,快照卷在完成資料備份後,與源資料卷再次同步,重新成為映象卷。映象分裂技術雖然在短時間內(斷開映象對所需的時間)就可以得到一個完整的物理副本,但其缺乏靈活性,需要預先為源資料卷建立映象卷,無法在任意時間點為任意的資料卷建立快照,並且其佔用大量的儲存資源,會造成儲存空間的浪費。

  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 總結語

  在大資料時代,保證資料的安全性和完整性具有重要意義,因此,越來越多的儲存系統採用快照技術來保證資料的安全性。然而在分散式檔案系統中,快照建立的空間開銷隨著系統資料量的增大急劇增大。並且隨著快照數量的增多,儲存快照所佔用的空間和系統失效時恢復快照的開銷也會增大,從而嚴重影響分散式檔案系統的效能和可擴充套件性。

最近訪問