服务器数据恢复- RAID5出现故障后恢复数据和操作系统的案例

服务器数据恢复环境:
某品牌服务器中有4块SAS硬盘组建了一组RAID5阵列,另外1块磁盘作为热备盘使用。上层操作系统为redhat linux,部署了一个数据库是oracle的OA。

服务器故障&初检:
RAID5中一块磁盘离线后热备盘未自动激活rebuild,之后另外一块磁盘离线,RAID5阵列崩溃。因为oracle已经不再对服务器中部署的oa提供后续支持,用户联系我们数据恢复中心要求恢复数据和复原操作系统。
将故障服务器中所有磁盘编号后取出,由硬件工程师对所有磁盘进行检测。经过检测发现热备盘根本没有启用,不存在物理故障,无明显同步表现。

服务器数据恢复&操作系统复原过程:
1、将故障服务器中所有磁盘以只读方式做完整镜像,镜像过程中发现后离线的磁盘有十几个坏扇区,其余磁盘均没有发现有坏道。镜像完成后将所有磁盘按照编号还原到原服务器中,后续的数据分析和数据恢复都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析RAID5结构信息,获取到盘序,块大小,backward parity(Adaptec)等RAID相关信息。

3、根据上一步获取到的RAID相关信息虚拟重组RAID并验证数据,发现200M以上的压缩包解压无报错,确定结构正确。
4、按照此RAID结构生成虚拟RAID到一块单硬盘上,打开文件系统没有发现明显报错。
5、得到用户授权后在原盘重建RAID(重建时已经用全新硬盘更换发现坏道的后离线磁盘)。
6、将恢复好的单盘用USB方式接入故障服务器,用linux SystemRescueCd启动故障服务器,然后使用dd命令全盘回写。
7、回写完成后启动操作系统,但是无法进入系统,报错信息为:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied。
8、怀疑此文件权限有问题,用SystemRescueCd重启后检查,此文件时间,权限,大小均有明显错误,显然是节点损坏导致的错误。
9、重新分析重组数据中的根分区,定位出错的/sbin/pidof,发现错误是由后离线的那块磁盘上的坏道所引起。
10、使用完好的3块盘对后离线的那块盘的损坏区域进行xor补齐。补齐后重新校验文件系统仍然出现错误。再次检查inode表,发现后离线磁盘损坏区域有部分节点表现异常。

虽然节点中描述的uid正常存在,但属性,大小和最初的分配块都是错误的。按照所有可能进行分析,但是没有找到方法找回此损坏节点。只能试图修复此节点或复制一个相同的文件过来。
11、针对所有可能存在错误的文件,北亚企安数据恢复工程师通过日志确定原节点块的节点信息,然后做修正。
12、修正后重新dd根分区,执行fsck -fn /dev/sda5依然报错。

根据报错信息,北亚企安数据恢复工程师在系统中发现有多个节点共用同样的数据块。按此提示分析底层,发现存在节点信息的新旧交集。
13、按照节点所属的文件进行区分,清除错误节点后再次执行fsck -fn /dev/sda5,依然有少量报错。根据报错信息,发现这些节点多位于doc目录下,不影响系统启动,于是直接执行fsck -fy /dev/sda5强行修复。
14、修复完成后重启系统,成功进入系统桌面。
15、启动oracle数据库服务,启动OA,一切正常无报错。
16、由用户方对恢复的操作系统和数据(OA和oracle数据库)进行检测,经过用户方多方检测,确认恢复数据完整有效。本次数据恢复工作完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/116483.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1. 安装Zookeeper

​ 1.下载 点击下载Zookeeper 单机版安装 安装Zookeeper前需要先安装jdk上传安装包rz解压安装包:tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz -C /opt/app/zookeeper zookeeper目录结构:a. bin: 放置运行脚本和工具脚本b. conf: zookeeper 默认读取配置的目录,里面会有…

CSS中你不得不知道的盒子模型

目录 1、CSS的盒子模型1.1 css盒子模型有哪些:1.2 css盒子模型的区别1.3 通过css如何转换css盒子模型 1、CSS的盒子模型 1.1 css盒子模型有哪些: 标准盒子模型、怪异盒子模型(IE盒子模型) 1.2 css盒子模型的区别 标准盒子模型&a…

【人工智能】—_神经网络、M-P_神经元模型、激活函数、神经网络结构、学习网络参数、代价定义、总代价

