欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > 整个 PVE 系统崩溃后,怎么恢复 PVE 给虚拟机分配的虚拟硬盘中的数据

整个 PVE 系统崩溃后,怎么恢复 PVE 给虚拟机分配的虚拟硬盘中的数据

2025/2/5 21:52:31 来源:https://blog.csdn.net/jh1513/article/details/145431511  浏览:    关键词:整个 PVE 系统崩溃后,怎么恢复 PVE 给虚拟机分配的虚拟硬盘中的数据

背景

我有一块 ssd 用于 PVE 系统和 虚拟机 安装,还有一块 HDD 用来存储数据。这个HDD按照 把 PVE 下的机械硬盘(非SSD系统盘)分配给虚拟机使用 进行挂载和配置。主要过程是 PVE中 “数据中信” -> “存储” -> “添加” -> “目录”,新建一个 Nextcloud 目录。

在 debian 虚拟机中,添加硬盘,Bus/Device 选择 SCSI,format=raw,我只实验成功了 raw 格式。下图 大小是 32G。
在这里插入图片描述

Raw 格式的虚拟磁盘文件直接读取

  • 使用一块 ubuntu 系统安装盘,插入服务器,直接进入 Ubuntu U盘启动,选择试用 ubuntu 不选择安装。
  • 首先,查看已连接的磁盘:
lsblk

可以看到下图有个,sda 硬盘,如果没有挂载需要先挂载。参考Ubuntu 挂载硬盘,下图我挂载到 /mnt/share 中。
在这里插入图片描述

  • 打开 ubuntu 文件管理器,找到刚才挂载的文件夹 share,由于前面是挂载整个硬盘,Nextcloud 文件夹在整个硬盘中,所以直接进入 share/Nextcloud 文件夹中找 “*.raw” 文件。如果文件夹右上角有一个“x”,表示没权限,如下图右下角的 root 文件夹,这样需要先改文件权限。sudo chmod -R 777 /mnt/hare/Nextcloud 。记下来这个 vm-200-disk-0.raw 文件所在路径。
    在这里插入图片描述
  • 使用 losetup 挂载 raw 磁盘,使用下面语句,填入 “*.raw”文件路径
sudo losetup -Pf /mnt/share/Nextcloud/200/vm-200-disk-0.raw
  • 查看分区
lsblk

应该可以看到有一个硬盘是 32G,就是上一步创建的虚拟硬盘 vm-200-disk-0.raw。前面图中展示了 lsblk结果是 “loop14” 。

  • 挂载这个虚拟磁盘 loop14
sudo mkdir -p /mnt/nextcloud
sudo mount /dev/loop14 /mnt/nextcloud
  • 打开文件资源管理器,进入文件夹可以看到 samba 上的文件
    在这里插入图片描述

  • 解绑 raw 磁盘(完成后)
    当你读取完数据后,解绑 loop 设备:

sudo umount /mnt/???
sudo losetup -d /dev/loop14

qcow2 格式虚拟磁盘文件读取

类似前面 raw 虚拟磁盘文件处理过程,先把 HDD 挂载到 /mnt/share, 处理好权限问题,找到 “*.qcow2”格式文件,我的虚拟磁盘是 vm-110-disk-0.qcow2,

  • 安装 qemu-utils
sudo apt update
sudo apt install qemu-utils -y
  • 连接 QCOW2 文件到 NBD 设备
sudo modprobe nbd
sudo qemu-nbd --connect=/dev/nbd0 /mnt/share/Samba/images/110/vm-110-disk-0.qcow2
  • 查找 QCOW2 内部分区
lsblk

可以看到,有一个 nbd0的硬盘,容量是 200G,这个就是我放 Samba 共享文件夹的磁盘
在这里插入图片描述

  • 挂载 QCOW2 内的文件系统
sudo mkdir -p /mnt/samba
sudo mount /dev/nbd0 /mnt/samba

打开文件管理器,进入挂载的目录,可以看到 Samba 共享文件夹下的资料了。
在这里插入图片描述

  • 解绑 QCOW2 磁盘(操作完成后)
    当你完成数据读取后,安全卸载:
sudo umount /mnt/???
sudo qemu-nbd --disconnect /dev/nbd0

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com