您的位置:首页 > 运维架构 > Linux

XFS文件系统数据恢复实战

2009-07-12 11:57 1631 查看
  转自:http://blog.csdn.net/lllearning/archive/2010/05/16/5598377.aspx

 

 2009年7月12号,大雨。
   前两天,恢复了一个XFS文件系统损坏的RAID1。
   客户描述:系统重启突然,进入系统发现文件系统无法挂载。使用mount命令提示 mount: wrong fs type, bad option, bad superblock on /dev/sdb1, or too many mounted file systems.

   技术积累:

XFS文件系统前面几个扇区分别是





对于扇区开始分别为 XFSB XAGF XAGI ABTB ABTC IABT 然后是 INA。
   检测:用winhex查看,发现MBR正常,找到分区起始位置,发现XFSB标记丢失,看内容像是inode节点,估计是文件系统异常造成的数据写入错误,正常的superblock被覆盖。没有superblock当然没法正常挂载了。磁盘63-70扇区数据都不正常。71扇区是ABTB 即 AG Free Space B+trees  the block offset B+tree,往下数据正常。所以需要恢复 63-70这几个扇区。还好XFS对这部分数据是有备份信息的,用Winhex 搜索XFSB搜索备份。

   处理过程:找到superblock备份,贴回原来位置(63-70扇区)。进入系统挂载(sudo mount /dev/sdb1 /mnt ,发现提示superblock错误。mount: wrong fs type, bad option, bad superblock on /dev/sdb1, or too many mounted file systems. 继续分析,可能是文件系统本身已经存在问题了了,尝试用系统自带文件系统修复工具fsck。全盘备份,用文件系统自检工具,检测并修复(fsck.xfs /dev/sdb1),大概半小时,完成后挂载,成功,基本上全部恢复。

0扇区MBR 显示正常正常 第一个分区





找到63扇区





数据不正确,这里应该是超级块,以 XFSB开头

71扇区





ABTB数据正常

8593815扇区找到备份





技术总结:

1、已经接到两个这种情况的单子了,而且都是磁盘空间使用超过95%估计是Linux系统XFS模块有问题,系统使用容量太大时计算有问题,或者是数据回写出错;

2、做好备份工作

3、XFS还需要深入研究

4、fsck有时候是可以用来恢复数据的,不过要备份好。。。

-------------------------------------------------------------------------------------------

摘要:数据恢复 XFS文件系统

XFS superblock 超级块 fsck XFSB XAGF XAGI ABTB ABTC IABT 然后是 INA

mount: wrong fs type, bad option, bad superblock on /dev/sdb1, or too many mounted file systems.

数据恢复软件 数据恢复技术 研究 QQ数据恢复群:107936465 欢迎进行技术探讨
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息