当前位置:   article > 正文

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

虚拟机 挂镜像 修复磁盘

点击上方"walkingcloud"关注,并选择"星标"公众号

更多技术干货,第一时间送达

da74d14e5545b0532f05093c262484c4.png

6b098e9b53f9d33abc10a0bf9ffb2943.png

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

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

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

1)Fedora32默认安装了cockpit 

yum安装cockpit-machines 

yum install cockpit-machines.noarch 

d54255fe4cf40ae67bacb26d8f5447d8.png

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

dd05c182c63cc6569d3a8fc95f20a7f4.png

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

b8d14e9ff53c28b0056bfa7f06a2aef5.png

4)创建虚拟机

77378394a1b51ca1d415159c5cfb48bf.png

d1514cf23aa13b84759c941496499d2b.png

7acf75a82b4a5228ce8a6b4fca765094.png

8da2bba468574ab002400547e4c69b0b.png

88b1699ac9a433d7b0929b65c49b3b5e.png

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

a46ea027513a542c9d9e9bdd71b659a1.png

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

05dc2bbfb7290f084b4717b208a194de.png

7)关闭虚拟机

711794912f5e0fea10f141f09b5663b1.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

6b7376409d20cd3fa024f29e1c6f60d0.png

f23dd3239058a67db0b232f2966998ee.png

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

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

bcb313da6923fcaead60943380762f2a.png

16dfbcdeb593474043aba36b3a2f1be5.png

c2b238f5252b0abca440e026f4ef8a1f.png

3、挂载nbd设备

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

a4c62cc5f003bf5207c249e2bdda2b05.png

74c32cdad9597839b5584622f0568aa6.png

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

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

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

yum install libguestfs libguestfs-tools -y

ec8f429189d57c313a401a0a23ccbbd5.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

a38aa3858b3b4e2e1e19176594a44cdd.png

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/77740
推荐阅读
相关标签
  

闽ICP备14008679号