服务器数据恢复—EVA存储故障导致上层应用不可用的数据恢复案例
服务器存储数据恢复环境:
一台EVA某型号控制器+EVA扩展柜+FC磁盘。
服务器存储故障&检测:
磁盘故障导致该EVA存储中LUN不可用,导致上层应用无法正常使用。
服务器存储数据恢复过程:
1、将所有磁盘做好标记后从扩展柜中取出。硬件工程师对所有磁盘做物理故障检测,并没有发现有磁盘存在物理故障。使用坏道检测工具检测也没有发现有磁盘存在大量坏道。以只读方式将所有硬盘进行扇区级全盘镜像。镜像完成后将所有磁盘按照原样还原到原扩展柜中,后续的数据分析和数据恢复都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有磁盘底层文件。由于没有检测到有磁盘存在物理故障或者大量坏道,由此推断故障是由于磁盘读写不稳定引起的。EVA控制器通常会将读写性能不稳定的磁盘认定为坏盘并踢出磁盘组。一旦某个LUN的同一个条带中的掉盘数量到达极限,这个LUN将变得不可用。EVA存储中包含这些掉线盘的LUN都会受影响。部分磁盘出现故障可能会导致整个存储无法正常使用。
3、EVA存储的LUN都是以RAID条目的形式存放数据的,EVA存储将每个磁盘的不同块组成一个RAID条目。RAID条目的类型可以有很多种,在恢复数据之前需要分析出组成LUN的RAID条目类型以及RAID条目是由哪些盘的哪些块所组成。这些信息都存放在LUN_MAP中,每个LUN都有一份LUN_MAP。EVA存储将LUN_MAP分别存放在不同的磁盘中,使用一个索引来指定其位置。在每个磁盘中找这个指向LUN_MAP的索引就可以找到现存LUN的信息了。
4、脱离EVA磁盘组的磁盘中存放一些旧的数据,在生成数据的时候需要将这些磁盘都排除掉。由于本案例LUN中RAID都是RAID5阵列,只需要将一个LUN的RAID条目通过RAID5的校验算法算出校验值,再和原校验值做比较就可以判断这个条目中是否有掉线盘。将一个LUN的所有LUN_MAP都校验一遍就可以知道这个LUN中哪些RAID条目中有掉线盘。在这些RAID条目中都存在的那块磁盘一定就是掉线盘。排除掉线盘,根据LUN_MAP恢复所有LUN的数据即可。
5、北亚企安数据恢复工程师编写扫描LUN_MAP的程序扫描全部LUN_MAP,结合人工分析得出最精确的LUN_MAP。编写检测RAID条目的程序检测所有LUN中掉线的磁盘,结合人工分析排除掉线的磁盘。编写LUN数据恢复程序,结合LUN_MAP恢复所有LUN数据。
6、恢复出所有LUN的数据后人工核对每个LUN,确认是否和用户方描述的一致。
恢复出来的部分LUN数据:
7、分析恢复出来的LUN,重组ASM磁盘组,解析ASM磁盘组。
分析每个LUN前端的结构数据,根据ASM磁盘组结构来区分哪些LUN是属于ASM磁盘组的。分析后发现共有2套ASM磁盘组。
每个磁盘组包含的LUN中的分区的情况:

