【服务器数据恢复】IBM服务器虚拟磁盘文件被误删除的数据恢复案例

news2024/12/22 20:21:39

服务器数据恢复环境:
IBM X系列服务器+柏科某型号存储。服务器上部署VMware ESXi虚拟主机,存储上存放虚拟机文件。
虚拟主机采用的Windows Server操作系统,部署宏桥和索菲2套应用,数据库是SQL Server。
虚拟磁盘:数据盘(精简模式)+ 快照数据盘。

服务器故障:
机房异常断电导致服务器上某台虚拟机无法正常启动。管理员查看虚拟机配置文件,发现此虚拟机的配置文件除了磁盘文件外其他的配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。联系VMware原厂工程师,VMware工程师需要新建一个虚拟机来解决故障问题,但发现ESXi存储空间不足。于是管理员将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后VMware工程师重建了一个虚拟机并且分配了固定大小的虚拟磁盘。

服务器数据恢复过程:
1、在VMware vSphere Client上将挂载的存储设备中的VMFS卷卸载。然后将存储上的VMFS卷通过网线连接到北亚企安备份服务器上,使用工具将整个VMFS卷以扇区的方式镜像到备份空间上。后续的数据分析和数据恢复操作均基于镜像文件进行,避免对原始数据造成二次破坏。
2、基于镜像文件分析VMFS卷的底层,发现异常断电导致故障虚拟机目录下的目录项被破坏,但是不影响虚拟机的重要数据,可以通过人工进行修复。
如果人为删除某个文件,目录项对应的数据区索引也会被同时清掉,但是不会影响删除文件的实际数据。可以根据被删除的虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷自由空间中进行碎片的匹配和合并这种方式来恢复删除的虚拟磁盘文件。
但是本案例是在上述的两个问题同时发生的情况下又新建一台虚拟机并且分配了虚拟磁盘。
经过分析发现新分配的虚拟磁盘已经全部清零了(在创建虚拟磁盘的时候会选择创建磁盘的类型),这个新建的虚拟机所占用的磁盘空间全部被清零。如果新分配的虚拟磁盘占用了删除虚拟机磁盘所释放的空间,那么此部分空间的数据是无法恢复的。
故障虚拟机的目录项区域:


 

3、经过北亚企安数据恢复工程师团队的会诊,最终确认服务器数据恢复方案:
方案a、恢复删除的VMDK文件。根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷的自由空间中进行碎片匹配和合并,恢复删除的虚拟磁盘文件。将快照文件和恢复的虚拟磁盘文件合并成一个完整的虚拟磁盘文件,然后利用文件系统解释工具解释虚拟磁盘文件中的所有文件。
方案b、恢复MSSQL数据库文件。如果方案a实施效果不理想,可以根据SQL Server数据库文件结构对VMFS卷自由空间中符合SQL Server页结构的数据区域进行统计、分析和聚合,生成一个可以正常使用的.MDF格式的文件。
方案c、恢复MSSQL数据库备份文件。由于数据库每天都在做备份。如果上述2种方案实施过后还有一些数据库没有恢复出来,就只能使用备份文件来恢复数据库了。根据掌握的备份文件.bak的结构,对VMFS卷自由空间中符合SQL Server备份文件结构的数据区域进行统计、分析和聚合,生成一个可以正常导入到SQL Server数据库中.BAK格式的文件。

4、服务器数据恢复实施过程:
方案a实施过程:按照方案a进行底层分析,根据VMFS卷的结构以及删除虚拟磁盘的文件系统信息,在底层的自由空间中扫描符合删除虚拟机磁盘的区域,统计其数量和大小是否符合删除虚拟磁盘的大小。根据虚拟磁盘中文件系统的信息将这些扫描到的碎片进行排列组合,结果发现好多碎片缺失。重新扫描这些缺失的碎片,这些碎片确实无法找到。将扫描到的碎片按照虚拟磁盘原始的顺序重组,没有找到的碎片暂且留空。使用虚拟磁盘快照程序合并重组好的父盘和快照盘,生成一个新的虚拟磁盘。解释虚拟磁盘中的文件系统,因为缺失好多数据,文件系统解释过程中出现很多报错,提示某些文件损坏。

 

解析完文件系统后发现没有找到原始的数据库文件,而宏桥备份和索菲备份这两个目录的目录结构正常。但是尝试将备份导入到数据库中时,数据库导入程序提示报错。

 

 

导入.BAK文件报错信息:

 

