孟令軍
摘要:云存儲是在云計算(cloud computing)概念上延伸和發(fā)展出來的一個新的概念,是將儲存資源放到云上供人存取的一種新興方案[1]。由于傳統(tǒng)web服務(wù)以及自身特點帶來的安全風(fēng)險,正日益成為阻礙其進一步發(fā)展的因素。因此, 在業(yè)界對數(shù)據(jù)安全分析已有基礎(chǔ)上,該文主要針對數(shù)據(jù)安全方面的數(shù)據(jù)恢復(fù)方向進行了研究,并結(jié)合回收站機制提出對分布式數(shù)據(jù)恢復(fù)的展望。
關(guān)鍵詞:云存儲;云安全風(fēng)險;數(shù)據(jù)恢復(fù);冗余恢復(fù);回收站
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)14-3230-03
Abstract: Cloud storage is a new concept described on the extension and development of concept of Cloud Computing ,[1]which is a new scheme to access resources in the cloud for people. Due to the security risk caused by the traditional web service and its own characteristics, which have become the factors that hinder its further development. Therefore, on the basis of existing findings ,this article mainly aimed at data recovery, one aspect of data security, and put forward on data recovery on distributed file system.
Key words: cloud storage; cloud security risk; storage restore; recycle bin
隨著谷歌,微軟,亞馬遜,IBM等大型公司越來越致力于云計算的研究,使“云”得到了飛速發(fā)展,越來越多的用戶開始將數(shù)據(jù)部署在“云端”,然而云在給用戶帶來許多便利的同時,由于傳統(tǒng)web服務(wù)以及自身特點帶來的安全風(fēng)險,正日益成為阻礙其進一步發(fā)展的因素。在目前云平臺安全機制下,對云存儲、云安全風(fēng)險以及在云平臺下數(shù)據(jù)恢復(fù)問題做了簡單分析。
1 云存儲
Yahoo云計算平臺核心是Hadoop技術(shù),它所采用的分布式文檔系統(tǒng)HDFS(Hadoop Distributed File System)與Google的GFS(Google File System)分布式系統(tǒng)不同,是真正運作MapReduce云計算技術(shù)的開放源代碼云計算系統(tǒng)。Hadoop除HDFS分布式文檔系統(tǒng)、MapReduce分布式平行計算框架以及Hbase分布式數(shù)據(jù)庫三大核心技術(shù)外,還包括Hive、Pig等子技術(shù)。
1.1 HDFS分布式文件系統(tǒng)
為了加強對后文數(shù)據(jù)恢復(fù)問題的認(rèn)識,這里簡單介紹一下HDFS分布式文件系統(tǒng)。
HDFS是根據(jù)Coogle發(fā)表的GFS文檔系統(tǒng)論文開發(fā)的開放源代碼分布式文檔系統(tǒng),是一種典型的主從式( Master / Slave )架構(gòu),主要用來解決數(shù)據(jù)爆炸式增長的問題,具有存儲效率高、擴展性能好、可靠性有保障、價格低廉以及可再用性強的優(yōu)點。它由一個名叫 NameNode的控制節(jié)點和多個名叫 DataNode 的數(shù)據(jù)節(jié)點組成。NameNode 維護著整個文件系統(tǒng)的命名空間,將文件系統(tǒng)的元數(shù)據(jù)保存在內(nèi)存中,管理、控制文件的相關(guān)操作,但實際的數(shù)據(jù)并不存放在 NameNode 中,而是存放在 DataNode 中。
當(dāng)客戶端應(yīng)用程序訪問文件時,HDFS首先將包含該文件名字的訪問請求發(fā)送給 NameNode,然后 NameNode 將存儲該文件所有數(shù)據(jù)塊的 DataNode 地址信息反饋給客戶端應(yīng)用程序,進而客戶端應(yīng)用程序直接和相應(yīng)的 DataNode 建立連接并進行具體的文件讀寫操作。它的數(shù)據(jù)訪問特性是“一次寫入,多次讀取”,文檔一旦創(chuàng)建就不允許更改,而是以附加的方式加在原文檔后面。另外,HDFS被分割的block大小一般為128MB,并且默認(rèn)以3個備份存儲到不同的機架,以Linux操作系統(tǒng)的ext2/ext3文檔系統(tǒng)格式存儲在硬盤上,用來保證數(shù)據(jù)的安全[1] 。更重要的是HDFS具有容錯功能,當(dāng)出現(xiàn)宕機或者其它突發(fā)狀況,HDFS檢測到錯誤時,可以通過HDFS的容錯檢測以及自動恢復(fù)系統(tǒng)將損壞的文檔復(fù)原,這就是后文介紹的有關(guān)數(shù)據(jù)恢復(fù)的知識。
2 云計算的安全
美國Gartner 公司于 2008 年發(fā)布的一份名為《云計算安全風(fēng)險評估》的報告,報告指出云計算存在的七大安全風(fēng)險[2],分別是優(yōu)先訪問權(quán)、管理權(quán)限、數(shù)據(jù)位置、數(shù)據(jù)隔離、數(shù)據(jù)恢復(fù)、調(diào)查支持、長期發(fā)展。
云計算安全風(fēng)險主要體現(xiàn)在以下幾個方面:惡意服務(wù)注入,非法數(shù)據(jù)恢復(fù),篡改數(shù)據(jù)備份:安全一致性差:跨虛擬機襲擊,分布式服務(wù)拒絕[3]。
從以上可知,數(shù)據(jù)恢復(fù)是云計算數(shù)據(jù)安全的一個研究熱點,該文著重就數(shù)據(jù)恢復(fù)問題進行分析。數(shù)據(jù)恢復(fù)包括恢復(fù)兩個方面的數(shù)據(jù):一是受損數(shù)據(jù);二是已刪數(shù)據(jù)。受損數(shù)據(jù)恢復(fù)相比較而言,方法更多,而且簡單許多,已刪數(shù)據(jù)目前則必須是在一定條件下才可以恢復(fù)。
2.1受損數(shù)據(jù)恢復(fù)
包括即冗余恢復(fù)[3]、副本恢復(fù)[4]和備份恢復(fù)[5]三種恢復(fù)方式。其中,冗余恢復(fù)方式主要用于云端數(shù)據(jù)存取過程中數(shù)據(jù)受損時的恢復(fù);副本恢復(fù)和備份恢復(fù)方式則主要用于云端數(shù)據(jù)存儲后數(shù)據(jù)受損時的恢復(fù)。
2.1.1冗余恢復(fù)[3]
由于數(shù)據(jù)傳輸過程中可能出現(xiàn)宕機等突發(fā)狀況,使得數(shù)據(jù)在傳輸?shù)倪^程中受損。這種情況下可以利用冗余恢復(fù)對數(shù)據(jù)進行恢復(fù)。冗余恢復(fù)是利用糾錯碼對傳輸過程中的受損數(shù)據(jù)進行即時恢復(fù),系統(tǒng)使用Reed-Solomon碼提供任意高錯誤恢復(fù)技術(shù),保證系統(tǒng)在發(fā)現(xiàn)問題后能夠被迅速檢測到并進行恢復(fù)。
為了確保云端數(shù)據(jù)更加可靠,保證云端已存儲的數(shù)據(jù)的安全性,對云端存儲的數(shù)據(jù)還可以采用副本恢復(fù)和備份恢復(fù)兩種方式。根據(jù)上文提到的云計算的分布式文檔系統(tǒng)可知,云端存儲的數(shù)據(jù)(塊)在不同的服務(wù)器上都存有3個及以上的副本。很顯然在某臺服務(wù)器上數(shù)據(jù)出現(xiàn)錯誤狀況時,可以利用云端其他服務(wù)器上的數(shù)據(jù)(塊)來代替當(dāng)前服務(wù)器上的受損數(shù)據(jù),這就是所謂的“異地災(zāi)難備份機制”,像銀聯(lián)數(shù)據(jù)中心這樣的金融機構(gòu)采用的就是“兩地兩中心”或者“兩地三中心”這樣的異地災(zāi)難備份機制來保證金融數(shù)據(jù)的安全性的。
2.1.2副本恢復(fù)[4]
云端已存數(shù)據(jù)的副本恢復(fù)方式原理就是利用分布式系統(tǒng)的存儲特性,通過云端各服務(wù)器之間相互復(fù)制數(shù)據(jù)塊的副本來實現(xiàn)的。簡要地說,如果系統(tǒng)在進行完整性驗證過程中發(fā)現(xiàn)某數(shù)據(jù)(塊)完整性受損,可以通過云端服務(wù)器上的復(fù)制進程(如上文1.1所提到的),實現(xiàn)數(shù)據(jù)(塊)副本之間的復(fù)制來恢復(fù)受損或丟失的數(shù)據(jù)(塊),這就是云端已存數(shù)據(jù)的副本恢復(fù)方法。
但是并不排除其他極端情況,比如,數(shù)據(jù)被損壞后或者被惡意篡改后正好復(fù)制進程啟動(按照復(fù)制策略),那么受損或被惡意篡改的數(shù)據(jù)就會被復(fù)制到各個服務(wù)器,覆蓋原來冗余存儲的正確數(shù)據(jù)(塊),從而使得數(shù)據(jù)(塊)完全被損壞。對于此類云端受損數(shù)據(jù),可以借鑒windows系統(tǒng)里面的備份機制,即將數(shù)據(jù)恢復(fù)到受損前的某個狀態(tài),一旦出現(xiàn)以上狀況,就恢復(fù)到受損前這個正常狀態(tài)。為了實現(xiàn)這一恢復(fù)策略,需要在云端定時保存歷史備份數(shù)據(jù),且這些數(shù)據(jù)不能進行更新和同步操作。
2.1.3備份恢復(fù)[5]
數(shù)據(jù)備份和備份策略是比較成熟的技術(shù),備份策略如下:一是按照云端數(shù)據(jù)存儲模型和結(jié)構(gòu),云端數(shù)據(jù)采用分塊備份;二是采用全備份和增量(或者差異)備份相結(jié)合的方法對云端數(shù)據(jù)塊進行備份。 備份恢復(fù)是以丟失用戶實時修改更新的數(shù)據(jù)為代價,把用戶的數(shù)據(jù)恢復(fù)到某一正常時期的狀態(tài)。
綜上,受損數(shù)據(jù)的恢復(fù)流程是:系統(tǒng)通過完整性驗證,一旦發(fā)現(xiàn)已存云端數(shù)據(jù)受到損壞后,自動啟動恢復(fù)模式,采用的受損數(shù)據(jù)恢復(fù)方式的順序一般依次為:冗余恢復(fù)、副本恢復(fù)和備份恢復(fù)。
2.2 已刪數(shù)據(jù)恢復(fù)
2.2.1 Linux 文件系統(tǒng)下已刪數(shù)據(jù)的恢復(fù)
基于 HDFS 的數(shù)據(jù)銷毀機制設(shè)計:HDFS 中數(shù)據(jù)的刪除是異步的。在 NameNode 將元數(shù)據(jù)刪除后,DataNode 通過 heartbeat獲取此改變(invalid block 列表),并通過 Java 的文件刪除方法刪除本地文件系統(tǒng)上對應(yīng)的文件。由此可見,這種刪除機制與單機狀態(tài)下文件刪除普通的沒有什么不同,這種刪除機制并沒有在刪除數(shù)據(jù)之前對數(shù)據(jù)進行覆寫算法等破壞性操作。然而 Linux 系統(tǒng)的 ext2 文件系統(tǒng)(前文1.1提到)的文件刪除機制只是改變了塊位圖和索引節(jié)點的狀態(tài)[6,7],只是導(dǎo)致系統(tǒng)不能通過索引節(jié)點去定位文件,文件的實際內(nèi)容甚至是索引節(jié)點中的元數(shù)據(jù)都沒有被真正刪除,只有等下一次數(shù)據(jù)寫入、進行多種覆寫算法刪除的時候才能覆蓋這些數(shù)據(jù)。所以,Linux 中的數(shù)據(jù)在刪除操作之后,并沒有被實際刪除,仍可以通過使用e2undel、libundel庫恢復(fù)文件[7]。
對于Linux ext3/4文件系統(tǒng),因為默認(rèn)帶有日志文件,系統(tǒng)出現(xiàn)宕機等突發(fā)狀況時,日志文件會記錄突發(fā)狀況,可以用于數(shù)據(jù)的恢復(fù),對于恢復(fù)后不可識別的數(shù)據(jù),會被fsck放在lost+found目錄下。至于這種類型文件系統(tǒng)下的已刪數(shù)據(jù)恢復(fù),還需進一步研究分析。
2.2.2 HDFS 分布式文件系統(tǒng)下已刪數(shù)據(jù)的恢復(fù)
實際上,當(dāng)用戶通過HDFS Shell命令刪除文件時,文件并未即刻被刪去,而是會被重命名到/Trash文件中,文件在該文件中保留預(yù)定時間,在該時間段內(nèi),可以隨時恢復(fù)被刪除的文件,當(dāng)超過這個保留時間時, Namenode 就會將該文件從名字空間中刪除,刪除文件會使得該文件相關(guān)的數(shù)據(jù)塊被釋放,類似于windows系統(tǒng)中的回收站機制。具體被刪文件恢復(fù)仿真過程如下:
①運用shell命令創(chuàng)建一個文件d,如圖1。
②運用shell命令刪除文件d,可以發(fā)現(xiàn)自動生成了一個Trash文件,如圖2。
③ 在刪除之后查看時,發(fā)現(xiàn)被刪除的文件d存放于Trash文件目錄中,如圖3。
④試圖從/Trash中恢復(fù)被刪除的d文件,如圖4。
⑤再次查看時會發(fā)現(xiàn)被刪除的文件已經(jīng)被恢復(fù)了,如圖5。
2.2.3 磁盤介質(zhì)上已刪數(shù)據(jù)的恢復(fù)
HDFS 文件系統(tǒng)是一個異構(gòu)的分布式文件系統(tǒng)[6],它可以支持異構(gòu)的主機構(gòu)成一個統(tǒng)一的分布式文件系統(tǒng)。其中,存儲的異構(gòu)主要表現(xiàn)在存儲介質(zhì)的不同,現(xiàn)在主流存儲介質(zhì)有傳統(tǒng)硬盤的磁介質(zhì)和固態(tài)硬盤( SSD)的閃存半導(dǎo)體介質(zhì)。
對于磁盤介質(zhì)上已刪的數(shù)據(jù)恢復(fù)[8],首先對文件系統(tǒng)進行分析,自動進行raid磁盤陣列的磁盤次序、塊大小等參數(shù)的分析,確定磁盤存儲的數(shù)據(jù)結(jié)構(gòu)中主引導(dǎo)記錄、DOS引導(dǎo)記錄、文件分配表、硬盤分區(qū)表等數(shù)據(jù)完整程度。根據(jù)相應(yīng)信息提供策略選擇,自動分析生成殘留數(shù)據(jù)部分原始文件位置、數(shù)據(jù)大小、類型等信息,從云存儲目標(biāo)區(qū)域讀取磁盤數(shù)據(jù)區(qū)數(shù)據(jù),對文件進行重建還原,并對缺失部分?jǐn)?shù)據(jù)進行估算,生成原文件,恢復(fù)殘留數(shù)據(jù)。
3 結(jié)束語
云時代已經(jīng)到來,大數(shù)據(jù)已經(jīng)無處不在并已爆炸式發(fā)展,數(shù)據(jù)安全風(fēng)險是“云”進一步發(fā)展壯大的障礙,所以數(shù)據(jù)安全更是值得深究的一個方面,當(dāng)數(shù)據(jù)安全(包括數(shù)據(jù)恢復(fù))得到強有力保障的時候,云的發(fā)展必定更加快速、穩(wěn)健。
參考文獻:
[1] 徐成俊.云計算實用技術(shù)[M].蘭州:甘肅人民出版社,2013.
[2] WANG Chenxi,PENN J,HERALD A.How Secure Is Your Cloud?Forrester Research ForSecurity&RiskProfessionals[EB/OL]. [2009-08-03].
[3] Wei-Tek T,Peide Z,Balsasooriya J,etal. An approach for service copposition and thesting for cloud copmputing[C]//Autonomous Decentralized Systems(ISADS),2011 10th INTERNATIONAL Symposium on.Japan:Tokyo,2011:631-636.
[3] 邊根慶.面向分散式存儲的云存儲安全架構(gòu)[J].西安交通大學(xué)學(xué)報,2013,6(45):44.
[4] 項菲.新的基于云計算環(huán)境的數(shù)據(jù)容災(zāi)策略[J].通信學(xué)報,2013,6(34).
[5] 孫勇.面向云計算的鍵值型分布式存儲系統(tǒng)研究[J].電子學(xué)報,2013,7(4):1409.
[6] 秦軍.HDFS 的多安全級數(shù)據(jù)銷毀機制設(shè)計[J].計算機技術(shù)與發(fā)展,2013,3(23):131.
[7] 馮銳,王磊.如何恢復(fù) Linux 上刪除的文件,第3 部分[EB/OL].[2012-04-04]. http://www.ibm.com/developerworks/cn/linux /l-cn-filesrc3.
[8] 劉云龍.面向安全風(fēng)險的云計算測試技術(shù)研究[J].微電子學(xué)與計算機,2013,6(30):17-18.
為了確保云端數(shù)據(jù)更加可靠,保證云端已存儲的數(shù)據(jù)的安全性,對云端存儲的數(shù)據(jù)還可以采用副本恢復(fù)和備份恢復(fù)兩種方式。根據(jù)上文提到的云計算的分布式文檔系統(tǒng)可知,云端存儲的數(shù)據(jù)(塊)在不同的服務(wù)器上都存有3個及以上的副本。很顯然在某臺服務(wù)器上數(shù)據(jù)出現(xiàn)錯誤狀況時,可以利用云端其他服務(wù)器上的數(shù)據(jù)(塊)來代替當(dāng)前服務(wù)器上的受損數(shù)據(jù),這就是所謂的“異地災(zāi)難備份機制”,像銀聯(lián)數(shù)據(jù)中心這樣的金融機構(gòu)采用的就是“兩地兩中心”或者“兩地三中心”這樣的異地災(zāi)難備份機制來保證金融數(shù)據(jù)的安全性的。
2.1.2副本恢復(fù)[4]
云端已存數(shù)據(jù)的副本恢復(fù)方式原理就是利用分布式系統(tǒng)的存儲特性,通過云端各服務(wù)器之間相互復(fù)制數(shù)據(jù)塊的副本來實現(xiàn)的。簡要地說,如果系統(tǒng)在進行完整性驗證過程中發(fā)現(xiàn)某數(shù)據(jù)(塊)完整性受損,可以通過云端服務(wù)器上的復(fù)制進程(如上文1.1所提到的),實現(xiàn)數(shù)據(jù)(塊)副本之間的復(fù)制來恢復(fù)受損或丟失的數(shù)據(jù)(塊),這就是云端已存數(shù)據(jù)的副本恢復(fù)方法。
但是并不排除其他極端情況,比如,數(shù)據(jù)被損壞后或者被惡意篡改后正好復(fù)制進程啟動(按照復(fù)制策略),那么受損或被惡意篡改的數(shù)據(jù)就會被復(fù)制到各個服務(wù)器,覆蓋原來冗余存儲的正確數(shù)據(jù)(塊),從而使得數(shù)據(jù)(塊)完全被損壞。對于此類云端受損數(shù)據(jù),可以借鑒windows系統(tǒng)里面的備份機制,即將數(shù)據(jù)恢復(fù)到受損前的某個狀態(tài),一旦出現(xiàn)以上狀況,就恢復(fù)到受損前這個正常狀態(tài)。為了實現(xiàn)這一恢復(fù)策略,需要在云端定時保存歷史備份數(shù)據(jù),且這些數(shù)據(jù)不能進行更新和同步操作。
2.1.3備份恢復(fù)[5]
數(shù)據(jù)備份和備份策略是比較成熟的技術(shù),備份策略如下:一是按照云端數(shù)據(jù)存儲模型和結(jié)構(gòu),云端數(shù)據(jù)采用分塊備份;二是采用全備份和增量(或者差異)備份相結(jié)合的方法對云端數(shù)據(jù)塊進行備份。 備份恢復(fù)是以丟失用戶實時修改更新的數(shù)據(jù)為代價,把用戶的數(shù)據(jù)恢復(fù)到某一正常時期的狀態(tài)。
綜上,受損數(shù)據(jù)的恢復(fù)流程是:系統(tǒng)通過完整性驗證,一旦發(fā)現(xiàn)已存云端數(shù)據(jù)受到損壞后,自動啟動恢復(fù)模式,采用的受損數(shù)據(jù)恢復(fù)方式的順序一般依次為:冗余恢復(fù)、副本恢復(fù)和備份恢復(fù)。
2.2 已刪數(shù)據(jù)恢復(fù)
2.2.1 Linux 文件系統(tǒng)下已刪數(shù)據(jù)的恢復(fù)
基于 HDFS 的數(shù)據(jù)銷毀機制設(shè)計:HDFS 中數(shù)據(jù)的刪除是異步的。在 NameNode 將元數(shù)據(jù)刪除后,DataNode 通過 heartbeat獲取此改變(invalid block 列表),并通過 Java 的文件刪除方法刪除本地文件系統(tǒng)上對應(yīng)的文件。由此可見,這種刪除機制與單機狀態(tài)下文件刪除普通的沒有什么不同,這種刪除機制并沒有在刪除數(shù)據(jù)之前對數(shù)據(jù)進行覆寫算法等破壞性操作。然而 Linux 系統(tǒng)的 ext2 文件系統(tǒng)(前文1.1提到)的文件刪除機制只是改變了塊位圖和索引節(jié)點的狀態(tài)[6,7],只是導(dǎo)致系統(tǒng)不能通過索引節(jié)點去定位文件,文件的實際內(nèi)容甚至是索引節(jié)點中的元數(shù)據(jù)都沒有被真正刪除,只有等下一次數(shù)據(jù)寫入、進行多種覆寫算法刪除的時候才能覆蓋這些數(shù)據(jù)。所以,Linux 中的數(shù)據(jù)在刪除操作之后,并沒有被實際刪除,仍可以通過使用e2undel、libundel庫恢復(fù)文件[7]。
對于Linux ext3/4文件系統(tǒng),因為默認(rèn)帶有日志文件,系統(tǒng)出現(xiàn)宕機等突發(fā)狀況時,日志文件會記錄突發(fā)狀況,可以用于數(shù)據(jù)的恢復(fù),對于恢復(fù)后不可識別的數(shù)據(jù),會被fsck放在lost+found目錄下。至于這種類型文件系統(tǒng)下的已刪數(shù)據(jù)恢復(fù),還需進一步研究分析。
2.2.2 HDFS 分布式文件系統(tǒng)下已刪數(shù)據(jù)的恢復(fù)
實際上,當(dāng)用戶通過HDFS Shell命令刪除文件時,文件并未即刻被刪去,而是會被重命名到/Trash文件中,文件在該文件中保留預(yù)定時間,在該時間段內(nèi),可以隨時恢復(fù)被刪除的文件,當(dāng)超過這個保留時間時, Namenode 就會將該文件從名字空間中刪除,刪除文件會使得該文件相關(guān)的數(shù)據(jù)塊被釋放,類似于windows系統(tǒng)中的回收站機制。具體被刪文件恢復(fù)仿真過程如下:
①運用shell命令創(chuàng)建一個文件d,如圖1。
②運用shell命令刪除文件d,可以發(fā)現(xiàn)自動生成了一個Trash文件,如圖2。
③ 在刪除之后查看時,發(fā)現(xiàn)被刪除的文件d存放于Trash文件目錄中,如圖3。
④試圖從/Trash中恢復(fù)被刪除的d文件,如圖4。
⑤再次查看時會發(fā)現(xiàn)被刪除的文件已經(jīng)被恢復(fù)了,如圖5。
2.2.3 磁盤介質(zhì)上已刪數(shù)據(jù)的恢復(fù)
HDFS 文件系統(tǒng)是一個異構(gòu)的分布式文件系統(tǒng)[6],它可以支持異構(gòu)的主機構(gòu)成一個統(tǒng)一的分布式文件系統(tǒng)。其中,存儲的異構(gòu)主要表現(xiàn)在存儲介質(zhì)的不同,現(xiàn)在主流存儲介質(zhì)有傳統(tǒng)硬盤的磁介質(zhì)和固態(tài)硬盤( SSD)的閃存半導(dǎo)體介質(zhì)。
對于磁盤介質(zhì)上已刪的數(shù)據(jù)恢復(fù)[8],首先對文件系統(tǒng)進行分析,自動進行raid磁盤陣列的磁盤次序、塊大小等參數(shù)的分析,確定磁盤存儲的數(shù)據(jù)結(jié)構(gòu)中主引導(dǎo)記錄、DOS引導(dǎo)記錄、文件分配表、硬盤分區(qū)表等數(shù)據(jù)完整程度。根據(jù)相應(yīng)信息提供策略選擇,自動分析生成殘留數(shù)據(jù)部分原始文件位置、數(shù)據(jù)大小、類型等信息,從云存儲目標(biāo)區(qū)域讀取磁盤數(shù)據(jù)區(qū)數(shù)據(jù),對文件進行重建還原,并對缺失部分?jǐn)?shù)據(jù)進行估算,生成原文件,恢復(fù)殘留數(shù)據(jù)。
3 結(jié)束語
云時代已經(jīng)到來,大數(shù)據(jù)已經(jīng)無處不在并已爆炸式發(fā)展,數(shù)據(jù)安全風(fēng)險是“云”進一步發(fā)展壯大的障礙,所以數(shù)據(jù)安全更是值得深究的一個方面,當(dāng)數(shù)據(jù)安全(包括數(shù)據(jù)恢復(fù))得到強有力保障的時候,云的發(fā)展必定更加快速、穩(wěn)健。
參考文獻:
[1] 徐成俊.云計算實用技術(shù)[M].蘭州:甘肅人民出版社,2013.
[2] WANG Chenxi,PENN J,HERALD A.How Secure Is Your Cloud?Forrester Research ForSecurity&RiskProfessionals[EB/OL]. [2009-08-03].
[3] Wei-Tek T,Peide Z,Balsasooriya J,etal. An approach for service copposition and thesting for cloud copmputing[C]//Autonomous Decentralized Systems(ISADS),2011 10th INTERNATIONAL Symposium on.Japan:Tokyo,2011:631-636.
[3] 邊根慶.面向分散式存儲的云存儲安全架構(gòu)[J].西安交通大學(xué)學(xué)報,2013,6(45):44.
[4] 項菲.新的基于云計算環(huán)境的數(shù)據(jù)容災(zāi)策略[J].通信學(xué)報,2013,6(34).
[5] 孫勇.面向云計算的鍵值型分布式存儲系統(tǒng)研究[J].電子學(xué)報,2013,7(4):1409.
[6] 秦軍.HDFS 的多安全級數(shù)據(jù)銷毀機制設(shè)計[J].計算機技術(shù)與發(fā)展,2013,3(23):131.
[7] 馮銳,王磊.如何恢復(fù) Linux 上刪除的文件,第3 部分[EB/OL].[2012-04-04]. http://www.ibm.com/developerworks/cn/linux /l-cn-filesrc3.
[8] 劉云龍.面向安全風(fēng)險的云計算測試技術(shù)研究[J].微電子學(xué)與計算機,2013,6(30):17-18.
為了確保云端數(shù)據(jù)更加可靠,保證云端已存儲的數(shù)據(jù)的安全性,對云端存儲的數(shù)據(jù)還可以采用副本恢復(fù)和備份恢復(fù)兩種方式。根據(jù)上文提到的云計算的分布式文檔系統(tǒng)可知,云端存儲的數(shù)據(jù)(塊)在不同的服務(wù)器上都存有3個及以上的副本。很顯然在某臺服務(wù)器上數(shù)據(jù)出現(xiàn)錯誤狀況時,可以利用云端其他服務(wù)器上的數(shù)據(jù)(塊)來代替當(dāng)前服務(wù)器上的受損數(shù)據(jù),這就是所謂的“異地災(zāi)難備份機制”,像銀聯(lián)數(shù)據(jù)中心這樣的金融機構(gòu)采用的就是“兩地兩中心”或者“兩地三中心”這樣的異地災(zāi)難備份機制來保證金融數(shù)據(jù)的安全性的。
2.1.2副本恢復(fù)[4]
云端已存數(shù)據(jù)的副本恢復(fù)方式原理就是利用分布式系統(tǒng)的存儲特性,通過云端各服務(wù)器之間相互復(fù)制數(shù)據(jù)塊的副本來實現(xiàn)的。簡要地說,如果系統(tǒng)在進行完整性驗證過程中發(fā)現(xiàn)某數(shù)據(jù)(塊)完整性受損,可以通過云端服務(wù)器上的復(fù)制進程(如上文1.1所提到的),實現(xiàn)數(shù)據(jù)(塊)副本之間的復(fù)制來恢復(fù)受損或丟失的數(shù)據(jù)(塊),這就是云端已存數(shù)據(jù)的副本恢復(fù)方法。
但是并不排除其他極端情況,比如,數(shù)據(jù)被損壞后或者被惡意篡改后正好復(fù)制進程啟動(按照復(fù)制策略),那么受損或被惡意篡改的數(shù)據(jù)就會被復(fù)制到各個服務(wù)器,覆蓋原來冗余存儲的正確數(shù)據(jù)(塊),從而使得數(shù)據(jù)(塊)完全被損壞。對于此類云端受損數(shù)據(jù),可以借鑒windows系統(tǒng)里面的備份機制,即將數(shù)據(jù)恢復(fù)到受損前的某個狀態(tài),一旦出現(xiàn)以上狀況,就恢復(fù)到受損前這個正常狀態(tài)。為了實現(xiàn)這一恢復(fù)策略,需要在云端定時保存歷史備份數(shù)據(jù),且這些數(shù)據(jù)不能進行更新和同步操作。
2.1.3備份恢復(fù)[5]
數(shù)據(jù)備份和備份策略是比較成熟的技術(shù),備份策略如下:一是按照云端數(shù)據(jù)存儲模型和結(jié)構(gòu),云端數(shù)據(jù)采用分塊備份;二是采用全備份和增量(或者差異)備份相結(jié)合的方法對云端數(shù)據(jù)塊進行備份。 備份恢復(fù)是以丟失用戶實時修改更新的數(shù)據(jù)為代價,把用戶的數(shù)據(jù)恢復(fù)到某一正常時期的狀態(tài)。
綜上,受損數(shù)據(jù)的恢復(fù)流程是:系統(tǒng)通過完整性驗證,一旦發(fā)現(xiàn)已存云端數(shù)據(jù)受到損壞后,自動啟動恢復(fù)模式,采用的受損數(shù)據(jù)恢復(fù)方式的順序一般依次為:冗余恢復(fù)、副本恢復(fù)和備份恢復(fù)。
2.2 已刪數(shù)據(jù)恢復(fù)
2.2.1 Linux 文件系統(tǒng)下已刪數(shù)據(jù)的恢復(fù)
基于 HDFS 的數(shù)據(jù)銷毀機制設(shè)計:HDFS 中數(shù)據(jù)的刪除是異步的。在 NameNode 將元數(shù)據(jù)刪除后,DataNode 通過 heartbeat獲取此改變(invalid block 列表),并通過 Java 的文件刪除方法刪除本地文件系統(tǒng)上對應(yīng)的文件。由此可見,這種刪除機制與單機狀態(tài)下文件刪除普通的沒有什么不同,這種刪除機制并沒有在刪除數(shù)據(jù)之前對數(shù)據(jù)進行覆寫算法等破壞性操作。然而 Linux 系統(tǒng)的 ext2 文件系統(tǒng)(前文1.1提到)的文件刪除機制只是改變了塊位圖和索引節(jié)點的狀態(tài)[6,7],只是導(dǎo)致系統(tǒng)不能通過索引節(jié)點去定位文件,文件的實際內(nèi)容甚至是索引節(jié)點中的元數(shù)據(jù)都沒有被真正刪除,只有等下一次數(shù)據(jù)寫入、進行多種覆寫算法刪除的時候才能覆蓋這些數(shù)據(jù)。所以,Linux 中的數(shù)據(jù)在刪除操作之后,并沒有被實際刪除,仍可以通過使用e2undel、libundel庫恢復(fù)文件[7]。
對于Linux ext3/4文件系統(tǒng),因為默認(rèn)帶有日志文件,系統(tǒng)出現(xiàn)宕機等突發(fā)狀況時,日志文件會記錄突發(fā)狀況,可以用于數(shù)據(jù)的恢復(fù),對于恢復(fù)后不可識別的數(shù)據(jù),會被fsck放在lost+found目錄下。至于這種類型文件系統(tǒng)下的已刪數(shù)據(jù)恢復(fù),還需進一步研究分析。
2.2.2 HDFS 分布式文件系統(tǒng)下已刪數(shù)據(jù)的恢復(fù)
實際上,當(dāng)用戶通過HDFS Shell命令刪除文件時,文件并未即刻被刪去,而是會被重命名到/Trash文件中,文件在該文件中保留預(yù)定時間,在該時間段內(nèi),可以隨時恢復(fù)被刪除的文件,當(dāng)超過這個保留時間時, Namenode 就會將該文件從名字空間中刪除,刪除文件會使得該文件相關(guān)的數(shù)據(jù)塊被釋放,類似于windows系統(tǒng)中的回收站機制。具體被刪文件恢復(fù)仿真過程如下:
①運用shell命令創(chuàng)建一個文件d,如圖1。
②運用shell命令刪除文件d,可以發(fā)現(xiàn)自動生成了一個Trash文件,如圖2。
③ 在刪除之后查看時,發(fā)現(xiàn)被刪除的文件d存放于Trash文件目錄中,如圖3。
④試圖從/Trash中恢復(fù)被刪除的d文件,如圖4。
⑤再次查看時會發(fā)現(xiàn)被刪除的文件已經(jīng)被恢復(fù)了,如圖5。
2.2.3 磁盤介質(zhì)上已刪數(shù)據(jù)的恢復(fù)
HDFS 文件系統(tǒng)是一個異構(gòu)的分布式文件系統(tǒng)[6],它可以支持異構(gòu)的主機構(gòu)成一個統(tǒng)一的分布式文件系統(tǒng)。其中,存儲的異構(gòu)主要表現(xiàn)在存儲介質(zhì)的不同,現(xiàn)在主流存儲介質(zhì)有傳統(tǒng)硬盤的磁介質(zhì)和固態(tài)硬盤( SSD)的閃存半導(dǎo)體介質(zhì)。
對于磁盤介質(zhì)上已刪的數(shù)據(jù)恢復(fù)[8],首先對文件系統(tǒng)進行分析,自動進行raid磁盤陣列的磁盤次序、塊大小等參數(shù)的分析,確定磁盤存儲的數(shù)據(jù)結(jié)構(gòu)中主引導(dǎo)記錄、DOS引導(dǎo)記錄、文件分配表、硬盤分區(qū)表等數(shù)據(jù)完整程度。根據(jù)相應(yīng)信息提供策略選擇,自動分析生成殘留數(shù)據(jù)部分原始文件位置、數(shù)據(jù)大小、類型等信息,從云存儲目標(biāo)區(qū)域讀取磁盤數(shù)據(jù)區(qū)數(shù)據(jù),對文件進行重建還原,并對缺失部分?jǐn)?shù)據(jù)進行估算,生成原文件,恢復(fù)殘留數(shù)據(jù)。
3 結(jié)束語
云時代已經(jīng)到來,大數(shù)據(jù)已經(jīng)無處不在并已爆炸式發(fā)展,數(shù)據(jù)安全風(fēng)險是“云”進一步發(fā)展壯大的障礙,所以數(shù)據(jù)安全更是值得深究的一個方面,當(dāng)數(shù)據(jù)安全(包括數(shù)據(jù)恢復(fù))得到強有力保障的時候,云的發(fā)展必定更加快速、穩(wěn)健。
參考文獻:
[1] 徐成俊.云計算實用技術(shù)[M].蘭州:甘肅人民出版社,2013.
[2] WANG Chenxi,PENN J,HERALD A.How Secure Is Your Cloud?Forrester Research ForSecurity&RiskProfessionals[EB/OL]. [2009-08-03].
[3] Wei-Tek T,Peide Z,Balsasooriya J,etal. An approach for service copposition and thesting for cloud copmputing[C]//Autonomous Decentralized Systems(ISADS),2011 10th INTERNATIONAL Symposium on.Japan:Tokyo,2011:631-636.
[3] 邊根慶.面向分散式存儲的云存儲安全架構(gòu)[J].西安交通大學(xué)學(xué)報,2013,6(45):44.
[4] 項菲.新的基于云計算環(huán)境的數(shù)據(jù)容災(zāi)策略[J].通信學(xué)報,2013,6(34).
[5] 孫勇.面向云計算的鍵值型分布式存儲系統(tǒng)研究[J].電子學(xué)報,2013,7(4):1409.
[6] 秦軍.HDFS 的多安全級數(shù)據(jù)銷毀機制設(shè)計[J].計算機技術(shù)與發(fā)展,2013,3(23):131.
[7] 馮銳,王磊.如何恢復(fù) Linux 上刪除的文件,第3 部分[EB/OL].[2012-04-04]. http://www.ibm.com/developerworks/cn/linux /l-cn-filesrc3.
[8] 劉云龍.面向安全風(fēng)險的云計算測試技術(shù)研究[J].微電子學(xué)與計算機,2013,6(30):17-18.