使用ASM结构解析工具解析和修复每个磁盘组,解析出ASM磁盘组中存放的所有数据库文件。
8、分别按照文件类型分组导出解析出的数据库文件&初步检测导出的文件。
9、根据用户方的描述,所有LUN的数据分成两部分:一部分是Vmware的虚拟机;一部分是ORACLE上的ASM磁盘组数据,ASM磁盘组中存放的是Oracle的dbf数据库文件。人工核对哪些LUN是存放Vmware数据,哪些LUN是存放ASM磁盘组数据,然后将LUN挂载到不同的验证环境中验证恢复的数据是否完整。
10、将所有符合vmware虚拟机的LUN里面的虚拟机文件都生成出来,然后通过NFS共享的方式挂载到虚拟主机上,再将虚拟机一个一个的添加到清单。
恢复的部分虚拟机文件:
11、通过NFS将所有虚拟机都添加到虚拟主机以后,将所有虚拟机都加电开机,系统都能正常启动。验证虚拟机里面的数据都没有问题。
部分虚拟机:
12、根据甲方工程师提供的环境信息搭载Oracle数据库验证环境。
a. 环境检测
# uname -all
然后检查各部分存储空间信息,保证空间足够。
b. 检测安装依赖包
根据安装说明“ b19068.pdf ”,检查 oracle10g 所需的补丁包。
检测:
# swlist-l bundle |grep "GOLD"
# swlist-l patch |grep PHNE_31097
如果没有检测到的,需要到官方网站下载并安装。 安装补丁包:
swinstall -s /patchCD/GOLDQPK11i -x autoreboot=true -x patch_match_target=true
c. 创建用户及组
#groupadd dba
#useradd -g dba -d /home/oracle oracle/frombyte
#passwd oracle
d. 创建目录并修改权限
创建目录:
#mkdir –p/opt/oracle/product/10.2/oracledb/
#chown -R oracle:dba/opt/oracle
修改权限:
#chown oracle:dba/usr/oracle_inst/database/frombyte.com
#chmod 755/usr/oracle_inst/database/frombyte.com
e. 设置环境变量
vi /home/oracle/.profile
f. 安装oracle
Oracle的安装要求起图形界面,所以要先测试图像界面能正常启动。
#exoprt DISPLAY=192.168.0.1.0:0
$./runInstaller
图像界面起来之后,先只安装软件,不安装实例。
g. 测试数据库连接
#su - oracle
$sqlplus / as syssdba
13、通过oracle官方检测工具DBV对导出的数据文件进行物理结构检测。
经过验证,确认所有文件结构正确,没有结构性损坏。
14、因为原来数据库实例有2个且使用的ASM存储,所以要按照原来配置和命名创建数据库实例。修改控制文件中的路径,让oracle识别到这些数据库数据文件,然后启动数据库。
dmis数据库启动截图:
gsm数据库启动截图:
整个启动过程正常,没有任何报错,基本上可以判断数据库恢复完好。
15、验证所有数据没有问题后,将vmware虚拟机文件和Oracle数据库文件拷贝至两块硬盘中,然后移交给用户方。
用户方将数据上传至后台,经过检测,程序可正常运行。用户方认可数据恢复结果。
运行情况:


运行规定:

