【服务器数据恢复】raid5故障导致LUN无法访问的数据恢复案例

news2024/12/26 11:06:52

服务器数据恢复环境:
一台服务器中有一组由数块SAS硬盘组建的RAID5阵列,阵列中有1块热备盘,上层部署OA以及Oracle数据库。

服务器故障:
该磁盘阵列中有2块硬盘出现故障先后离线,RAID5阵列瘫痪,上层LUN无法正常使用。经过检测发现硬盘无物理故障,无坏道。

服务器数据恢复过程:
1、将故障服务器中所有磁盘编号后取出,以只读方式做全盘镜像,备份完成后将磁盘按照编号还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。


 

2、基于镜像文件分析底层数据获取RAID条带大小、磁盘顺序及数据走向等RAID相关信息,根据获取到RAID信息重组RAID5。
3、分析LUN在RAID中的分配情况和LUN分配的数据块MAP。提取每一个LUN的数据块分布MAP,北亚企安数据恢复工程师编写程序解析所有LUN的数据MAP,根据数据MAP导出所有LUN的数据。


 

4、对导出的LUN的数据进行分析,发现所有LUN中均包含HP-Unix的LVM信息。通过解析每个LUN中的LVM信息,发现共有三套LVM:一个LVM划分了一个LV来存放OA服务器端的数据;第二个LVM中也划分了一个LV来存放临时备份数据;剩下的4个LUN组建了一个LVM,划分了一个LV来存放Oracle数据库文件。
5、北亚企安数据恢复工程师编写程序解释每套LVM中的LV卷,但在解释的过程中程序报错。经过分析发现报错原因是raid5瘫痪导致LVM信息损坏。人工修复损坏区域后,同步修改解释程序后成功解释LVM逻辑卷。
6、搭建HP-Unix环境,将解释出来的LV卷映射到HP-Unix并尝试挂载文件系统。但是挂载文件系统时出错,尝试使用“fsck –F vxfs” 命令修复vxfs文件系统,但修复完成后还是无法挂载。
7、分析解释出来的LV,根据VXFS文件系统的底层结构校验此文件系统的完整性。经过分析发现VXFS文件系统果然有问题,出现问题的原因是:当raid5瘫痪时VXFS文件系统正在执行IO操作,导致部分文件系统元文件没有更新以及损坏。手工修复这些损坏的元文件直至能够正常解析VXFS文件系统。
8、将修复好的LV卷挂载到HP-Unix小机上,尝试Mount文件系统,这次没有报错,成功挂载。
9、在HP-Unix小机上成功mount文件系统后,将所有用户数据均备份至指定的磁盘空间。部分文件目录截图如下:


 

10、使用Oracle数据库文件检测工具检测数据库文件的完整性,检测无误后使用北亚企安自主研发的Oracle数据库检测工具进行检测,经过检测发现部分数据库文件和日志文件校验不一致。数据库工程师对这部分文件进行修复后并再次校验,直至所有数据库文件均通过校验。
11、将恢复出来的Oracle数据库附加到原始生产环境中,尝试启动Oracle数据库,启动成功。

 

数据验证:
在用户方的配合下启动Oracle数据库和OA服务端。在本地电脑上安装OA客户端,通过OA客户端验证新旧数据记录,安排不同部门人员进行远程验证。经过反复验证确认数据完整无误。本次数据恢复工作完成。
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用记事本编写第一个GO程序

开发环境: go1.18.3 记事本 先来看一下要编写的第一个hello,world Go程序 package main import "fmt"func main() {/* this is my first Go program*/fmt.Println("hello,world") } 第一行代码 package main定义了域名,你必须在源文…

设计模式->观察者设计模式和订阅者发布者设计模式的区别

设计模式->观察者设计模式和订阅者发布者设计模式的区别 一、先复习一下观察者设计模式的相关定义,优点,以及缺点1.定义观察者模式的三个典型例子 2.优点3.缺点4.观察者设计模式的主要角色5.代码举例完整代码 二、回答问题:观察者设计模式和订阅者发布者设计模式的区别 一、…

【Java-SpringBoot+Vue+MySql】项目开发综合—经验总结

目录 框架: 编程思维: MVC架构: 前端——组件式开发 开发思路梳理: 后端—— 前端—— 效果图 信息列表: 修改用户​编辑 新增用户 删除用户 数据清空 批量上传 框架: 后端:JAVA-SpringBoot2.6、包管理器M…

13.RocketMQ之消息的存储与发送

1. 消息存储 1.1 消息存储 分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。 消息生成者发送消息Broker收到消息,将消息进行持久化,在存储中新增一条记录返回ACK给生产者Broker消息给对应的消费者,然后等待消费者返回A…

Keras-4-深度学习用于计算机视觉-猫狗数据集训练卷积网络

0. 说明: 本篇学习记录主要包括:《Python深度学习》的第5章(深度学习用于计算机视觉)的第2节(在小型数据集上从头开始训练一个卷积神经网络)内容。 相关知识点: 从头训练卷积网络&#xff1b…

AI 绘画用 Stable Diffusion 图生图局部重绘功能给美女换装(这是我能看的嘛)

