我有一个 xen dom0 服务器(名为 virtserver),其中包含一台客户机,我们称之为“virtguest”。
virtguest 以前是物理机,整个旧磁盘(带有多个分区)现在位于 virtserver 上的 lvm 卷上(不是我创建的)。我如何从 virtserver 访问(挂载)virtguest 上的 sda1?
理论上它应该位于 /dev/vgvirt/virtguest-disk/sda1 但显然这不起作用。
现在,virtguest 将整个 /dev/vgvirt/virtguest-disk 作为 /dev/sda,然后在启动后将该磁盘上的分区挂载为 /dev/sda1、dev/sda2 等,但现在我需要从“外部”提取有关 sda1 的信息。
答案1
所以,我要做的是运行block-attach:
root@virtserver:# xm block-attach 0 phy:/dev/vgvirt/virtguest-disk xvda w
root@virtserver:# mount /dev/xvda1 /mnt
或者如果 xen > 4.1,则使用 xl 而不是 xm
答案2
我会用陣容
添加磁盘映射:
kpartx -a /dev/vgvirt/virtguest-disk
看看你是否能找到 vg。
vgscan
然后 vgchange 并挂载(例如在 /mnt 下)
vgchange -a y yourVGname
mount /dev/yourVGname/yourLV /mnt
如果您在尝试执行此操作的盒子上运行 LVM,并且 VG 的名称相同,那么您可能会遇到问题。
这是一个很好的操作方法:http://wiki.xen.org/wiki/Access_a_LVM-based_DomU_disk_outside_of_the_domU
或者你可以考虑使用客鱼。