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

相关文章
|
数据库 虚拟化 Windows
虚拟机数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
虚拟机数据恢复环境: 某品牌服务器通过同品牌某型号的RAID卡,将4块STAT硬盘为一组RAID10阵列。上层部署XenServer虚拟化平台,虚拟机安装Windows Server系统,每台虚拟机有两个虚拟机磁盘(系统盘 + 数据盘),虚拟机作为Web服务器使用。 虚拟机故障&分析: 机房异常断电导致服务器中一台VPS(XenServer虚拟机)不可用,虚拟磁盘文件丢失。
|
存储 Java 编译器
深入理解Java虚拟机--类文件结构
本内容介绍了Java虚拟机与Class文件的关系及其内部结构。Class文件是一种与语言无关的二进制格式,包含JVM指令集、符号表等信息。无论使用何种语言,只要能生成符合规范的Class文件,即可在JVM上运行。文章详细解析了Class文件的组成,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表等,并说明其在Java编译与运行过程中的作用。
367 0
|
数据挖掘 索引
服务器数据恢复—raid6阵列硬盘故障导致上层虚拟机不可用的数据恢复案例
一台由16块硬盘组成的raid6磁盘阵列。磁盘阵列中有一块硬盘因为物理故障掉线,导致服务器上层虚拟机无法正常使用,部分分区丢失,重启物理服务器后发现数据丢失。
|
存储 数据挖掘 虚拟化
vsan数据恢复—vsan缓存盘故障导致虚拟机磁盘文件丢失的数据恢复案例
VMware vsan架构采用2+1模式。每台设备只有一个磁盘组(7+1),缓存盘的大小为240GB,容量盘的大小为1.2TB。 由于其中一台主机(0号组设备)的缓存盘出现故障,导致VMware虚拟化环境中搭建的2台虚拟机的磁盘文件(vmdk)丢失。
|
存储 运维 虚拟化
虚拟化数据恢复——Hyper-V虚拟化故障导致虚拟机文件丢失的数据恢复案例
在Windows Server上部署的Hyper-V虚拟化环境中,因存储中虚拟机数据文件丢失导致服务瘫痪。北亚企安数据恢复工程师通过物理检测、操作系统及文件系统检测,确定为人为格式化造成,并通过镜像硬盘、重组RAID、分析并恢复文件索引项等步骤,成功恢复数据,最终在新Hyper-V环境中验证并迁移所有虚拟机,确保用户业务恢复正常运行。
|
XML 数据库 数据格式
|
11月前
|
Oracle 关系型数据库 虚拟化
在VMware的Win10虚拟机中安装使用ENSP
本文介绍了在Windows 10虚拟机上安装ENSP及相关软件的全过程,包括VirtualBox、WinPcap、Wireshark、VLC和ENSP的安装步骤,并提供图文演示,帮助用户顺利完成配置与测试。
2712 134
|
10月前
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
1977 0
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
|
编解码 网络协议 网络安全
OpenWrt x86 虚拟机VMware ESXi安装
OpenWrt x86 虚拟机VMware ESXi安装