如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据

简介: 如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据

640.jpg

KVM虚拟机发生故障,无法正常启动,但是里面存在重要数据,这时如何进行恢复

问题:如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据

下面以Fedora32 Cockpit方式安装的虚拟机为演示环境,介绍如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据


1)Fedora32默认安装了cockpit


yum安装cockpit-machines

yum install cockpit-machines.noarch

640.png


2)登录cockpit并创建虚拟机 https://192.168.31.155:9090登录cockpit


640.png

3)上传自动化安装CentOS7的系统镜像用于测试

640.png

4)创建虚拟机


640.png

640.png

640.png

640.png640.png


5)在/data分区下写入数据,用于测试

640.png


6)模拟系统无法启动的故障

640.png

7)关闭虚拟机

640.png

接下来进入正题


如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据


方法一、使用qemu-nbd工具挂载KVM虚拟机的磁盘镜像文件


1. 首先检查当前系统的kernel对NBD模块的支持(NBD:network block device),并加载nbd驱动


Fedora32默认带nbd驱动,CentOS7系统需要手动编译
modinfo nbd
手动加载nbd驱动
modprobe nbd max_part=16
lsmod | grep nbd


640.png

640.png


2、将qcow2镜像映射为网络块设备(nbd)


qemu-nbd -c /dev/nbd0 /var/lib/libvirt/images/YF_OS.qcow2 
ll /dev/nbd0*



640.png

640.png

640.png

3、挂载nbd设备


lsblk 
lsblk -f 
挂载
mount /dev/mapper/vg_centos-lv_data /kvm_data/


640.png640.png


并查看data分区下数据,这时就可以拷贝该分区下的数据进行备份恢复


方法二:使用guestmount挂载KVM虚拟机的磁盘镜像文件


1、安装软件包libguestfs和libguestfs-tools


yum install libguestfs libguestfs-tools -y


640.png


2、virt-filesystems检测虚拟机磁盘文件


virt-filesystems 参数-a 检测虚拟机磁盘文件


virt-filesystems -a /var/lib/libvirt/images/YF_OS.qcow2

3、guestmount命令进行挂载


guestmount -a /var/lib/libvirt/images/YF_OS.qcow2 -m /dev/vg_centos/lv_data /mnt/kvm_images/


命令解释:

-a参数指定虚拟磁盘镜像文件

-m参数指定要挂载的设备在虚拟机中的挂载点

最后给出宿主机中的挂载点


cd /mnt/kvm_images/
ll -trh


640.png

查看虚拟机中的/data数据下数据,这时就可以拷贝该分区下的数据进行备份恢复

相关文章
|
29天前
|
数据库 虚拟化 Windows
虚拟机数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
虚拟机数据恢复环境: 某品牌服务器通过同品牌某型号的RAID卡,将4块STAT硬盘为一组RAID10阵列。上层部署XenServer虚拟化平台,虚拟机安装Windows Server系统,每台虚拟机有两个虚拟机磁盘(系统盘 + 数据盘),虚拟机作为Web服务器使用。 虚拟机故障&分析: 机房异常断电导致服务器中一台VPS(XenServer虚拟机)不可用,虚拟磁盘文件丢失。
|
1月前
|
Java
jvm复习,深入理解java虚拟机一:运行时数据区域
这篇文章深入探讨了Java虚拟机的运行时数据区域,包括程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区、元空间和运行时常量池,并讨论了它们的作用、特点以及与垃圾回收的关系。
62 19
jvm复习,深入理解java虚拟机一:运行时数据区域
|
26天前
|
存储 运维 虚拟化
虚拟化数据恢复——Hyper-V虚拟化故障导致虚拟机文件丢失的数据恢复案例
在Windows Server上部署的Hyper-V虚拟化环境中,因存储中虚拟机数据文件丢失导致服务瘫痪。北亚企安数据恢复工程师通过物理检测、操作系统及文件系统检测,确定为人为格式化造成,并通过镜像硬盘、重组RAID、分析并恢复文件索引项等步骤,成功恢复数据,最终在新Hyper-V环境中验证并迁移所有虚拟机,确保用户业务恢复正常运行。
|
1月前
|
Linux 测试技术 虚拟化
解决虚拟机文件因快照占用硬盘空间较多的情况(压缩虚拟机文件,节省硬盘空间)
解决虚拟机文件因快照占用硬盘空间较多的情况(压缩虚拟机文件,节省硬盘空间)
132 1
|
2月前
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
103 1
KVM虚拟机的热迁移
|
2月前
|
存储 SQL 数据挖掘
虚拟化数据恢复—VMware虚拟机vmdk文件被误删除的数据恢复案例
虚拟化数据恢复环境: 某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。 虚拟化故障: 意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。
|
1月前
|
Kubernetes Linux 容器
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
119 0
|
2月前
|
KVM 虚拟化
KVM虚拟机的冷迁移
这篇文章详细描述了KVM虚拟机的冷迁移过程,包括无依赖环境迁移、有链接克隆虚拟机迁移、多块磁盘迁移的案例,以及可能遇到的错误和解决方案。
81 3
|
7天前
|
存储 SQL 数据库
虚拟化数据恢复—Vmware虚拟机误还原快照的数据恢复案例
虚拟化数据恢复环境: 一台虚拟机从物理机迁移到ESXI虚拟化平台,迁移完成后做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了数年的数据。 ESXI虚拟化平台上有数十台虚拟机,EXSI虚拟化平台连接了一台EVA存储,所有的虚拟机都存放在EVA存储上。 虚拟化故障: 工组人员误操作将数年前迁移完成后做的快照还原了,也就意味着虚拟机状态还原到数年前,近几年数据都被删除了。 还原快照相当于删除数据,意味着部分存储空间会被释放。为了不让这部分释放的空间被重用,需要将连接到这台存储的所有虚拟机都关掉,需要将不能长时间宕机的虚拟机迁移到别的EXSI虚拟化平台上。
80 50

热门文章

最新文章

相关实验场景

更多