• 【服务器数据恢复】服务器误删除KVM虚拟机的数据恢复案例


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

    服务器故障:
    实习生误操作将服务器上的KVM虚拟机删除。该服务器上每台虚拟机包含一个qcow2格式文件和一个raw格式的文件,管理员联系我们数据恢复中心要求恢复raw格式的文件。

    服务器虚拟机数据恢复过程:
    1、服务器数据恢复工程师拿到硬盘后对所有硬盘进行镜像备份;
    2、对服务器中的EXT4文件系统进行,定位被删除的虚拟机文件的节点位置,获取文件残留的索引信息;
    3、校验残留索引信息是否正确,北亚数据恢复工程师手动修复破坏不严重的索引;
    下图为获取的索引等信息:

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

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

    服务器数据恢复结果:
    在尽可能的尝试对虚拟磁盘文件及其中的数据库文件进行修补之后,由管理员对恢复出来的数据进行验证,重要数据准确无误,只有极少部分数据丢失,数据恢复成功。

  • 相关阅读:
    python学习-基础-day5-文件操作和函数
    (转) 什么是立即执行函数?有什么作用?
    AngularJS 从DOM中获取scope
    AngularJS中Directive指令系列
    AngularJS中Directive指令系列
    angularJS ng-repeat中的directive 动态加载template
    (转) 前端面试之js相关问题(一)
    ES6 localStorage 类库
    underscore.js 源码分析5 基础函数和each函数的使用
    记录使用jQuery和Python抓取采集数据的一个实例
  • 原文地址:https://www.cnblogs.com/frombyte/p/16476946.html
Copyright © 2020-2023  润新知