方案b实施过程:由于方案a中并没有将原始的数据库文件恢复出来,并且很多备份文件无法正常使用。因此采用方案b来恢复尚未恢复出来的数据库文件。
根据SQL Server数据库的结构去自由空间中找到数据库的开始位置。根据SQL Server数据库的结构特征,数据库的第9个页会记录本数据库的数据库名。根据这个特征核对该数据库的头部页是否是正在查找的。SQL Server数据库的每个页都会记录数据库页编号和文件号,根据这些特征北亚企安数据恢复工程师编写数据
库扫描程序在底层扫描所有符合数据库页的数据碎片。将扫描出来的碎片按顺序重组成一个完整MDF文件,通过MDF校验程序检测整个MDF文件的完整性。校检完成后发现只有cl_system3.dbf和erp42_jck.dbf这2个文件没有找到外,其余数据库均校验成功。

 

cl_system3.dbf和erp42_jck.dbf因为底层有很多碎片没有找到(可能被覆盖),因此校验不通过。
cl_system3.dbf文件中某个碎片丢失的区域:

 

方案c实施过程:
上述两个方案实施后并没有将所有的数据库文件全部恢复出来。cl_system3.dbf和erp42_jck.dbf这2个文件因部分页缺失,无法使用,需要采用备份来恢复这两个数据库文件。但是检查完这两个文件的备份后发现cl_system3.dbf由于备份机制没有备份出来,而erp42_jck.dbf只有某个月的全部增量备份。

 

由于erp42_jck.dbf文件中只缺失少量的页,可以根据缺失的页号在增量备份中查找到缺失的页,然后将找到的页补到erp42_jck.dbf文件中,从而恢复一部分丢失的数据库页。通过上述方法补完页后还是缺失部分页,无法正常使用,只能通过北亚企安自主开发的数据库解析程序将erp42_jck.dbf文件中比较重要的几十张表导出,并成功导入到新建的数据库中。

验证数据:
在一台服务器中搭建和原始环境一样的数据库环境,由用户方通过远程工具连接到该服务器并安装宏桥应用。由用户方工程师验证数据库的完整性,经过反复仔细验证后,确认数据库没有问题,上层应用可以正常运行,数据记录也基本没有缺失。
数据库成功挂载:

 

服务器数据恢复总结:
本案例先是断电导致服务器中部分文件丢失;然后人为删掉部分数据,又重新写入部分数据,导致部分数据被覆盖;又因为数据库备份机制导致部分数据库的备份不可用;所以本案例恢复难度系数很高。因为北亚企安数据恢复工程师团队对SQL Server数据库底层结构有深入的研究,并且有处理类似故障类型的经验,
所以才能顺利恢复出用户需要的数据。
 

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

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

相关文章

已经有MySQL了,干嘛还要学MongoDB?

三分钟的时间,通过本文你将学会 1.MongoDB主要特征 2.MongoDB优缺点,扬长避短 3.何时选择MongoDB?为啥要用它? 4.MongoDB与MySQL关键字对比 5.下载与安装MongoDB 6.Java整合MongoDB,实现增删改查 MongoDB和MySQ…

PyTorch-TensorBoard

一、介绍: TensorBoard:是一组用于数据可视化的工具。 SummaryWriter:类,用于提供一个高级API,并在给定目录中创建事件文件,向其中添加摘要和事件。 1. SummaryWriter(log_dir):log_dir表示Tens…

MySQL 索引(w字)

目录 关于索引 关于磁盘 磁盘 ​扇区 结论 MySQL 与磁盘交互基本单位 MySQL 整体轮廓 结论 关于索引 建立测试表 关于 Page 为何IO交互要是 Page 理解单个Page 理解多个Page ​页目录 复盘一下 ​B树 ​B树 聚簇索引 VS 非聚簇索引 总结(重点) …

就业内推 | 地产行业招运维,最高30k*15薪,有住房交通补贴

01 宝能 🔷招聘岗位:网络运维高级工程师 🔷职责描述: 1、负责集团各数据中心和职场网络的设计规划、实施落地和持续优化; 2、负责集团网络的日常运维工作,如服务请求和变更的处理、网络相关故障解决&#…

JSP详解

JSP的概念: 概念:Java Serve Pages Java服务端页面 一种动态的网页技术,其中可以定义Html、css、js等静态内容。还可以定义Java代码的动态内容。 JSPHtmljava JSP的存在使我们可以不用在servlet里面用输出流一行一行的写字符串&#xff0…

拿下7家大厂offer后,整理出来的笔记.....

我第一次接触自动化是在2016年。那时刚毕业一年有余,组内一直做手工功能测试,大概在2018年9月,部门领导要求测试组引入自动化。组内之前从没有开展过任何自动化,测试主管安排了一个刚入职不久的研究生同事去研究。 当时自己内心还…

