Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243317
  • 博文数量: 492
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4955
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-02 14:16
文章分类

全部博文(492)

文章存档

2024年(57)

2023年(218)

2022年(181)

2020年(12)

2019年(24)

我的朋友

分类: 服务器与存储

2023-06-27 13:33:38

服务器数据恢复环境:
Linux操作系统服务器,EXT4文件系统。服务器上部署3台KVM虚拟机:


虚拟机1:主数据库服务器
虚拟磁盘:系统盘(qcow2)+数据盘(raw)
文件系统:EXT4
数据:MySQL数据库


虚拟机2:备份数据库服务器
虚拟磁盘:系统盘(qcow2)+数据盘(raw)
文件系统:EXT4
数据:MySQL数据库


虚拟机3:代码服务器
虚拟机盘:系统盘(qcow2)+数据盘(raw)
文件系统:EXT4
数据:程序代码


服务器故障:
3台KVM虚拟机被误操作删除,需要恢复raw格式的磁盘文件。


服务器数据恢复过程:
1、将故障服务器中的所有磁盘编号后取出,以只读方式进行全盘镜像,镜像完成后将所有磁盘按照编号恢复到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析故障服务器的EXT4文件系统,定位被删除KVM虚拟机磁盘文件的节点位置。
3、获取磁盘文件残留的索引信息。校验残留索引信息的正确性并修复破坏不严重的索引。
获取的索引信息:



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



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





数据验证:
对虚拟磁盘文件及其中的数据库文件尽力修补之后,由用户方工程师对恢复出来的数据进行验证。经过反复验证,虽然有部分数据无法恢复,但重要数据都恢复出来了,数据有效。本次数据恢复工作完成。
阅读(164) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~