Então, o que tenho que fazer é executar o bloqueio de blocos:
root@virtserver:# xm block-attach 0 phy:/dev/vgvirt/virtguest-disk xvda w
root@virtserver:# mount /dev/xvda1 /mnt
ou use xl em vez de xm se for xen > 4.1
Eu tenho um servidor xen dom0 (chamado virtserver), que contém uma máquina convidada, vamos chamá-lo de "virtguest".
O virtguest costumava ser uma máquina física anteriormente, e todo o disco antigo (com várias partições) está localizado em um volume lvm no virtserver agora (não feito por mim). Como posso acessar (montar) sda1 no virtguest a partir do virtserver?
Teoricamente, ele deve estar localizado em / dev / vgvirt / virtguest-disk / sda1, mas obviamente isso não funciona.
Neste momento, o virtguest obtém o / dev / vgvirt / virtguest-disk inteiro como / dev / sda e então monta as partições naquele disco após o boot como / dev / sda1, dev / sda2 etc, mas agora eu preciso extrair informações sobre sda1 de "fora".
Eu usaria kpartx
Adicionar mapeamentos de disco:
kpartx -a /dev/vgvirt/virtguest-disk
Veja se você pode encontrar o vg.
vgscan
depois vgchange e mount (por exemplo, em / mnt)
vgchange -a y yourVGname
mount /dev/yourVGname/yourLV /mnt
Se você executar o LVM na caixa de onde você tenta fazer isso, e os nomes dos VG: s são os mesmos, então você pode ter problemas.
Aqui está um bom tutorial: link
ou você pode considerar o uso de guestfish .