服务器数据恢复—Storwize V3700存储数据恢复案例

服务器存储数据恢复环境:
某品牌Storwize V3700存储,10块硬盘组建了2组Mdisk加入到一个存储池中,一共创建了1个通用卷来存放数据,主要数据为oracle数据库。

服务器存储故障:
其中一组Mdisk中两块磁盘出现故障离线,该组Mdisk失效,导致该通用卷无法使用。

服务器存储数据恢复过程:
1、将故障存储中所有磁盘编号后取出,由硬件工程师对所有磁盘进行硬件故障检测,经过检测发现离线的两块硬盘盘片有划伤,无法正常做镜像。将其他检测没有硬件问题的8块磁盘以只读方式进行扇区级全盘镜像,镜像完成后按照编号将所有磁盘还原到故障存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免数据分析和数据恢复操作对原始磁盘数据造成二次破坏。
2、根据用户方提供的配置信息将硬盘按照Mdisk组分类。
3、基于镜像文件分析每一组Mdisk中的所有硬盘,获取到raid相关信息。根据获取到的raid相关信息虚拟重组Mdisk。


4、重组完成后对所有Mdisk进行分析,获取到pool存储池的相关信息。
5、根据获取到的pool存储池的相关信息虚拟重组pool存储池,然后提取数据Lun并生成镜像文件。
6、LUN镜像文件生成后,根据oracle数据库固有特征值在当前文件内扫描oracle数据库数据页。经过扫描获取到4个文件:SYSTEM、SYSAUX、USER、UNDOTBS1。
7、尝试解析系统表。在解析OBJ$的过程中发现损坏程度较大,较多表信息已丢失。在系统表不可用的情况下,北亚企安数据恢复工程师只能通过人工匹配表结构信息、记录特征信息来确定数据页所属的表。
8、通过行总数进行模糊匹配,但是匹配效果不理想。通过匹配特殊记录进行匹配,匹配到结果后手工解析记录,查看是否符合表结构、语义要求和类型要求。经过大量的搜索、解析、匹配,服务器数据恢复工程师完成了数据页到表的连接。
9、提取备份库内表结构,创建恢复环境。北亚企安数据恢复工程师编写记录提取程序提取数据页内记录并导入到恢复环境内。
10、导入完成后检查,发现有重复或者错误数据则进行处理,直到没有问题后导出数据并验证。
11、经过用户方的仔细验证,确认恢复出来的数据完整有效,认可本次数据恢复结果。本次数据恢复工作完成。

服务器存储数据恢复总结:
本案例恢复难度比较大。由于两块硬盘盘片都有划伤,在缺失两块硬盘的情况下,数据出现条带化错误,数据恢复工程师尝试了各种方案,最终修复了错误并提取出用户所需要的数据库记录。经用户验证,所恢复出来的表都是有效数据。

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

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

相关文章

【每日刷题】Day28

【每日刷题】Day28 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 ​ 1. 121. 买卖股票的最佳时机 - 力扣(LeetCode) 2. 205. 同构字符串 - 力扣…

解决python file.read()读取文件为空报错

问题描述 今天写的python脚本出现了file.read()读不到文件内容的问题,原脚本如下: with open(path,r) as f:znre.compile(rZN ZN)znallzn.findall(f.read())if len(znall) 1:list2.append(id)for i in list1:#print(f.read())if i in f.read():lis…

如何写得一手优雅规范的SpringBoot 接口?

导语 优雅的代码赏心悦目,你的代码触目惊心。 当编写 Spring Boot 接口时,优雅和规范是至关重要的。一个良好设计的接口能够提高代码的可读性、可维护性和可扩展性,从而为整个应用程序的开发和维护带来便利。 在本文中,我们将探讨…

关于discuz论坛网址优化的一些记录(网站地图sitemap提交)

最近网站刚上线,针对SEO做了些操作,为了方便网站网页百度被收录,特此记录下 discuz有免费的sitemap插件可以用,打开后台管理,找到插件栏,然后找到更多插件,进入插件市场。 选择这个免费的sitem…

【数据分析面试】34.填充NaN值 (Python:groupby/sort_value/ffill)

题目:填充NaN值 (Python) 给定一个包含三列的DataFrame:client_id、ranking、value 编写一个函数,将value列中的NaN值用相同client_id的前一个非NaN值填充,按升序排列。 如果不存在前一个client_id,则返…

Linux详解:进程等待

文章目录 进程等待等待的必要性进程等待的方法waitwaitpid获取子进程status阻塞等待 与 非阻塞等待 进程等待 等待的必要性 子进程退出,父进程不进行回收的话,就可能造成僵尸进程,进而造成内存泄露 如果进程进入了僵尸状态,kill…

