當前位置:
首頁 > 知識 > 簡單了解dd、ext3grep、extundelete與linux數據恢復

簡單了解dd、ext3grep、extundelete與linux數據恢復

一、恢復軟體安裝問題

現網一台SUSE主機,被同事不小心幹掉了一個文件。不過在用想通過ext3grep或extundelete這類工具進行恢復時,發現在編譯過程中,總是提示「configure: error: Can"t find ext2fs library」。

因為在SUSE源里沒有e2fsprogs-devel、e2fsprogs-libs包,在通過源碼安裝e2fsprogs後,發現還是有該問題。而redhat上不存在該問題,redhat可以直接通過下面的命令安裝依賴:

二、異機恢復設想與操作1、異機恢復理論基礎

先說下LINUX上的文件刪除rm,實際上 rm 文件並未從磁碟上清理,只是將其所在的塊(inode)進行了重新標記,標記為可擦除可寫。而數據恢復軟體就是讀取到這些inode,再從而恢復相應的數據(前提是未被其他數據覆寫的情況下)。

在LINUX在有一個按數據塊進行讀取備份的工具dd,既然dd是按資料庫讀取備份的,那其在他數據盤或分區上還原時,也會把 rm 刪除的數據塊同樣寫過去。在另一台可以正常安裝恢復軟體的主機上,通過相應的恢復軟體掃描就可以恢複數據了。

2、磁碟和分區恢復

源主機:SUSE被刪除數據主機(/dev/sda6)

目標機:redhat主機(/dev/sda2)

注意,這裡有一個要求,目標主機的/sda2空間一定要大於或等於sda6。新老主機上分區格式要一致,要同為ext3 或 ext4

上面在備份的時候使用了gzip進行最高級別的壓縮,由於 dd和gzip都只能使用單核資源,所以操作會比較慢,如果空間足夠,新老主機之間網路傳輸又快的,可以直接 dd if=/dev/sda6 of=/opt/tmpbackup.dd 不壓縮備份,備份出的大小會和原來的磁碟分區大小一樣大。

三、恢復命令

1、extundelete恢復

恢復單個文件,會在當前目錄下生成一個RECOVERED_FILES目錄,裡面保存已經恢復的文件:

根據inode進行恢復

恢復單個目錄:

恢復所有誤刪文件:

extundelete還可以實現恢復某個時間段的數據。可以通過「--after」和「--before」參數實現!

2、ext3grep恢復

查詢需要恢復的數據信息:

恢復單個文件

根據inode恢復

恢復所有文件

3、ext3grep與extundelete

extundelete:掃描inode和恢複數據同時進行,因此恢復速度很快。支持單個文件,單個目錄和完整磁碟恢復;

ex3grep:只能恢復ex3的數據,不支持目錄恢復和時間恢復。

四、dd的備份的好處

dd備份出來再在其他主機上恢復還有一個好處,即使在恢復過程中有不當操作,我們仍保留一份源數據,依然可以通過還原後,再用其他工具掃描。

特別需要注意的一點:一但主機發生意外刪除的,一定要先將當前分區置為只讀,如: mount -o remount,ro /tmp


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux資訊速推 的精彩文章:

AWS遠超微軟、Google,保持雲市場的統治地位
SUSE發布全新版本,多模塊設計為IT轉型賦能

TAG:Linux資訊速推 |