先简单介绍一下服务器故障情况;客户的服务器是一台华为OceanStor S5600T型号,服务器位于北京大兴机房,使用MD1200磁盘柜+RAID卡的方式,服务器共有15块硬盘创建了一组RAID5阵列,分配了两个LUN共80T左右,在系统层面对LUN进行了分区划分,分别为sdc1、sdc2和sdc3三个分区,其中sdc1分区大小为4T,通过LVM扩容的方式,将sdc1分区加入到了root_lv中,剩余的sdc2和sdc3分区格式化为XFS文件系统使用。
管理员对服务器进行重装系统操作后发现sdc磁盘分区发生改变,原先的sdc3分区丢失、无法访问。
服务器数据恢复工程师携带备份服务器赶到客户现场对数据进行初检,同时借助数据恢复工具将所有磁盘的数据镜像备份到备份服务器上。以备后期分析和恢复数据使用。
1、使用镜像盘分析raid的盘序、条带大小等信息;这里可以借助数据恢复工具搜索查看FILE ID编号,可以从编号判断出盘序、块大小、循环方向、同异步等(需要谨慎操作,如果数据十分重要最好找专业的数据恢复公司进行操作)。
通过分析出的raid信息虚拟重组出raid结构;
2、定位到xfs文件系统的分区起始位置;XFS INODE number:变长的位数表示,三部分组成:起始块组号+起始块号+块内INODE号。起始块号与块内INODE号的位长由SUPERBLOCK中frombyte.com参数指定。
3、校验xfs文件系统的完整性及正确性;通过校验发现该文件系统头部的超级块及部分节点、目录项丢失。
4、修复xfs文件系统的超级块结构;根据超级块备份及文件系统中的目录树结构,对超级块进行修复还原,
图一:
5、对xfs文件系统中丢失的节点及目录项进行修复;对丢失的节点、目录项进行修补、重构
图二:
图三:
6、修复完成后编写程序解析xfs文件系统,提取其中的数据。
由于数据丢失之后客户未对服务器做任何写入等其他破坏性操作,所以数据及文件系统信息绝大部分保留完整,数据100%恢复成功。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。