如何恢复故障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数据下数据,这时就可以拷贝该分区下的数据进行备份恢复

相关文章
|
3月前
|
SQL 存储 数据挖掘
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
虚拟机数据恢复环境: 某品牌R710服务器+MD3200存储,上层是ESXI虚拟机和虚拟机文件,虚拟机中存放有SQL Server数据库。 虚拟机故障: 机房非正常断电导致虚拟机无法启动。服务器管理员检查后发现虚拟机配置文件丢失,所幸xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。服务器管理员在尝试恢复虚拟机的过程中,将原虚拟机内的xxx-flat.vmdk删除后新建了一个虚拟机,并分配了精简模式的虚拟机磁盘和快照数据盘,但原虚拟机内的数据并没有恢复。
【虚拟机数据恢复】VMware虚拟机文件被误删除的数据恢复案例
|
26天前
|
缓存 Java C#
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
70 0
|
1天前
|
运维 Linux KVM
KVM详解(六)——KVM虚拟机快照
KVM详解(六)——KVM虚拟机快照
3 0
|
1天前
|
运维 Linux KVM
KVM详解(五)——KVM虚拟机镜像格式
KVM详解(五)——KVM虚拟机镜像格式
5 0
|
7天前
|
Linux KVM 数据库
虚拟机数据恢复—误删除KVM虚拟机的数据恢复案例
虚拟化数据恢复环境&故障: KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20版本之后集成在Linux的各个主要发行版本中。KVM使用Linux自身的调度器进行管理。 本案例中的服务器操作系统为Linux,文件系统为EXT4。操作系统上的部署的几台KVM虚拟机被删除,每台KVM虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件,用户需要恢复的数据是raw格式的磁盘文件。这几台被误删除的虚拟机存放的是数据库,程序代码等数据。
|
23天前
【嵌入式】虚拟机未能将管道连接到虚拟机: 系统找不到指定的文件
【嵌入式】虚拟机未能将管道连接到虚拟机: 系统找不到指定的文件
|
2月前
|
存储 Linux KVM
|
3月前
|
Ubuntu 虚拟化
百度搜索:蓝易云【虚拟机磁盘大小变更后的Ubuntu动态分区调整教程】
现在,你已经成功将Ubuntu虚拟机的动态分区调整为新的磁盘大小。你可以通过 `df -h`命令来查看文件系统的新大小。注意,在进行此操作时,请务必备份重要数据,并确保你了解分区操作的风险和影响。
31 0
|
3月前
|
Linux
将Linux虚拟机导出为OVF文件
将Linux虚拟机导出为OVF文件
38 1
|
3月前
|
存储 运维 虚拟化
【服务器数据恢复】Hyper-V虚拟机文件丢失的数据恢复案例
Windows Server操作系统服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在某品牌MD3200存储中,MD3200存储中有一组由4块硬盘组成的raid5阵列,存放虚拟机的数据文件;另外还有一块硬盘存放虚拟机数据文件的备份。
【服务器数据恢复】Hyper-V虚拟机文件丢失的数据恢复案例

相关实验场景

更多