Jmeter性能测试 -3数据驱动实战

什么是数据驱动? 从数据文件中读取测试数据,驱动测试过程的一种测试方法。数据驱动可以理解为更高级的参数化。 特点:测试数据与测试代码分离;数据控制过程 好处:降低开发和维护成本,减少代码量&#xf…

原型设计工具

常见原型图设计工具 Sketch(国内外通用) 仅支持mac系统,无window系统软件。 Figma(国外) Figma是一个基于浏览器的协作式UI设计工具。 即时设计(国内) 墨刀(国内) 墨刀采用简便的拖拽连线操作,作为一款在线原型设计软件,墨刀支持云端保存…

Docker 设置国内镜像源

Docker 镜像加速 国内从 DockerHub 拉取镜像有时会遇到网络问题,此时可以配置国内的镜像加速来下载。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如如下: 科大镜像:https://docker.mirrors.ustc.edu.cn/网易&#…

SpringSecurity 硅谷通用权限系统:权限管理

由于项目需要 快速入门一下 看的是这篇 比较新比较快 硅谷通用权限系统:权限管理 一、权限管理 1、权限管理介绍 每个系统的权限功能都不尽相同,各有其自身的业务特点,对权限管理的设计也都各有特色。不过不管是怎样的权限设计,大…

Flutter 笔记 | Flutter 容器组件

Padding 这个组件最能体现Flutter与其他UI框架的一个不同点,那就是在其他UI框架中padding基本都是作为组件的一个属性,例如在html中常见的布局标签都有padding属性,Android中也是如此,但是在Flutter中组件并没有一个叫padding的属…

财务共享时代企业数智化应用能帮我们做些什么?

随着企业规模的不断扩大和业务范围的逐步扩展,财务工作的难度和复杂度也在不断提高,传统的手工录入和处理方式呈现出流程长、效率低、易出错等问题。为了提升财务工作的效率和准确性,越来越多的企业开始利用数智化应用打造企业内部的财务数智…

初识web自动化测试,快速成长指南!

目录 自动化 说明 优点 自动化测试 自动化测试能解决什么问题? 相关知识 Web自动化测试 定义 什么Web项目适合做自动化测试? Web自动化测试在什么阶段开始? 所属分类 Web自动化测试工具选择 主流的Web自动化测试工具 Selenium 概念 特点 环境搭建…

防火墙直路部署,上下行连接交换机的主备备份组网

组 网 需 求 如图所示,企业的两台FW的业务接口都工作在三层,上下行分别连接二层交换机。上行交换机连接运营商的接入点,运营商为企业分配的IP地址为1.1.1.1。现在希望两台FW以主备备份方式工作。正常情况下,流量通过FW_A转发。当F…

前端线上接口503-nginx跨域proxy_pass;proxy_set_header

nginx大怨种 前端线上接口503-nginx跨域 前端线上接口503-nginx跨域 前提:vue项目本地接口通过proxy都可使用,但是项目部署在服务器上后发现所有接口出现503如下状况 简而言之:页面部署在域名为https://aa.bb.cc.com/vehicle/#/下&#xff0…

Rocky Linux 9 x86_64 OVF (sysin)

Rocky Linux 9 x86_64 OVF (sysin) 以社区方式驱动的企业 Linux 请访问原文链接:https://sysin.org/blog/rocky-linux-9-ovf/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Rocky Linux 9.0 (5.14.0-70.13.1.el9…

财务共享领先实践,看看他们是怎么做的

随着信息技术的快速发展,由于创新商业模式的出现,金融结构、操作策略和流程正在发生变化。大数据、云计算、人工智能、机器人流程自动化(RPA)等新兴技术正在应用于金融及财务领域,以优化财务管理流程并提高运营效率。财…

公司来了个测试开发,听说是00后,上来一顿操作给我看呆了...

5年测试,应该是能达到资深测试的水准,即不仅能熟练地开发业务,而且还能熟悉项目开发,测试,调试和发布的流程,而且还应该能全面掌握数据库等方面的技能,如果技能再高些的话,甚至熟悉分…

若依框架在未登录的情况下访问swagger3.0页面,出现弹窗的解决方法

若依框架在未登录的情况下访问swagger3.0页面,出现弹窗的解决方法 效果展示: 解决方法:在ShiorConfig.java类中找到shiroFilterFactoryBean方法,然后在filterChainDefinitionMap里面put你要过滤的地址,如下&#xff…

高通开发系列 - 音频驱动中的APR通道不能打开问题

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 问题概述问题现象问题分析问题解决问题概述 对msm8909平台进行内核升级,相应的其音频驱动也需要进行升级,使用了同平台的音频驱动作…