基於XFS的NAS資料恢復可以做了

2021-09-22 03:28:16 字數 886 閱讀 2739

好複雜的檔案系統,佩服sgi,位操作讓我頭暈眼花。

xfs是乙個高效的64位檔案系統,由sgi開發,原用在irix中,後移植到linux上,由於sgi出身於圖形多**設計,所以其檔案系統具在很強的對大量資料的處理能力,在處理大量檔案、節點時效能下降很低,完全領先於ext3,並與reiserfs有的一拼。現在許多基於linux和freebsd的nas(由於linux/freebsd的開源性,實際上非linux/freebsd的nas只佔很少一部分)選擇檔案系統時,很有可能會選擇xfs。

xfs檔案系統上的資料恢復可麻煩多了。目前市面上沒有基於xfs的資料恢復軟體,跨平台的xfs讀取軟體只有xfs32,但功能非常有限,而且只限於目錄、節點是正常的情況。據我對其源**的分析,讀取效率也是比較低的。sgi官方對於xfs的詳細結構層的描述極少,有的只是for linux的源**。這樣對於xfs檔案系統損壞,使用xfs repair又無法修復的情況,就很麻煩了。

經過一段時間的研究,總算差不多搞清楚了xfs檔案系統的結構層。如果有基於xfs的nas或linux資料出現問題,應該有很大把握了。基於xfs資料恢復的軟體已經接近完工。

附部分研究心得:

xfs inode number:變長的位數表示,三部分組成:起始塊組號+起始塊號+塊內inode號。起始塊號與塊內inode號的位長由superblock中引數指定。

xfs ext number:變長的位數表示,對於32位系統版本,首先用4個4位元組表示ext 編號,ext編號由兩部分組成:起始位置和大小。ext編號的起始位置為l1(0-32)連線l2(0-32)連線l3(31-21)構成中間值(暫定為temp)然後temp又由兩部分組成:塊組號與塊組內部塊號,結構為後agblklog位表示內部塊號,其餘高位表示塊組號。(張宇旁:如此複雜,怪不得xfs的研究資料怎麼少了)

其他暫未整理。。。。

基於XFS的NAS資料恢復可以做了

好複雜的檔案系統,佩服sgi,位操作讓我頭暈眼花。xfs是乙個高效的64位檔案系統,由sgi開發,原用在irix中,後移植到linux上,由於sgi出身於圖形多 設計,所以其檔案系統具在很強的對大量資料的處理能力,在處理大量檔案 節點時效能下降很低,完全領先於ext3,並與reiserfs有的一拼。...

Oracle恢復(七) 基於時間的恢復

首先有備份 其次知道自己想要恢復到的歷史時間 拷貝備份的所有資料檔案回來,startup mount 啟動到mount狀態 recover database until time 2012 04 10 16 43 01 穿越到今天 呵呵 因為10號發工資,所以喜歡穿越到10號 mediarecove...

MySQL基於binlog恢復資料遇到的問題

一 背景 因為在一次上線的過程中,由於上線給的資料庫表表明相同,而資料庫名不同,由於同事給的sql語句沒有評審,並未給建立資料庫語句,導致已存在生產的資料庫表被重建了,被重建表的資料庫表資料完全丟失。基於這種情況需要緊急恢復資料。但是,鬱悶的是aws的快照在20天前就停止了,最近的資料也只能從20天...