M-P_神经元模型、激活函数、神经网络结构、学习网络参数、代价定义 文章目录 M-P_神经元模型、激活函数、神经网络结构、学习网络参数、代价定义 M-P 神经元模型激活函数(Activation function)神经网络结构举例训练神经网络学习网络参数代价定义均方误差交叉熵(Cros…

C++ deque底层原理

deque底层原理 一、目的二、底层实现三、原理图四、类结构五、push_back六、pop_back 一、目的 实现双端数组 二、底层实现 双向开口的连续线性空间 三、原理图 四、类结构 class deque : protected Deque base _Deque_base._Deque_impl M_map 指针数组 _M_map_size …

avalonia、WPF使用ScottPlot动态显示ECG心电图

文章目录 avalonia、WPF使用ScottPlot动态显示ECG心电图实现效果,动态效果懒得录视频了安装代码部分UpdateData方法就是用来更新心电图表的方法, 根据消息队列数据去更新是视图中的ScottPlot 图表 avalonia、WPF使用ScottPlot动态显示ECG心电图 avalonia…

共筑开源新长城 龙蜥社区走进开放原子校源行-清华大学站

6 月 28 日,以“聚缘于校,开源共行”为主题的 2023 年开放原子校源行活动在清华大学成功举行。本次活动由开放原子开源基金会和清华大学共同主办,来自各行业的 22 位大咖共聚校园共话开源。龙蜥社区技术专家边子政受邀进行技术分享&#xff0…

stable diffusion实践操作-SD原理

系列文章目录 本文专门开一节写SD原理相关的内容,在看之前,可以同步关注: stable diffusion实践操作 文章目录 系列文章目录前言一、原理说明1.1、出图原理1.1.1 AI画画不是和人一样,从0开始,而是一个去噪点的过程&am…

IP初学习

1.IP报文 首部长度指的是报头长度,用于分离报头和有效载荷 2.网段划分 IP地址 目标网络 目标主机 3.例子 4.特殊的IP地址 5.真正的网络环境 6.调制解调器 “猫”,学名叫宽带无线猫 7.NAT 源IP在内网环境不断被替换 8.私有IP不能出现在公网上 因…

【LeetCode75】第四十三题 钥匙和房间

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 给我们一个数组,表示对应的房间里拥有能开启的对应索引号的钥匙。 一开始我们只能进入0号房间,也就是数组里索引…

【计算机组成 课程笔记】3.2 算数运算和逻辑运算的硬件实现

课程链接: 计算机组成_北京大学_中国大学MOOC(慕课) 3 - 2 - 302-门电路的基本原理(11-39--)_哔哩哔哩_bilibili 现代计算机的CPU和其他很多功能部件都是基于晶体管的集成电路,想要了解计算机组成的基本原理,还是需要有…

系统架构技能之设计模式-工厂模式

一、开篇 本文主要是讲述设计模式中最经典的创建型模式-工厂模式,本文将会从以下几点对工厂模式进行阐述。 本文将会从上面的四个方面进行详细的讲解和说明,当然会的朋友可以之处我的不足之处,不会的朋友也请我们能够相互学习讨论。 二、摘…

SpringCloudAlibaba常用组件

SpringCloudAlibaba常用组件 微服务概念 1.1 单体、分布式、集群 单体 ⼀个系统业务量很⼩的时候所有的代码都放在⼀个项⽬中就好了,然后这个项⽬部署在⼀台服务器上就 好了。整个项⽬所有的服务都由这台服务器提供。这就是单机结构。 单体应⽤开发简单,部署测试…

el-date-picker自定义只能选中当前月份和半年内月份等

需求:el-date-picker只能选中当前月期和当前月期往前半年,其他时间就禁用了不让选择了,因为没数据哈哈。当然也可以选择往前一年等。 一、效果 二、写个日期选择器 :picker-options:日期选项 value-format:选择后的格…

运算放大器总结

早期的运算放大器目的是制造模拟计算机,用来计算各种数学公式。虽然现在已经被数字电路替代了,但是运算放大器在模拟电路设计中,仍然是最重要的知识。 1、运放是怎么工作的? 以电压反馈型运放(VFA)为例。由…

一套成熟在用的Spring Cloud工程项目数字化管理云平台源码

技术架构: 微服务JavaSpring Cloud VueUniApp MySql 开发语言:Java 开发工具:Idea 前端框架:Vue 后端框架:Spring Cloud 数 据 库:MySql 移 动 端:UniApp 系统端口:PC端&…

【2D/3D RRT* 算法】使用快速探索随机树进行最佳路径规划(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

渗透测试漏洞原理之---【失效的访问控制】

文章目录 1、失效的访问控制1.1、OWASP Top 101.1.1、A5:2017-Broken Access Control1.1.2、A01:2021 – Broken Access Control 1.2、失效的访问控制类别1.2.1、水平越权1.2.2、垂直越权 1.3、攻防案例1.3.1、Pikachu靶场 Over Permision1.3.2、DVWA越权利用失效的访问控制漏洞…

Message: ‘chromedriver‘ executable may have wrong permissions.

今天运行项目遇到如下代码 driverwebdriver.Chrome(chrome_driver, chrome_optionsoptions)上述代码运行报错如下: Message: chromedriver executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home出错的原…

若依富文本 html样式 被过滤问题

一.场景 进入页面,富文本编辑框里回显这条新闻内容,如下图, 然后可以在富文本编辑框里对它实现再编辑,编辑之后将html代码提交保存到后台数据库。可以点击详情页进行查看。 出现问题:在提交到后台controller时&#x…

串行FIR滤波器

串行 FIR 滤波器设计 串行设计,就是在 16 个时钟周期内对 16 个延时数据分时依次进行乘法、加法运算,然后在时钟驱动下输出滤波值。考虑到 FIR 滤波器系数的对称性,计算一个滤波输出值的周期可以减少到 8 个。串行设计时每个周期只进行一次乘…