当前位置: 首页 > news >正文

服务器出现故障如何恢复数据?

服务器数据恢复案例之服务器raid6中3块硬盘离线导致阵列崩溃的数据恢复案例
服务器故障:
服务器中有一组由6块盘组建的 RAID6,这台网站服务器上运行MYSQL数据库和存放其它类型的文件。该组raid中有两块磁盘离线,管理员没有及时更换磁盘,当第3个磁盘离线,raid崩溃,服务器数据丢失。
服务器数据恢复过程:
1、用户方将服务器送到我们数据恢复中心后,硬件工程师将故障服务器中所有磁盘编号后取出,检查完硬件故障后将这6块磁盘以只读方式完整镜像到北亚企安数据恢复专用存储池中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有磁盘底层数据,数据恢复工程师发现有两块磁盘离线时间比较早,这2块磁盘上没有写入新的数据。此RAID6采用的双校验,:第一个校验是由普通的XOR运算生成,而第二个校验是由Reed-Solomon算法生成。因为此RAID6较早掉线的两块磁盘早已不写入新数据,所以需要通过第二个校验来恢复数据,否则会导致最新数据的丢失或损坏。
3、服务器数据恢复工程师通过分析获取到原始RAID6的相关参数,然后使用北亚企安自主编写的RAID6恢复软件生成一个完整镜像,再将镜像导回用户方新搭建好的环境中,开机一切正常,经过服务器管理员的仔细验证,没有发现任何问题,用户方认可数据恢复结果。

服务器数据恢复案例之服务器RAID5两块硬盘指示灯显示红色导致服务器崩溃的数据恢复案例
服务器故障:
服务器中有一组使用NetRaid阵列卡+4块磁盘组建的RAID5阵列,上层操作系统为Window2000,运行SQLServer2000数据库。服务器在正常工作时突然有一块硬盘指示灯显示红色,机器仍然在正常运行,一段时间后服务器无法正常工作,这时候又有一个硬盘指示灯显示红色。管理员将故障服务器送到北亚企安数据恢复中心要求恢复其中的数据。
服务器数据恢复过程:
1、数据恢复工程师拿到服务器后将故障服务器通电后开启,服务器启动后自检至阵列时按Ctrl+M进入NetRaid管理程序。查看阵列信息发现有2块硬盘状态为Failed,将其中一块硬盘设置为OnLine,重新启动服务器,硬件自检无效,启动失败。
2、再次启动服务器,自检至阵列时按Ctrl+M进入NetRaid管理程序。选择磁盘阵列,将原来手工设置为OnLine的硬盘重新设置为Failed,然后再把另一块Failed的硬盘设置成OnLine,重新启动服务器后成功进入系统。经过检查发现系统及数据库运行正常,再次进入NetRaid管理程序将剩下的那块状态为Failed的硬盘手动设置为Rebuild,完成重建后再次重启服务器,成功进入系统。经过检查发现阵列和系统都恢复原状了。经过服务器管理员的亲自验证,没有发现任何问题,用户方认可数据恢复结果。

服务器数据恢复案例之服务器硬盘出现坏道/坏扇区离线导致服务器崩溃的数据恢复案例
服务器故障:
一台有20块硬盘的服务器,在运行过程中上层业务突然崩溃,管理员检查后发现服务器崩溃的原因是服务器上有3块磁盘离线,管理员将服务器内的所有磁盘编号后按照现有盘序从槽位取出送到北亚企安数据恢复中心要求恢复服务器中的数据。
服务器数据恢复过程:
1、拿到故障服务器中所有磁盘后,硬件工程师对20块硬盘进行硬件故障检测,经过检测所有硬盘均可识别,没有发现明显的硬件故障。
2、以只读方式将所有硬盘做扇区级别的完整镜像,在镜像过程中发现离线的3块磁盘镜像速度异常,结合之前三块磁盘离线,可以判断这三块离线的磁盘应该存在大量的坏道或者不稳定扇区。调整镜像策略跳过硬盘的坏扇区继续做镜像,直到所有磁盘都完成镜像。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
3、基于镜像文件分析所有磁盘的底层数据,通过逆向分析ext3文件系统获取服务器内磁盘盘序和校验信息,利用获取到的raid信息重组raid阵列。
4、和用户方的沟通后,北亚企安数据恢复工程师提取了故障服务器中运行的oracle数据库的dmp文件,然后尝试将dmp文件导入来恢复oracle数据库数据,结果数据库报告imp-0008错误。分析日志文件后发现提取的dmp文件存在问题,所以导致dmp文件导入失败。
5、重新分析raid结构,进一步确定ext3文件系统被破坏的程度。经过数小时的分析后重新提取dmp文件和dbf原始库文件,将提取出来的dmp文件移交给用户方进行数据导入的测试,经过测试没有发现问题。对提取出来的dbf原始库文件进行校验&检测,所有文件均通过测试。
6、用户方对恢复数据进行验证后认可数据恢复结果。在服务器上搭建了一组新的raid阵列,在数据恢复工程师的帮助下将所有数据迁移到新准备的环境中。

相关文章:

  • 蓝桥杯真题讲解:更小的数(区间DP)
  • 绘图设计:用Draw.io绘制图形技巧大全(含统一建模语言UML模板)
  • 链表中的经典问题——奇偶链表
  • nginx代理参数proxy_pass
  • SpringCloud Ribbon 负载均衡服务调用
  • JS(二)数据类型,流程控制
  • 药业“钉”上云端:与钉钉共舞数字化新时代
  • 傅里叶变换pytorch使用
  • Openfeign+Ribbon+Hystrix断路器(服务降级)
  • Vue 双向数据绑定
  • 使用docker安装logstash的具体方法
  • 网络安全: Kali Linux 使用 MSF 漏洞利用
  • 部署 Web 项目到Linux上
  • 智慧灯杆-智慧城市照明现状分析(1)
  • Android Studio Iguana | 2023.2.1版本
  • 【附node操作实例】redis简明入门系列—字符串类型
  • E-HPC支持多队列管理和自动伸缩
  • es6--symbol
  • React中的“虫洞”——Context
  • 计算机在识别图像时“看到”了什么?
  • 记一次和乔布斯合作最难忘的经历
  • 力扣(LeetCode)965
  • 人脸识别最新开发经验demo
  • 系统认识JavaScript正则表达式
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 翻译 | The Principles of OOD 面向对象设计原则
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #git 撤消对文件的更改
  • $.each()与$(selector).each()
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (C语言)二分查找 超详细
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (windows2012共享文件夹和防火墙设置
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (回溯) LeetCode 131. 分割回文串
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转载)hibernate缓存
  • (转载)虚函数剖析
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Core中如何集成RabbitMQ
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET中分布式服务
  • @requestBody写与不写的情况
  • [ C++ ] 类和对象( 下 )
  • [Android] 240204批量生成联系人,短信,通话记录的APK
  • [autojs]逍遥模拟器和vscode对接
  • [C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)
  • [C++基础]-入门知识
  • [Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率