【服务器数据恢复】VMware虚拟机数据恢复案例
服务器数据恢复环境:
一台某品牌PowerEdge系列服务器和一台PowerVault系列存储,上层是ESXI虚拟机文件,虚拟机中运行SQL Server数据库。
服务器故障:
机房非正常断电导致虚拟机无法启动。管理员检查虚拟机发现虚拟机配置文件丢失,所幸的是xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件没有丢失。管理员尝试恢复虚拟机,将原虚拟机的xxx-flat.vmdk删除后新建了一个虚拟机,分配了几百GB的精简模式和几百GBGB的快照数据盘,但是并没有将原虚拟机内的数据恢复出来。
服务器数据恢复过程:
1、将挂载在VMware vSphere Client上的卷卸载后做镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、经过对镜像文件进行检测&分析后发现:a、断电导致虚拟机目录项已经损坏;b、删除文件操作导致文件的数据区索引被清除;c、重建虚拟机操作导致分配给新建虚拟机的磁盘空间的数据底层被清零。前两种情况可以通过人工修复来恢复数据,但如果第三种情况是新建虚拟机的磁盘空间占用了原虚拟机的释放空间,这部分空间的数据则无法恢复,需要进一步检测才能确定是否出现这种情况。
虚拟机目录项:
3、数据恢复工程师分析底层数据,在自由空间内排查被删除的虚拟机磁盘区域,扫描这部分区域发现了大量的碎片并拼接&重组这些碎片,但是经过拼接&重组后发现有部分碎片文件缺失,只能暂时将缺失的文件碎片位置留空。
4、利用虚拟磁盘快照程序将重组好的父盘和快照盘合并,生成一个新的虚拟磁盘。
5、解释虚拟磁盘中的文件系统,因为数据缺失,文件系统解释过程中出现很多报错,提示某些文件损坏。
文件系统解释结果:
6、在解析完文件系统后发现没有找到原始的数据库文件。宏桥备份和索菲备份这两个目录的目录结构正常,但是在尝试将备份导入到数据库中时提示报错。
宏桥备份和索菲备份的部分目录结构:
导入.BAK文件报错信息:
7、根据SQL Server数据库的结构去自由空间中找到数据库的开始位置。SQL Server数据库的库名通常在库的第九页内,根据这一特性在底层扫描数据库页碎片,然后利用扫描出来的碎片重组mdf文件,在本案例中除了cl_system3.dbf和erp42_jck.dbf因有部分碎片
没有找到外(极有可能被覆盖了),其余数据库均校验成功。
校验完的MDF文件:
cl_system3.dbf文件中某个碎片丢失的区域:
8、详细检查备份文件依然没有找到这两个丢失的文件,只有部分增量备份文件。由于erp42_jck.dbf文件中只缺失少量的页,根据缺失的页号在增量备份中查找,再将找到的页补到erp42_jck.dbf文件中,通过这个办法可以恢复一部分丢失的数据库页。但是补完后发现还是缺失部分页,无法正常使用。
9、通过北亚企安自主开发的数据库解析程序将erp42_jck.dbf文件中重要的几十张表导出,并导入到新建的数据库中,恢复出缺失的文件。
10、重新搭建原始环境,将恢复出来的数据导入到新搭建的环境中,由用户亲自验证数据库的完整性,验证后确认所有数据完整、数据库挂载成功、上层应用运行正常,本次数据恢复工作完成。
【服务器数据恢复】VMware虚拟机数据恢复案例的更多相关文章
- Xen Server虚拟机数据恢复的方法和数据恢复过程
在服务器运行过程中如果出现意外情况突然断电很容易引起服务器故障,服务器中的硬件设备损坏可以修复或者购买,但是服务器中的数据一旦发生故障丢失,对于企业来说将是不可估量的损失.那么服务器数据一旦丢失就除了 ...
- VMWare虚拟机实例拷贝到另一台服务器后出现Error in the RPC receive loop: RpcIn: Unable to send.错误的解决
把一个VMWare虚拟机实例拷贝到另一台服务器后,在事件查看器中的应用程序日志中不断出现Error in the RPC receive loop: RpcIn: Unable to send.错误, ...
- windows服务器装macos虚拟机(vmware)系统
VMware14安装黑苹果macOS10.13流程 一.准备工具 VMware Workstation 14.1.2 Pro macOS High Sierra 10.13.iso格式或.cdr格式( ...
- EVA 4400存储硬盘故障数据恢复方案和数据恢复过程
EVA系列存储是一款以虚拟化存储为实现目的的HP中高端存储设备,平时数据会不断的迁移,加上任务通常较为繁重,所以磁盘的负载相对是较重的,也是很容易出现故障的.EVA是依靠大量磁盘的冗余空间,以及故障后 ...
- EMC Isilon(OneFS)误删文件数据恢复过程<存储数据恢复>
[科普Isilon的存储结构] Isilon内部使用的是分布式文件系统OneFS.在Isilon存储集群里面每个节点均为单一OneFS文件系统,所以Isilon在支持横向扩展的同时并不会影响数据正常使 ...
- VMware 虚拟化编程(13) — VMware 虚拟机的备份方案设计
目录 目录 前文列表 备份思路 备份算法 备份细节 连接到 vCenter 还是 ESXi 如何选择快照类型 是否开启 CBT 如何获取备份数据 如何提高备份数据的传输率 备份厚置备磁盘和精简置备磁盘 ...
- VMware 虚拟机的虚拟磁盘编程知识点扫盲之二
目录 目录 前文列表 VDDK 安装 VDDK VixDiskLib VADP 前文列表 VMware 虚拟机的虚拟磁盘编程知识点扫盲之一 VDDK 摘自官方文档:The Virtual Disk D ...
- VMware 虚拟化编程(15) — VMware 虚拟机的恢复方案设计
目录 目录 前文列表 将已存在的虚拟机恢复到指定时间点 恢复为新建虚拟机 灾难恢复 恢复细节 恢复增量备份数据 以 RDM 的方式创建虚拟磁盘 创建虚拟机 Sample of VirtualMachi ...
- VMWARE虚拟机CentOS6.4系统使用主机无线网卡上网的三种方法介绍
转自:http://www.jb51.net/network/98820.html 如何真正的实现VMWARE虚拟机CentOS6.4系统使用主机无线网卡上网 环境:WIN7旗舰版,台式机,U盘无 ...
- vmware虚拟机三种网络模式详解_转
原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 由于L ...
随机推荐
- SystemVerilog Tutorial
来自网站 1.网站说明-tutorial This SystemVerilog tutorial is written to help engineers with background in Ver ...
- idea 中 maven 项目构建 webapp 无 src 目录以及提示无程序包的解决办法
提示无程序包的解决方法 问题有可能出现在 IDE 版本上,问题版本是 2020.1,升级为 2020.3 后,tomcat 运行就不再提示无程序包的错误 之前尝试的解决办法 maven clean/i ...
- [Unity]关于Physic Material,物理碰撞
制作游戏时发现了一些问题,主角身上有刚体(rigbody) 在地面移动时没有什么太大的问题,但是一旦在下落时按住方向键,就会出现角色贴在墙上不下来的问题 通过其他例子发现使用了Physic Mater ...
- Python爬取亚马逊商品页面
仍然利用Requests库来实现 1 import requests 2 r=requests.get('https://www.amazon.cn/gp/product/B01M8L5Z3Y') 3 ...
- 在windows服务中托管asp.net.core
参考:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-3.1& ...
- .NET版本发展史
.NET从始至今可以分为3个阶段,分别是.NET Framework阶段..NET Core阶段..NET阶段: .NET Framework终结于.NET Framework4.8版本,.NET C ...
- 关于JMeter WebSocket插件:JMeter WebSocket插件-关闭SignalR连接--webSocket Close报错
在浦发银行的项目中,主机运维连接成功不做任何操作的场景中,用到了webSocket协议,但是脚本运行中出现webSocke Close报错--解决方案:在webSocket Open Connecti ...
- Nginx基础篇(一)
(一)介绍 Nginx 是开源.高性能.高可靠的 Web 和反向代理服务器,也可以作为邮件代理服务器.而且支持热部署,即几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能 ...
- Jmeter使用文档(循环怎么用)
Jmeter使用文档(循环怎么用) 基础用法 修改语言 Jmeter之界面语言设置 下面使用简体中文的命名进行说明 打开日志 启动后,右上角有个黄色的感叹号图标,点击即可打开即时日志 如果没有看到重启 ...
- 前端如何给bearer token传值
Bearer token是一种常见的身份验证机制,通常用于Web API和其他Web服务.在前端中,Bearer token通常是通过HTTP头(HTTP header)发送的,具体来说是通过&quo ...