KVM虚拟机误删除数据恢复案例分享

KVM虚拟机时Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理。

一、虚拟机故障环境描述

客户的物理机器操作系统为Linux系统,文件系统为EXT4文件系统。其上的KVM虚拟机被删除,每台虚拟机包含一个qcow2格式的磁盘文件,和一个大小约为1.2T的raw格式的磁盘文件,主要需恢复raw格式的磁盘文件。用户需要的是三台虚拟化服务器,里面存放的是数据库,程序代码等数据。

二、虚拟机数据恢复过程

1、分析EXT4文件系统,定位被删除虚拟机磁盘文件的节点位置;
2、获取磁盘文件残留的索引信息;
3、校验残留索引信息的正确性,修复破坏不严重的索引;
图为获取的索引等信息:

图 1
4、修复完成后,解析残留的各级索引,从虚拟机所在的卷中提取虚拟磁盘文件;
5、根据虚拟磁盘文件的提取情况,获取卷中未被索引到的自由空间;
6、校验提取出的磁盘文件的正确性与完整性;
7、从自由空间中获取有效信息,尝试对虚拟磁盘文件进行修补(如节点,目录项,数据库页等信息)。
图为提取出的自由空间:

图 2

三、数据恢复结果

1、由于索引丢失,提取出的虚拟磁盘文件并不完整,针对数据库服务器,数据库文件有丢失的情况,可以从自由空间中获取数据库页去对数据库文件进行修补,但由于部分页所在区域被覆盖占用,只能尽量多的去补页;
2、对于存放程序代码的服务器中的节点和目录项丢失的情况,若节点或目录项有残留,可以尝试去补齐节点和目录项。但发现部分文件的节点和目录项同时丢失,根据节点和目录项之间相关联的特性,这种情况下无法补齐。另根据程序代码文件的特性,不具备一定的规律性,若其数据区丢失,无法补齐。
图为恢复出的部分目录结构:

图 3

图 4

四、数据验证

在尽可能的尝试对虚拟磁盘文件及其中的数据库文件修补之后,由客户对数据进行验证。数据有小部分丢失,整体还可以接受,数据恢复有效。

原文地址:https://blog.51cto.com/sun510/2374005

时间: 2024-11-12 14:24:23

KVM虚拟机误删除数据恢复案例分享的相关文章

数据恢复案例分享:MSSQL 2000 错误823

一.故障描述 MSSQL Server 2000 附加数据库错误823,附加数据库失败.数据库没有备份,不能通过备份恢复数据库,急需恢复数据库中的数据. 二.故障分析SQL Server数据库 823 错误的原因一般是:数据库物理页面损坏,有时可能是页面有但是校验值损坏,导致无法识别该页面,也有可能因为断电或者文件系统问题出现页面丢失了也会报这个823错误. 三.恢复过程1 尝试附加数据库,然后修复数据库图一: 2 使用北亚MSSQL文件检测工具对数据库进行检测图二: 3 计算并修改数据库错误数

【多图教程】服务器恢复误删除的数据,netAPP存储误删除数据恢复教程

一.服务器误删除数据恢复案例背景 一客户由于误操作,不小心将服务器内的1个容量为5T的lun和10个容量为1T的lun删除了,客户急需恢复服务器内的数据.用户服务器配置信息如下表: 用户误删除的数据信息如下表:图2: 二.服务器数据备份 在进行服务器数据恢复操作前需要将客户原服务器内的所有数据进行镜像备份操作,然后对备份的数据进行分析与恢复,将原服务器交还用户. 三.服务器数据恢复过程 分析该服务器内的所有硬盘,在盘头位置找到超级块,从超级块中得到磁盘组名字,磁盘组的逻辑起始块号,总块数,磁盘组

Linux系统 误删除kvm虚拟机数据恢复方法-数据恢复成功案例

