virsh 附加磁盘 my_VM /dev/vgdata/disk10 vdc

virsh 附加磁盘 my_VM /dev/vgdata/disk10 vdc

如何在我的 CentOS 上安装来自另一台 VM 的根虚拟磁盘?为了更改其中的某些文件,而不是将其用作真正的根磁盘。

我的虚拟磁盘上有 2 个分区:/boot(Linux 分区)和 /(LVM)

我已经使用 virsh attachment-disk 将它添加到我的 VM,然后我可以在我的 CentOS 上看到它,但我无法使用它:

mount /dev/vdx /mnt/test
mount: unknown filesystem type 'LVM2_member'

还有一件非常奇怪的事情,如果我在 VM 模板上添加磁盘,我的 centOS 会使用它的 /boot 分区 (/dev/vdc1),而不是它必须使用的 /boot 分区 (/dev/vda1)...

感谢帮助

[编辑] :

这是实际情况和我的问题:

  • VM1 具有由虚拟机管理程序 (逻辑卷 LVM) 提供的虚拟驱动器 #1。此 VM 已 KO,由于 I/O 错误,我无法启动它。
  • VM2 有虚拟驱动器 #2,由虚拟机管理程序 (LVM 也是) 提供。它运行良好。

这 2 个虚拟驱动器在其 VM 上如下切割: - /dev/vda1 = /boot(Linux 分区) - /dev/vda2 = /(LVM 分区)

问题:我需要从 VM1 恢复数据。

因此,我已经将 vd#1 附加到 VM2。在 VM2 上,我可以看到该驱动器,即 /dev/vdc,但我如何安装并读取它?

谢谢。


@psusi 和 @Halfgaar

虚拟机管理程序:

virsh 附加磁盘 my_VM /dev/vgdata/disk10 vdc

在我的虚拟机上:

ls -la /dev/vd*

brw-rw---- 1 根磁盘 252,0 十二月 22 11:22 /dev/vda
brw-rw---- 1 根磁盘 252,1 十二月 22 11:22 /dev/vda1
brw-rw---- 1 根磁盘 252,2 十二月 22 11:22 /dev/vda2
brw-rw---- 1 根磁盘 252,16 十二月 22 11:22 /dev/vdb
brw-rw---- 1 根磁盘 252, 32 12 月 22 日 11:48 /dev/vdc
brw-rw---- 1 根磁盘 252,33 12 月 22 日 11:48 /dev/vdc1
brw-rw---- 1 根磁盘 252, 34 12 月 22 日 11:48 /dev/vdc2

vgchange -ay ok。但是如果 /dev/vdc 中的卷与我的实际 VM 相同,我该如何激活它们?

答案1

除了我要求提供更多信息之外:无论您在逻辑卷还是文件上有一个虚拟磁盘,以下操作都可以起作用。

您可以执行fdisk -lu <diskimage>并查看分区表。然后,您可以看到分区开始的偏移量(除非它是 GPT...)。然后使用losetup -d /dev/loop0 -o 512 * <startsector> <diskimage>。然后您可以/dev/loop0在任何点上安装。请确保-o ro先使用安装,以防出现问题。并且,如果可以,请备份您的映像。

如果你有 GPT 分区表,我不知道该怎么做。你可以使用以下方法获取相同的信息gdiskparted

如果您有一个 Xen 设置,它为客户机提供分区而不是磁盘,那就更简单了;您可以直接安装它。但是,我怀疑您没有这个,即使您没有说。

答案2

您的客户机正在使用 lvm,因此您需要挂载逻辑卷,而不是物理卷。确保vgchange -ay激活它,并且逻辑卷应出现在 中/dev/mapper

相关内容