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

31fc2090c44fee66095c5fefd7abf69f.png

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

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

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

1)Fedora32默认安装了cockpit

yum安装cockpit-machines

yum install cockpit-machines.noarch

ddeb86175967794af5fdf2661123be6b.png

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

40bc73ee9554e8f2603546a13313e675.png

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

cf99bf866f7d62e2c978d02383a5479c.png

4)创建虚拟机

4e48192fe95f37c830c1d68f2bbada92.png
d9a31933ebf50f7b81dfe28518297726.png
32c42c3917437a0ed67d913e948492db.png
bbbb5eff39a1431a94a2906c30cc8fd8.png
5e843fb0b587baa1eace79517643a511.png

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

3abaa40635526e8a999fa007deebf8be.png

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

a5c15bb8a802982950585b981ab41f1f.png

7)关闭虚拟机

aea8682e8f64ca61386f473dd0cba2e7.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=16lsmod | grep nbd
027088b9bbe1e411fb60e19e6e3c6d54.png
fb3aaac5eaa623c42aa878acc43029cb.png

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

qemu-nbd -c /dev/nbd0 /var/lib/libvirt/images/YF_OS.qcow2 ll /dev/nbd0*
f7a0db7ab00d6058abb82f5e525582c0.png
b6713a0c30892ae6c1c6707daa230def.png
89eef7b1beec7ade0c71025102f42f8e.png

3、挂载nbd设备

lsblk lsblk -f 挂载mount /dev/mapper/vg_centos-lv_data /kvm_data/
f4ff8b6d5842f690f8385ac0f23aa27c.png
cb06c0d6ff96d494fa1e9a41198cad2e.png

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

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

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

yum install libguestfs libguestfs-tools -y
efd19d5d4ed2fa444a682779fad2f017.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
c257005791286e3801cc637be7905726.png

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值