服务器数据恢复环境:
华为s系列服务器;
24块硬盘组成一组raid5磁盘阵列,其中包含1块热备盘。

服务器故障&检测:
服务器工作状态下raid5中有一块硬盘离线,热备盘激活替换离线硬盘并开始进行数据同步,在同步的过程中该raid5阵列内的另一块硬盘由于未知原因离线,上层应用崩溃,服务器内的数据丢失。
拿到故障服务器内的所有硬盘后,硬件工程师对所有硬盘进行物理故障检测,发现除了其中的一块硬盘外,其他硬盘均可以正常读取无物理故障。

服务器数据恢复过程:
1、将故障服务器内所有硬盘以只读方式做完整的镜像备份,后续数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、由于华为s系列服务器的控制器的磁盘检测策略非常严格。对于没有物理故障但性能不稳定的硬盘,控制器会将其视作坏盘踢出阵列。之前检测到只有一块硬盘存在物理故障,因此故障服务器中掉线的两块盘中另外一块是因为读写不稳定被视作坏盘踢出而掉线。
3、对每一块硬盘底层进行分析,获取到raid阵列的条带大小、数据走向、硬盘顺序、热备盘、数据库的分布规律等raid相关信息。根据分析获取到的raid阵列信息重组raid。
4、根据分析获取到的阵列相关信息,使用北亚企安自主研发的工具重组原始raid5阵列。
5、在重组过程中发现有一块硬盘内的数据在同步时候被破坏。由于在数据恢复过程中需要将数据被损坏的硬盘排除,于是数据恢复工程师对所有硬盘进行了底层数据结构的对比。对比发现其中一块硬盘在相同条带上的数据与其他硬盘明显不同。
6、使用北亚自主研发的raid校验程序对该硬盘进行条带校验,确认该硬盘数据已经在同步的时候被破坏。排除这块硬盘后重组raid5磁盘阵列。
7、完成raid阵列重组后,分析lun在raid中的分配情况及数据块map。只要能将map完整提取出来,就可以进行解析并提取lun数据。
8、北亚企安数据恢复工程师编写文件系统解析程序对阵列内文件系统进行解析并导出数据库文件。
9、由数据库工程师对提取的数据库文件进行校验和修复。数据库工程师对数据库文件进行验证后发现部分数据库文件及日志文件异常,表空间内存在大量坏块、所有控制文件被破坏,undotbs02丢失,数据库工程师对数据库文件进行了修复。
修复过程:

数据验证:
经过数据库工程师对数据库文件的修复和验证,最终恢复出所有的数据库文件。服务器数据恢复工程师将修复成功的数据库数据导入到准备好的环境中进行验证,所有数据正常。联系用户亲自对数据进行验证均无异常。本次数据恢复工作完成。

【服务器数据恢复】热备盘同步失败导致数据丢失的raid5数据恢复案例的更多相关文章

  1. 服务器较稳妥的磁盘阵列方案:RAID5+热备盘

    最近公司这边要整个数据中心,但是我们这边磁盘阵列的方案选择方面需要做好万全的测试 内部测试的服务器当初损坏的磁盘1个做的raid5直接换个新磁盘做替换rebuild就行了 但是现在想的方法是5+1的方 ...

  2. 联想服务器X3650 M2 配置 RAID5 + 热备盘

    实验环境: 1.  服务器型号联想 System X3650 M2 2.  六块300G  SAS硬盘 实验目的: 配置RAID 5 ,搭建重要文件备份服务器. 标注:本教程六块硬盘,其中五块硬盘做R ...

  3. dell服务器在bios中指定raid5的热备盘

    一.创建raid5 二.指定热备盘   选择第15块磁盘作为上面创建的raid5的热备盘 选中 选中我们刚创建的raid5,点击OK

  4. RAID及热备盘详解

    RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列. 一.出现的原因(RAID的优点): 它的用途主要是面向服务器,但现在的个人电脑由 ...

  5. MySQL7.5.15数据库配置主从服务器实现双机热备实例教程

    环境说明 程序在:Web服务器192.168.0.57上面 数据库在:MySQL服务器192.168.0.67上面 实现目的:增加一台MySQL备份服务器(192.168.0.68),做为MySQL服 ...

  6. MySQL5.7.15数据库配置主从服务器实现双机热备实例教程

    环境说明 程序在:Web服务器192.168.0.57上面 数据库在:MySQL服务器192.168.0.67上面 实现目的:增加一台MySQL备份服务器(192.168.0.68),做为MySQL服 ...

  7. MySQL数据库配置主从服务器实现双机热备

    转自:http://www.cnblogs.com/cchun/p/3712637.html 一.安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168 ...

  8. 服务器Hot Spare热备

    Hot Spare:热备用 当一个正在使用的磁盘发生故障后,一个空闲.加电并待机的磁盘将马上代替此故障盘,此方法就是热备用.热备用磁盘上不存储任何的用户数据,最多可以有8个磁盘作为热备用磁盘.一个热备 ...

  9. Mysql双机热备配置(超详细多图版)

    一.双击热备介绍 1.基本概念 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active- ...

  10. Mysql+Keepalived双主热备高可用操作记录

    我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Mast ...

随机推荐

  1. element plus + vue3表单第一次数据未清空的bug问题解决

    使用框架:element Plus + vue3 场景描述: 场景一: 表单的添加和修改功能,公用同一个弹框,点击修改后,点击添加表单显示的是上次修改的数据. 场景二: 点击修改,数据回显到表单,然后 ...

  2. 关于Promise.all()的理解

    本篇笔记是抄的别人的,目的只是为了日后有用到时有个参考,原文地址是https://www.jianshu.com/p/7e60fc1be1b2 一.Pomise.all的使用 Promise.all可 ...

  3. 基于pytorch实现模型剪枝

    一,剪枝分类 1.1,非结构化剪枝 1.2,结构化剪枝 1.3,本地与全局修剪 二,PyTorch 的剪枝 2.1,pytorch 剪枝工作原理 2.2,局部剪枝 2.2.1,局部非结构化剪枝 2.2 ...

  4. 解析关于Tomcat Servlet-request的获取请求参数及几种常用方法

    摘要:本文主要讲解Tomcat之Servlet-request请求参数.Servlet转发机制.常用方法 本文分享自华为云社区<浅谈Tomcat之Servlet-request获取请求参数及常用 ...

  5. 使用python编写简单的api接口

    先安装flask模块 pip install Flask py文件 from flask import Flask, request, jsonify app = Flask(__name__) @a ...

  6. NameError: name '_name_' is not defined

    if _name_ == '_main_': 错误的原因可能是name是双下划线.(明显下面的下划线要长一点) if __name_ == '_main__':

  7. sudo漏洞解决方案--源码转rpm包(spec文件编写)

    RPM 知识储备 将源码包打包成rpm包,一般有两种情况 在找包中,能够在网上找到 ".src.rpm" 结尾的包,并且是根据漏洞需要升级的版本的包 在找包中,没有找到 " ...

  8. 将python2.7项目转为Python3问题记录

    将一个Python2.7开发的测试工具项目转化为Python3. 工具:Python自带的2to3.py 将所有.py文件进行转化,生成的python3文件为原文件名,python2文件在后面加.ba ...

  9. 【10】java之final关键字

    1.使用final 定义的变量就变成了常量,常量必须在定义的时候就设置好内容且不能修改. public static final 声明的就是全局常量. public static final Stri ...

  10. Python elasticsearch 使用心得

    一.配置 python == 3.6/3.8 # 更高版本的elasticsearch会出现doc_type被统一成_doc导致旧版语句报错的情况 pip install elasticsearch= ...