服务器数据恢复—KVM虚拟机被误删除如何恢复虚拟磁盘文件?

本文主要是介绍服务器数据恢复—KVM虚拟机被误删除如何恢复虚拟磁盘文件?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务器数据恢复环境&故障:
1台服务器,Linux操作系统+EXT4文件系统,部署了数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件,和一个raw格式的磁盘文件。
工作人员操作失误删除了3台服务器上的KVM虚拟机,需要恢复raw格式的磁盘文件。

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

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

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

8、尝试对虚拟磁盘文件及其中的数据库文件进行尽可能的修补之后,由用户方对恢复出来的数据进行验证。经过验证,服务器中绝大部分数据都恢复出来了,重要数据都在,用户方认可本次数据恢复结果。

这篇关于服务器数据恢复—KVM虚拟机被误删除如何恢复虚拟磁盘文件?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070943

相关文章

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

mysql查询使用_rowid虚拟列的示例

《mysql查询使用_rowid虚拟列的示例》MySQL中,_rowid是InnoDB虚拟列,用于无主键表的行ID查询,若存在主键或唯一列,则指向其,否则使用隐藏ID(不稳定),推荐使用ROW_NUM... 目录1. 基本查询(适用于没有主键的表)2. 检查表是否支持 _rowid3. 注意事项4. 最佳实

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

SpringBoot3中使用虚拟线程的完整步骤

《SpringBoot3中使用虚拟线程的完整步骤》在SpringBoot3中使用Java21+的虚拟线程(VirtualThreads)可以显著提升I/O密集型应用的并发能力,这篇文章为大家介绍了详细... 目录1. 环境准备2. 配置虚拟线程方式一:全局启用虚拟线程(Tomcat/Jetty)方式二:异步

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

Linux给磁盘扩容(LVM方式)的方法实现

《Linux给磁盘扩容(LVM方式)的方法实现》本文主要介绍了Linux给磁盘扩容(LVM方式)的方法实现,涵盖PV/VG/LV概念及操作步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录1 概念2 实战2.1 相关基础命令2.2 开始给LVM扩容2.3 总结最近测试性能,在本地打数据时,发现磁盘空