0

【服务器数据恢复】某品牌x3850服务器RAID5两块磁盘先后掉线,服务器崩溃的数据恢复案...

 1 year ago
source link: https://blog.51cto.com/sun510/5381238
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【服务器数据恢复】某品牌x3850服务器RAID5两块磁盘先后掉线,服务器崩溃的数据恢复案例

原创

宋国建 2022-06-14 11:18:01 ©著作权

文章标签 服务器 数据恢复 服务器数据恢复 raid数据恢复 文章分类 其他 服务器 阅读数186

服务器故障:

某公司的一台某品牌x3850服务器raid5中两块磁盘先后掉线,服务器崩溃。故障服务器的操作系统为linux redhat,应用为公司oa,数据库采用oracle。因oracle已经不再对此oa提供后续支持,管理员联系我们数据恢复中心要求尽可能恢复数据和系统。

数据恢复工程师对故障服务器进行检测,发现热备盘没有启用,硬盘无明显物理故障,无明显同步表现。

服务器数据恢复方案:

1、保护原环境,关闭服务器,确保在恢复过程中不再开启服务器。

2、将故障硬盘标好序号,确保在拿出槽位后可以完全复原。

3、将故障硬盘挂载至只读环境,对所有故障硬盘做完全镜像(参考<如何对磁盘做完整的全盘镜像备份>)。备份完成后交回原故障盘,之后的恢复操作直到数据确认无误前不再涉及原故障盘。

4、对备份盘进行RAID结构分析,得到其原来的RAID级别,条带规则,条带大小,校验方向,META区域等。

5、根据得到的RAID信息搭建一组虚拟的RAID5环境。

6、进行虚拟磁盘及文件系统解释。

7、检测虚拟结构是否正确,如不正确,重复4-7过程。

8、确定数据无误后,按用户要求回迁数据。如果仍然使用原盘,需确定已经完全对原盘做过备份后,重建RAID,再做回迁。回迁操作系统时,可以使用linux livecd或win pe(通常不支持)等进行,也可以在故障服务器上用另外硬盘安装一个回迁用的操作系统,再进行扇区级别的回迁。

9、数据移交后,由北亚数据恢复中心延长保管数据3天,以避免可能忽略的纰漏。

服务器数据恢复过程:

1、对故障服务器中的所有硬盘进行完整镜像,镜像后数据恢复工程师发现2号盘有10-20个坏扇区,其余磁盘没有发现坏道。

2、分析结构:获取到的最佳结构为0,1,2,3盘序,缺3号盘,块大小为512扇区,backward parity(Adaptec),结构如下图:

【服务器数据恢复】某品牌x3850服务器RAID5两块磁盘先后掉线,服务器崩溃的数据恢复案例_数据恢复

3、组好后进行数据验证,200M以上的最新压缩包解压无报错,确定结构正确。

4、直接按此结构生成虚拟RAID到一块单硬盘上,打开文件系统无明显报错。

5、确定备份包安全的情况下,经管理员同意后,北亚数据恢复工程师对原盘重建RAID,重建时已经用全新硬盘更换损坏的2号盘。将恢复好的单盘用USB方式接入故障服务器,再用linux SystemRescueCd启动故障服务器,之后通过命令进行全盘回写。

6、回写后,启动操作系统。正常情况下,这时候所有工作应该完成了,不巧的是,问题还没有解决。

下面是后续的数据恢复过程:

1、接前文:回写完所有数据后,启动操作系统报错,报错信息为:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied。

2、根据错误信息得知此文件权限有问题,用SystemRescueCd重启后检查,发现此文件时间,权限,大小均有明显错误,显然节点损坏。

3、重新分析重组数据中的根分区,定位出错的/sbin/pidof,发现问题产生原因是2号盘的坏道。

4、使用0,1,3这3块盘,针对2号盘的损坏区域进行xor补齐。补齐后重新校验文件系统,依然有错误,再次检查inode表,发现2号盘损坏区域有部分节点表现为下图中的55 55 55部分:

【服务器数据恢复】某品牌x3850服务器RAID5两块磁盘先后掉线,服务器崩溃的数据恢复案例_数据恢复_02

5、虽然节点中描述的uid还正常存在,但属性,大小,最初的分配块全部是错误的。按照所有可能进行分析,数据恢复工程师确定无法找回此损坏节点,只能希望修复此节点,或复制一个相同的文件过来。

6、对所有可能有错的文件通过日志确定原节点块的节点信息,再做修正。

7、修正后重新dd根分区,执行fsck -fn /dev/sda5,进行检测,依然有报错,如下图:

【服务器数据恢复】某品牌x3850服务器RAID5两块磁盘先后掉线,服务器崩溃的数据恢复案例_raid数据恢复_03

8、根据提示,在系统中发现有多个节点共用同样的数据块。按此提示进行底层分析,发现因3号盘早掉线,存在节点信息的新旧交集。

9、按节点所属的文件进行区别,清除错误节点后,再次执行fsck -fn /dev/sda5,依然有极少量的报错信息。根据提示,发现这些节点多位于doc目录下,不影响系统启动,于是直接fsck -fy /dev/sda5强行修复。

10、修复后,重启系统成功进入桌面。

11、启动数据库服务,启动应用软件,一切正常,无报错。数据恢复及系统回迁工作完成。

  • 打赏
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK