【服务器数据恢复】RAID5多块硬盘离线但是热备盘未激活导致RAID崩溃的数据恢复案例

news/2024/10/18 9:24:10/

服务器数据恢复环境:
IBM某型号服务器,5个SAS硬盘组建RAID5(4个数据盘,1个热备盘);
linux redhat操作系统;
上层应用为oa,数据库为oracle;oracle已经不对本案例中的oa提供后续支持。
    
服务器故障&初检&恢复方案:
RAID5中有一块盘离线,但热备盘由于未知原因未被激活rebuild,直到另外一块盘离线导致RAID崩溃。用户联系我们数据恢复中心要求恢复数据和操作系统。
经过数据恢复工程师检测,发现热备盘完全没有启用,没有发现有物理故障,也没有同步的表现。
经过北亚数据恢复工程师团队会诊,确定最终的数据恢复方案:
1、关闭服务器,将硬盘标好序号取出。
2、将硬盘挂载到只读环境对所有硬盘做镜像备份。后续的数据恢复操作都在镜像文件上进行,避免对原始数据造成二次破坏。
3、基于镜像文件分析故障RAID5的结构,获取RAID级别、条带规则、条带大小、校验方向、META区域等RAID信息。
4、根据获取到的RAID信息搭建虚拟的RAID5环境。
5、解释虚拟磁盘及文件系统。
6、检测虚拟结构是否正确,如不正确,重复3-5步骤。
7、最终确定数据没有问题后按照用户要求回迁数据。如果仍然使用原盘,需确定已经完全对原盘做过备份之后再重建RAID,然后做回迁。可以使用linux livecd回迁操作系统,也可以在故障服务器上用另外的硬盘安装一个回迁用的操作系统,再进行扇区级别的回迁。

服务器数据恢复过程:
1、对故障服务器中所有硬盘进行完整镜像,镜像过程中发现后掉线的那个硬盘有10-20个坏扇区,其余磁盘均没有发现坏道。
2、分析RAID得到RAID最佳结构、块大小、校验方向等RAID信息,如下图:

 

3、根据第2步获取到的信息虚拟重建RAID后进行数据验证,200M以上的压缩包解压无报错,确定结构正确。
4、直接按此结构生成虚拟RAID到一块单硬盘上,打开文件系统无明显报错。
5、确定备份包安全的前提下经用户同意后利用原盘重建RAID,重建时已经用全新硬盘更换那块后掉线的已经损坏的硬盘。将恢复好的单盘用USB方式接入故障服务器,用linux SystemRescueCd启动故障服务器。
6、通过dd命令进行全盘回写,启动操作系统。
7、dd所有数据后,启动操作系统但是无法进入,报错:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied。数据恢复工程师怀疑此文件权限有问题,使用SystemRescueCd重启后检查,结果发现此文件时间、权限、大小均有明显错误,这意味着节点损坏。
8、重新分析重组数据中的根分区,定位出错的/sbin/pidof,发现问题是后掉线的那块硬盘坏道所引起的。
9、使用其他完好的3个数据盘对后掉线硬盘的损坏区域进行xor补齐。补齐后重新校验文件系统依然报错误,再次检查inode表,发现后掉线硬盘损坏区域有部分节点表现为(下图中55 55 55部分):

 

很明显,虽然节点中描述的uid还正常存在,但属性、大小、最初的分配块全部是错误的。确定无法找回此损坏节点后只能修复此节点,或复制一个相同的文件过来。
10、对所有可能有错的文件通过日志确定原节点块的节点信息,然后由北亚数据恢复工程师修正。
11、修正后重新dd根分区,执行fsck -fn /dev/sda5命令进行检测,依然报错,如下图:

 

12、根据报错提示,在系统中发现有多个节点共用同样的数据块。通过底层分析发现存在节点信息的新旧交集问题。
13、按节点所属的文件进行区别,清除错误节点后执行fsck -fn /dev/sda5,依然有报错但已经很少。根据错误提示发现这些节点多位于doc目录下,不影响系统启动,于是直接使用fsck -fy /dev/sda5命令强行修复。修复后重启系统,成功进入系统桌面。
14、启动oracle数据库服务和OA应用软件,一切正常无报错。
15、让用户亲自对恢复出来的数据和操作系统进行检测,确定没有问题,本次数据恢复工作完成。


http://www.ppmy.cn/news/479450.html

相关文章

第4.4章:StarRocks备份还原--BackupRestore

Backup是StarRocks目前提供的唯一一种可将数据与元数据一并导出的导出方式。Backup操作也需要Broker组件,通过Broker将数据备份到远端存储系统中,例如HDFS、OSS、COS或S3等。 基于Backup的特性,这种方式通常用于对数据进行定期的快照备份&am…

# diskgenius 记录一次 RAID1 硬盘盒数据恢复的经历

摘要 本篇文章记录了一次由于数据库被盗而引起的恢复硬盘数据的经历。我的体会:(1) 在服务器上设置数据库时切记谨慎!密码强度要足够,SSH连接切记要建立好,公开域名时,注意是否有其他不必要的文件暴露在公网下。(2) 用…

EasyRecovery2022电脑硬盘磁盘数据修复教程

EasyRecovery具有磁盘诊断、数据恢复、文件修复等特点的硬盘数据恢复工具,E-mail修复等功能。使用了EasyRecovery,您可以将数据库、电子表格、Word文档,Zip文件很容易找到。打开EasyRecovery软件完成后,您需要选择文件的原始存储位…

TX2刷机、备份与恢复

TX2刷机、备份与恢复 TX2刷机准备为host安装SDK Manager安装jetpack 备份恢复更改TX2软件源 参考: https://blog.csdn.net/qq_41587270/article/details/97623350 https://blog.csdn.net/ycy_dy/article/details/80493392 TX2刷机 准备 host:装有ubun…

MySQL数据库备份与恢复

目录 前言 一、日志管理 1、数据备份的重要性 2、日志分类 2.1错误日志 2.2通用查询日志 2.3二进制日志 2.4慢查询日志 2.5中继日志 数据库备份的分类 从物理与逻辑的角度,备份可分为 从数据库的备份策略角度,备份可分为 常见的备份方法 数…

Openwrt使用mtd和sysupgrade刷机、备份恢复系统配置

查看当前系统分区信息: 1 2 3 4 5 6 7 8cat /proc/mtd dev: size erasesize name mtd0: 00020000 00020000 "CFE" mtd1: 000dff00 00020000 "kernel" mtd2: 00ee0000 00020000 "rootfs" mtd3: 00840000 00020000 "rootfs…

Jeson TX2刷机(Jetpack 4.4版本)及镜像备份与恢复的巨详细教程

JETSON TX2镜像备份与恢复以及刷机的巨详细教程(Jetpack 4.4版本) JETSON TX2镜像备份与恢复以及刷机的巨详细教程(Jetpack 4.4版本)刷机前的絮絮叨叨和准备工作开始刷机备份及恢复 刷机前的絮絮叨叨和准备工作 看了各种论坛上的…

【数据库数据恢复】MySQL数据库误删除未备份的数据恢复案例

MySQL数据库属于关系型数据库。SQL是一种用于操作关系型数据库的结构化语言。关系型数据库就是指在关系模型的基础上建立起来的数据库,是一种借助了集合代数等一些数学方法和数学概念处理数据的数据库。 MySQL数据库具有体积小,速度快,性价比…