发布信息

虚拟机虚拟磁盘系统盘+5G数据盘的故障原因

作者:软荐小编      2023-10-18 22:05:27     186

1.硬件架构概述

服务器:Dell 720服务器配备H710P RAID卡。

存储阵列:由 4 个 Seagate 2T STAT 硬盘组成的 RAID 10。

操作系统:Xen Server 版本 6.2。

虚拟机文件怎么恢复 虚拟机数据恢复软件教程_虚拟系统数据能否恢复_虚拟化数据恢复

2. 故障虚拟机概述

操作系统:Windows Server 2003。

应用:Web服务器(ASP+SQL 2005的网站架构)。

虚拟磁盘:10G系统盘+5G数据盘。

故障描述:由于特殊原因,Xen Server服务器中的一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘中的数据丢失。

3. 备份数据

首先将客户的数据盘连接到恢复环境服务器,然后准备大于客户数据总容量的空间。 将客户数据盘以盘底扇区的形式镜像到预留空间,保证客户数据安全。

4.分析故障原因

仔细分析底层数据发现,Xen Server服务器中虚拟机的磁盘都是以LVM结构存储的,即每个虚拟机的虚拟磁盘都是一个LV,虚拟磁盘的模式为精简模式。 LVM相关信息记录在Xen Server中。 查看“/etc/lvm/backup/”下的LVM相关信息,发现没有损坏的虚拟磁盘信息,因此可以断定LVM信息已经更新。 然后分析底层,看能否找到没有更新的LVM信息。 果然,你发现底层还没有更新的LVM信息。

根据未更新的LVM信息找到虚拟磁盘的数据区域,发现该区域的数据已损坏。 经过分析发现,最终导致虚拟机不可用的原因是虚拟机的虚拟磁盘损坏,导致虚拟机中的操作系统和数据丢失。 这种情况很可能是虚拟机遭遇网络攻击或黑客入侵后留下的恶意程序造成的。 仔细检查该区域后发现,虽然该区域大量数据被损坏,但还是发现了不少数据库页碎片。 因此,你可以尝试将很多数据库的页面碎片拼凑成一个可用的数据库。

5.数据恢复流程

根据客户描述,之前数据库备份过一次,数据库备份文件和网站代码被压缩成RAR压缩包。 因此,您只需要恢复这个压缩包即可恢复备份的数据库和网站源代码。

由于数据区损坏,只能根据底层的数据库结构将数据库碎片按照原来的顺序拼接在一起,然后通过修复数据库、验证数据库的方式来恢复数据库。

首先底层分析可知,根据RAR压缩包的结构,可以找到很多压缩包的数据起始位置,而RAR压缩包文件的第一个扇区会记录这个RAR的文件名。 因此,根据客户得知备份数据库压缩包的文件名与当前找到的压缩包位置的文件名相匹配,就可以找到备份数据库压缩包的起始位置。 找到压缩包的位置后,仔细分析该区域的数据,然后恢复该区域的数据,并重命名为RAR格式的压缩文件。 然后我尝试解压这个压缩包,发现解压时出错。

仔细分析恢复的压缩包发现部分数据已损坏,因此解压时报错。 尝试使用 RAR 修复工具,看看是否可以忽略错误并解压缩一些数据。 结果修复完成后,解压后的数据库只有部分网站代码,没有数据库的备份文件。 因此,可以确定RAR压缩包中数据的备份文件已损坏。

由于之前没有恢复过数据库,所以采用另一种方法来恢复数据。 根据SQL Server数据库的结构,转到底层分析数据库的起始位置。 在数据库的结构中,第9页会记录这个数据库的数据库名称。 因此,从客户那里获取数据库的名称后,再分析底层,找到数据库的起始位置。 因为数据库的每个页中都记录了数据库页号和文件号,所以可以根据这些特征编写程序来扫描与数据库页匹配的底层数据。

然后将扫描的碎片按顺序重新组装成完整的MDF文件,然后使用MDF验证程序检查整个MDF文件是否完整。

6. 搭建环境验证数据

检测无误后,我们的数据库工程师将搭建数据库环境,并将重组后的数据库附加到搭建的数据库环境中。 然后检查相关表数据是否正常,是否存在最新数据。

由于数据库需要与网站代码结合起来,以更好地验证数据库的完整性虚拟机文件怎么恢复 虚拟机数据恢复软件教程,而大部分网站源代码已被破坏,因此只能使用备份中的部分源代码。 客户从开发人员那里获取网站代码,设置环境虚拟机文件怎么恢复 虚拟机数据恢复软件教程,然后将恢复的数据库发送给用户。 经过用户验证,数据库没有问题。

7. 数据恢复结果

由于客户数据被非法破坏,恢复非常困难。 大量底层数据被破坏,但对于客户来说最重要的是SQL Server数据库,所以只需要恢复数据库文件。 因此,通过拼凑数据库碎片,数据库成功恢复,整个数据恢复成功。

相关内容 查看全部