Tcp自连接

Tcp自连接 如果客户端和服务端都在同一个环境,并且客户端先于服务端启动,那么很有可能产生自连接的现象。 所谓自连接,就是tcp两端使用了同一个端口进行连接,即localhost:port->localhost:port。 实现自连接 下面提供一个例…

GITEE 基于OAuth2的API V5版本

为了构建更好的码云生态环境,我们推出了基于OAuth2的API V5版本。 API V5接口使用方式以及Url都参照GitHub,为了各位开发者更好的兼容已经存在的第三方应用。 API 使用条款 OSCHINA 用户是资源的拥有者,需尊重和保护用户的权益。不能在应用…

4.29 IO多路复用

管道,就是用于进程之间的通信文件,根本不会用到磁盘内容,只是用来标记一块缓冲区,所以无论任何时候大小都是0。 管道必须要同时打开,只开一端是不行的,这样的话不能进行后续的操作,会卡在那里&…

基于SpringBoot+Vue高校竞赛管理系统的设计与实现

项目介绍: 高校竞赛管理系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、竞赛公告管理、获奖管理、老师管理、评审管理、评审分配管理、评审打分管理、赛事管理、赛事提交管理、赛事报名管理、用户管理、专家管理、管理员管理。用…

如何安装最新版Docker Compose?

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YAML 文件来配置应用服务,然后只需一个简单的命令便能创建和启动所有服务。在本篇博客中,我们将详细介绍如何在 Linux 系统上安装 Docker Compos…

修改ETCD返回数据限额

问题 通过 get_prefix, get_range 等ETCD 接口查询大量数据时,报数据大小超过限额。 grpc_message:“Received message larger than max (5834875 vs. 4194304)” 原因 ETCD默认设置了4MB数据限额,如果返回的数据超过限额则会报错。 解决方法 解决方…

可以向同事炫耀的10个Python技巧

Python 是一种用途极为广泛的编程语言,有大量的库和框架为其提供支持。然而,在庞大的 Python 生态系统中,还存在一些鲜为人知的编码技巧和库,它们可以显著增强您的开发体验并优化您的代码。我们将探讨一些鲜为人知的 Python 技巧&…

0071__waitwaitpid函数详解

(4)wait&&waitpid函数详解_c语言 waitpid-CSDN博客

W801学习笔记十六:掌机系统——启动第一个应用

在开始游戏应用开发之前,我们先搞一个简单的应用,目的是把菜单操作与应用启动之间打磨平顺。 这里,我们做一个关于About页面即可。 1、菜单项JSON的定义: [{"t": "关于","i": "menu/test16…

与Apollo共创生态:七周年大会深有体会!

前言 百度从2013年开始涉足自动驾驶领域。2017年3月1日,百度通过内部邮件宣布,将现有业务和资源整合,成立智能驾驶事业群组(简称IDG)。同年,在上海车展上,百度发布了“Apollo计划”&#xff0c…

Git:克隆代码,提交流程,分支提交流程

1.克隆代码 git clone http://…(代码地址) 克隆代码到本地 2.提交流程(不牵涉分支) 1)git add . 将本地修改的文件暂存到缓存区 2)git commit -m "当次提交解释说明备注" 在日志中显示 3)git…

0426GoodsBiddingAJAX项目

0426GoodsBiddingAJAX项目包-CSDN博客 数据库字段 ​ 管理员的登录界面 ​ 登录成功跳转在线拍卖界面,使用监听器拦截请求,只能登录管理员后访问该界面 ​ 商品竞拍列表 ​ 商品竞拍列表的竞拍操作: ​ 1 用户未登录跳转用户登录界面&#x…

面向对象编程三大特征:封装、继承、多态

封装、继承、多态 1. 封装 1.1 介绍 封装(encapsulation)就是把抽象出的数据 [属性] 和对数据的操作 [方法] 封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作 [方法] ,才能对数据进行操作。 1.2 封装的理解和好处 1) 隐藏实现细节:方法(连接数据库)<…

STM32CubeMX+MDK通过I2S接口进行音频输入输出(全双工读写一个DMA回调)续-音质问题解决总结

一、前言 之前进行了STM32CubeMXMDK通过I2S接口进行音频输入输出&#xff08;全双工读写一个DMA回调&#xff09;的研究总结&#xff1a; https://juejin.cn/post/7339016190612881408#heading-34 后续音质问题解决了&#xff0c;目前测试下来48khz的双声道使用效果很好&…