Virtual machine 在丢失基本文件后恢复VM
我们有一个openstack平台,KVM作为管理程序。由于某些原因,由于物理磁盘的硬件问题,我们丢失了虚拟机。但是虚拟机的磁盘文件仍然存在。但我们丢失了“基本”支持文件。我们要还原这些磁盘文件中的数据。怎么可能呢?假设您的vm磁盘文件采用Virtual machine 在丢失基本文件后恢复VM,virtual-machine,openstack,kvm,data-recovery,Virtual Machine,Openstack,Kvm,Data Recovery,我们有一个openstack平台,KVM作为管理程序。由于某些原因,由于物理磁盘的硬件问题,我们丢失了虚拟机。但是虚拟机的磁盘文件仍然存在。但我们丢失了“基本”支持文件。我们要还原这些磁盘文件中的数据。怎么可能呢?假设您的vm磁盘文件采用qcow2格式(这是OpenStack的默认格式),您应该能够首先通过运行以下命令来识别相应的基本文件: qemu-img info <filename> 您关心的信息是备份文件。这应该是从Glance创建的raw格式磁盘映像,其中文件名(在之前)
qcow2
格式(这是OpenStack的默认格式),您应该能够首先通过运行以下命令来识别相应的基本文件:
qemu-img info <filename>
您关心的信息是备份文件
。这应该是从Glance创建的raw
格式磁盘映像,其中文件名(在之前)应该是Glance映像id
您应该能够使用它从Glance下载图像,必要时将其转换为raw
格式,并将其放置在正确的位置。如何创建具有相同磁盘格式和大小的新虚拟机,然后在启动它们之前简单地替换其中的文件?对于初学者来说,这是最简单的方法。如果您只想保存文件,而不创建新的虚拟机,则可以先将其转换为原始文件,然后使用工具kpartx访问其分区,fsck其分区,然后将其装载并复制到您想要的位置。如果磁盘vmdk文件损坏,您还需要恢复它们。虽然vmdk格式是公开的,但快速谷歌搜索并没有为我带来一个免费的开源恢复工具。但Vmware不是免费的,不是开源的,而是可下载的。
$ qemu-img info /var/lib/nova/instances/instance-0000000c/disk
image: /var/lib/nova/instances/instance-0000000c/disk
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 149M
cluster_size: 65536
backing file: /var/lib/nova/instances/_base/06a057b9c7b0b27e3b496f53d1e88810a0d1d5d3_20