昨天带大家一起装好了 Stable Diffusion 的环境,今天就来带大家一起体验一下 Stable Diffusion 的局部重绘功能。 没装好环境的可以看上一篇:AI 绘画基于 Kaggle 10 分钟搭建 Stable Diffusion(保姆级教程) Stable Diffusion 的…

可重入,可打断,公平锁,条件变量原理解读

目录 可重入原理 可打断原理 不可打断模式 可打断模式 公平锁实现原理 条件变量实现原理 await 流程 signal 流程 可重入原理 什么是可重入:当线程请求一个由其它线程持有的对象锁时,该线程会阻塞,而当线程请求由自己持有的对象锁…

阿里刚换帅,京东忙换将:新时代号角吹响

6月26日早间,京东物流在港交所发布公告称,京东物流CEO余睿因个人身体原因辞任执行董事、首席执行官及授权代表,原京东产发CEO胡伟将担任京东物流CEO。 同时,据《科创板日报》报道,京东集团将新成立创新零售部&#xf…

【论文笔记】Fast Segment Anything

我说个数:一个月5篇基于Fast Segment Anything的改进的论文就会出现哈哈哈哈。 1.介绍 1.1 挑战 SAM架构的主要部分Transformer(ViT)模型相关的大量计算资源需求,这给其实际部署带来了障碍 1.2 任务解耦 将分段任意任务解耦为…

正确认识:1189194-65-7,DOTA-CH2-Alkynyl (TFA salt),试剂的结构式和CAS

文章关键词:双功能螯合剂,大环配体,标记螯合剂修饰 【产品描述】 DOTA-CH2-Alkynyl (TFA salt)中TFA是一种强酸。它可以质子化任何氨基。盐酸也是这样。在纯化多肽过程中的反相HPLC,有一种技术是阴离子交换。将多肽加载在柱子上&a…

MySql基础教程(三):创建数据表、数据增删改查、删除数据表

MySql基础教程(三):创建数据表、数据增删改查、删除数据表 1、创建数据表 创建MySQL数据表需要以下信息: 表名表字段名定义每个表字段 1.1 语法 下面是创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name column_typ…

无线蓝牙通信有关(NRF2401模块)的功耗,通道频率等

参考: ISM频段 Industrial Scientific Medical,ISM(工业、科学、医疗)频段为国际电信联盟(ITU)《无线电规则》定义的指定无线电频段。 Frequency-Shift Keying 数字调制技术(FSK调制) 将需要…

又是一年毕业季,准备好踏入职场了吗?

文章目录 一、大学时光二、给毕业生的一些建议三、职场中的经验分享四、程序员未来职业规划 一、大学时光 作为一名程序员,大学时光是我职业生涯中最重要的时期之一。这四年的大学,我不仅学到了计算机科学的理论知识,还积累了丰富的编程经验…

tqdm:python的简单可视化进度

tqdm:python的简单可视化进度 说明 ​ 本篇文章的主要目的是快速上手使用,而不是解析源码。 目录结构 文章目录 tqdm:python的简单可视化进度1. 应用场景2. 库安装3. 方法速览4. 案例5. 总结 1. 应用场景 ​ 进度条应用的场景很多&#xff0…

YOLOv8独家原创改进:独家首发最新原创XIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能、收敛速度和鲁棒性

💡该教程为属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章为YOLOv8独家原创改进:独家首发最新原创XIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能、收敛速度和鲁棒性。 💡对自己…

[RocketMQ] Producer发送消息的总体流程 (七)

单向发送: 把消息发向Broker服务器, 不管Broker是否接收, 只管发, 不管结果。同步发送: 把消息发向Broker服务器, 如果Broker成功接收, 可以得到Broker的响应。异步发送: 把消息发向Broker服务器, 如果Broker成功接收, 可以得到Broker的响应。异步所以发送消息后, 不用等待, 等…

css基础知识十:介绍一下CSS中的Grid网格布局?

一、是什么 Grid 布局即网格布局,是一个二维的布局方式,由纵横相交的两组网格线形成的框架性布局结构,能够同时处理行与列 擅长将一个页面划分为几个主要区域,以及定义这些区域的大小、位置、层次等关系 这与之前讲到的flex一维…

操作系统—内存管理

单片机是没有操作系统的,每次写完代码都是通过一些工具将程序直接烧录进去,这样程序才能跑起来。单片机的CPU是直接操作内存的物理地址。在这种情况下,要想在内存中同时运行两个程序是不可能的,程序会崩溃。那么操作系统为了解决这…

LLM相关的一些调研

Prompt Engine 可以参考该项目,该项目提供关于提示词书写的规则。由openai以及吴恩达完成。 https://github.com/datawhalechina/prompt-engineering-for-developers由于目前chatgpt 无法直接在国内访问,推荐在claude on slack上尝试。关于claude api h…

Leetcode:1035. 不相交的线、53. 最大子数组和(C++)

目录 1035. 不相交的线 题目描述: 实现代码与解析: 动态规划 原理解析: 53. 最大子数组和 题目描述: 实现代码与解析: 动态规划 原理思路: 1035. 不相交的线 题目描述: 在两条独立的水…