运行变更摘要:
相关文章:
服务器数据恢复—EVA存储故障导致上层应用不可用的数据恢复案例
服务器存储数据恢复环境: 一台EVA某型号控制器EVA扩展柜FC磁盘。 服务器存储故障&检测: 磁盘故障导致该EVA存储中LUN不可用,导致上层应用无法正常使用。 服务器存储数据恢复过程: 1、将所有磁盘做好标记后从扩展柜中取出。硬…...
支持向量机相关证明 解的稀疏性
主要涉及拉格朗日乘子法,对偶问题求解...
静态ip和动态ip适合什么场景
静态住宅ip由于他的ip位置保持不变的,更加适合: 1、账号管理。 使用静态住宅来注册和管理社交媒体账号,例如facebook、领英等,包括电商类的账号也是可以的,例如亚马逊等 2、网站测试 很多网站会检测使用者是否为机器…...
Istio Gateway发布服务
1. Istio Gateway发布服务 在集群中部署一个 tomcat 应用程序。然后将部署一个 Gateway 资源和一个与 Gateway 绑定的 VirtualService,以便在外部 IP 地址上公开该应用程序。 1.1 部署 Gateway 资源 vim ingressgateway.yaml --- apiVersion: networking.istio.…...
前端vue3若依框架pnpm run dev启动报错
今天前端vue3若依框架pnpm run dev启动报错信息: > ruoyi3.8.8 dev D:\AYunShe\2024-11-6【无锡出门证】\wuxi-exit-permit-web > vite error when starting dev server: Error: listen EACCES: permission denied 0.0.0.0:80 at Server.setupListenHand…...
python线条爱心
效果图 代码 import math from turtle import * def hearta(k):return 15*math.sin(k)**3 def heartb(k):return 12*math.cos(k)-5*\math.cos(2*k)-2*\math.cos(3*k)-\math.cos(4*k) speed(1000) bgcolor("black") for i in range(6000):goto(hearta(i)*20,heartb(…...
GPU的内存是什么?
GPU(图形处理器)的内存是指专门用于 GPU 存储数据的内存,也被称为显存。 一、显存的作用: 1、存储图像数据 当计算机要显示图像时,显存会存储屏幕上每个像素点的颜色、亮度等信息。例如,对于一个分辨率为 1…...
Linux - 弯路系列1:xshell能够连接上linux,但xftp连不上(子账号可以连接,但不能上传数据)
问题如题目阐述。 注:所有操作在root账户下操作。 解决办法: 1、确认连接设置 服务器地址和端口:确保在 Xftp 中输入的服务器地址和端口号与 Xshell 使用的相同。默认情况下,SFTP 使用端口 22。 用户凭证:检查用户名…...
数组逆序重存放
题目描述 将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。 输入 输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。 输出 输出…...
归并排序:高效算法的深度解析
一、归并排序概述 归并排序是一种基于分治思想的经典排序算法。它的核心操作分为三个主要步骤:分割、排序和合并。 首先是分割步骤,将待排序的数组不断地分成更小的子数组,直到每个子数组中只有一个元素。例如,对于一个包含多个…...
微服务中常用分布式锁原理及执行流程
1.什么是分布式锁 分布式锁是一种在分布式系统环境下实现的锁机制,它主要用于解决,多个分布式节点之间对共享资源的互斥访问问题,确保在分布式系统中,即使存在有多个不同节点上的进程或线程,同一时刻也只有一个节点可…...
声学气膜馆助力企业年会与研学活动完美呈现—轻空间
在现代企业和教育活动中,场地的选择往往决定了活动的成败。尤其是在企业年会、研学基地等重要场合,选择一个既能满足多功能需求又能快速搭建的场地至关重要。而声学气膜馆正是为这种需求量身打造的理想场所。凭借其独特的声学性能和灵活的结构设计&#…...
Halcon3D image_points_to_world_plane详解
分三个部分来聊聊这个算子 一,算子的参数介绍 二,算法的计算过程 三,举例实现 第一部分,算子的介绍 image_points_to_world_plane( : : CameraParam, WorldPose, Rows, Cols, Scale : X, Y) 参数介绍: CameraParam,:相机内参 WorldPose 世界坐标系,也叫物体坐标系(成…...
A Consistent Dual-MRC Framework for Emotion-cause Pair Extraction——论文阅读笔记
前言 这是我第一次向同学院同年级的学生和老师们汇报的第一篇论文,于2022年发表在TOIS上,属于CCF A类,主要内容是将MRC应用到情感原因对抽取中。 论文链接:用于情绪-原因对提取的一致双 MRC 框架 |信息系统上的 ACM Transactions 这里我就不放上我自己翻译的中文版还有我…...
如何debug(Eclipse)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 2分钟教会你如何Java中DeBug【IDEA中Java】 在eclipse中如何使用Debug进行调试 双击左侧打断点(取消断点同样双击) 右上角进入debug界面(常用) 选择所需断点位置(勾选右侧需要测试的断点位置) 启动…...
【comfyui教程】ComfyUI有趣工作流推荐:快速换脸,创意随手掌握!
前言 在数字影像处理和创意表达领域,ComfyUI 绝对是你的得力助手!今天我们推荐一个非常有趣的工作流——快速换脸。无论你是图像编辑小白,还是深耕AI影像的达人,这个工作流都能让你快速实现面部迁移,体验全新的照片玩…...
css-flex布局属性
flex 布局的优势 flex 布局的子元素不会脱离文档流flex 是一种现代的布局方式,是 W3C 第一次提供真正用于布局的 CSS 规范 弹性盒子、子元素 弹性盒子:指的是使用 display:flex 或 display:inline-flex 声明的父容器 声明:使用 display:fl…...
【鸿蒙】HarmonyOS NEXT应用开发快速入门教程之布局篇(下)
系列文章目录 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上) 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(下) 【鸿蒙】HarmonyOS NEXT应用开发快速入门教程之布局篇(上) 【…...
高阶函数--python
高阶函数应当满足至少下面一个条件: 接受一个或多个函数参数 输出一个函数 下面用一个例子来理解高阶函数。 一、高阶函数 先看一个简单的函数 例一: 例二: 是高阶函数,因为满足条件,返回一个函数 并且有闭包&a…...
MYSQL备库的并行复制
备库在消费中转日志时,其实可以分多个线程同时对多个事务进行消费,但是要满足2个基本原则: 1.涉及同一行数据的多个事务必须在同一个线程中执行,否则会导致数据不一致 2.同一个事务不能被拆开 MYSQL 5.6的并行复制策略ÿ…...
2026免费在线去水印软件对比推荐|五款工具测评,快速去掉各平台水印
在日常内容创作和素材整理中,很多人都会遇到水印的问题。无论是从抖音、快手、小红书还是B站保存视频,亦或是收集网络图片素材,几乎所有平台的内容都会附带水印。这些水印虽然有利于版权保护,但对于正常的个人使用、内容再创作或学…...
py之代码实现获取字符串中每个字符的unicode值
def print_unicode_values(strings_list):"""接收字符串列表,提取所有字符的Unicode码点并以0x格式升序打印,后面加上对应字符"""unicode_values = set() # 使用集合自动去重for text in strings_list:for char in text...
minecraft-ondemand故障排查指南:解决AWS无服务器我的世界服务器常见问题
minecraft-ondemand故障排查指南:解决AWS无服务器我的世界服务器常见问题 【免费下载链接】minecraft-ondemand Templates to deploy a serverless Minecraft Server on demand in AWS 项目地址: https://gitcode.com/gh_mirrors/mi/minecraft-ondemand mine…...
实战测试10款降AIGC平台:只选真正管用的那一款!
随着AI写作工具的普及,越来越多的学生和职场人士开始依赖它们来提升论文写作和内容创作的效率。然而,随着各大高校、期刊和平台对AIGC内容的检测越来越严格,原本便捷的工具却成了隐患。很多用户发现,自己精心撰写的内容被系统标记…...
为Claude Code配置Taotoken密钥解决频繁封号与token不足痛点
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为Claude Code配置Taotoken密钥解决频繁封号与token不足痛点 Claude Code作为一款高效的编程助手,其核心能力依赖于底层…...
基于 PyTorch 的 TransU-Net 模型进行不同城市建筑物的精准提取 来继续遥感图像语义分割
基于 PyTorch 的 TransU-Net 模型进行不同城市建筑物的精准提取 来继续遥感图像语义分割 遥感图像语义分割,遥感建筑物数据集,基于Pytorch框架,针对不同城市建筑物精准提取。 遥感图像中包含丰富的地理空间信息,从遥感图像中了…...
毕业设计 深度学习的人体跌倒检测与识别(源码+论文)
文章目录 0 前言1 项目运行效果2 相关技术原理2.1卷积神经网络2.2 YOLO简介2.3 YOLOv5s 模型算法流程和原理2.4 数据集处理数据标注简介数据保存 2.5 模型训练 4 最后 0 前言 🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创…...
Red Hat Enterprise Linux 10.2 和 9.8 发布,命令行 AI 辅助增强,多工具集性能升级
Red Hat Enterprise Linux (RHEL) 10.2 和 9.8 正式发布,带来增强的命令行 AI 辅助和基础架构更新,提升用户信息获取速度与工具性能。命令行 AI 辅助升级面向高级用户推出 goose 命令,它是高级可选命令行 AI 助手,连接可信 AI 后端…...
AI for Science:从数据驱动到科学发现,构建科研新范式
1. 从AlphaFold到GPT-3:AI如何成为科学家的“新感官”如果你是一位从事物理、化学、生物或材料科学的研究者,最近几年可能时常被一种复杂的情绪所包围:一方面是兴奋,看到像AlphaFold2这样的人工智能工具,几乎一夜间解决…...
别再手动画图了!WPS PPT里这个‘转智能图形’功能,3秒让文字变高级图示
WPS PPT智能图形进阶指南:3秒实现专业级视觉表达 在快节奏的职场环境中,演示文档的视觉呈现往往决定着信息传递的效率。传统PPT制作中,将文字列表转换为可视化图形需要经历形状绘制、文字排版、配色调整等多道工序,耗时且难以保证…...