一.虚拟机故障环境描述客户的物理机器操作系统为Linux系统,文件系统为EXT4文件系统.其上的KVM虚拟机被删除,每台虚拟机包含一个qcow2格式的磁盘文件,和一个大小约为1.2T的raw格式的磁盘文件,主要需恢复raw格式的磁盘文件.客户已自行备份. 虚拟机1:主数据库服务器虚拟磁盘:10G系统盘(qcow2)+1.2T数据盘(raw,主要恢复)文件系统:EXT4主要数据:MySQL数据库 虚拟机2:备份数据库服务器虚拟磁盘:10G系统盘(qcow2)+1.2T数据盘(raw,主要恢复)文件

EXSI5.5虚拟机还原快照数据恢复案例

现在由于虚拟化技术的兴起,很多企业开始运用虚拟化技术.虚拟化技术的原理就是将硬件虚拟化给不同的虚拟机使用.也就是一台物理的机器上可以有多台虚拟机.但如果物理机器出现故障或者存储服务器出现故障都会导致上层的虚拟机不可用.还有包括员工的误操作等原因.这些都会导致虚拟机里面的重要数据丢失,而弥补这些数据的唯一方法就是恢复数据.今天要说的就是一起vmware虚拟化误操作的数据恢复案例. [环境描述] 1)故障虚拟机是由物理机迁移到EXSI上面的,迁移完成后以防不稳定做了一个快照. 2)虚拟机上运行的是一

北京某公司NetApp存储虚拟机数据恢复案例

存储环境部署及存储数据恢复故障的起因:某公司的NetApp FAS-8200存储,使用96块磁盘组建两组存储池,存储池互为镜像.存储池内划分卷并映射到ESXI作为数据存储使用,卷内虚拟机数量约300+.在操作过程中由于未知原因导致卷丢失,卷内虚拟机不可访问.该公司的管理员先进对存储进行了简单的检查和数据恢复但是没有成功,由于存储内有公司重要数据,管理员不敢妄动,只好联系北京的存储数据恢复公司进行专业数据恢复. 一.数据恢复备份 为防止对客户原始磁盘内数据造成破坏,首先分别对各磁盘进行镜像拷贝(在

Citrix XenDesktop中VDA无法注册到DDC案例分享(一)

[问题现象] 虚拟机无法注册到DDC [环境] VDA:Win7SP1Enterprise 32bit DDC:XenDesktop7.5 [问题分析及处理] 1. 登录未注册的VDA,重启"Citrix Desktop Service" 2. 检查Windows Eventlog中的Applicationr日志,发现以下错误 Error Details: Exception 'Cannot load Counter Name data because an invalid index

苏州FreeNAS+ESXi5数据恢复案例

苏州FreeNAS+ESXi5数据恢复案例 [物理与逻辑存储] 此公司使用一种廉价的存储模式,用iSCSI方式来达到FC SAN的功能. 物理存储构架在一台 DELL 服务器上,使用 FreeNAS 来做 iSCSI,然后使用两台 DELL 服务器做ESXi5.0 的的虚拟化系统.FreeNAS 层为UFS2文件系统,整个存储建一个稀疏模式的文件,挂给ESXi5.0 系统.ESXi系统内跑有5台虚拟机,其中有三台最为重要. 一台windows2003系统虚拟机是此公司在当地的门户网站.使用 AS

KVM虚拟机cpu pinning实战

本文包含以下内容: 宿主机CPU特性查看 虚拟机CPU特性查看 KVM虚拟机cpu pinning如何配置 cpu pinning的应用场景 首先需求了解基本的信息 1 宿主机CPU特性查看 使用virsh nodeinfo可以看到一些基本信息 virsh nodeinfo CPU model: x86_64 CPU(s): 32 CPU frequency: 1200 MHz CPU socket(s): 1 Core(s) per socket: 8 Thread(s) per core: 

KVM虚拟化笔记(十四)------kvm虚拟机动态迁移

相比kvm虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文以共享存储进行动态迁移 KVM动态迁移目前有两种,一种是基于共享存储的动态迁移,一种是基于基于数据块的动态迁移,需要qemu-kvm-0.12.2以上版本支持,OEL6.3版本是qemu-kvm-0.12.1.2,其它发行版可能有支持 由于资源有限,现在还没有实