Se eu estiver tentando fazer o seguinte no host KVM:
# kpartx -av /dev/VolGroup00/kvm101_img
add map kvm101_img1 : 0 208782 linear /dev/VolGroup00/kvm101_img 63
add map kvm101_img2 : 0 125612235 linear /dev/VolGroup00/kvm101_img 208845
# mount /dev/mapper/kvm101_img1 /mnt
então eu estou recebendo / partição de inicialização montada. Mas estou recebendo um erro se digitar o seguinte:
# mount /dev/mapper/kvm101_img2 /mnt
mount: you must specify the filesystem type
Aqui está um layout do fdisk na máquina convidada:
# fdisk -l
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 7832 62806117+ 8e Linux LVM
É possível encontrar uma partição raiz no convidado e montá-la no sistema host?
linux
virtualization
lvm
kvm-virtualization
Evolver
fonte
fonte
Respostas:
Parece que finalmente descobri como fazer as coisas de que precisava. Aqui está o que eu fiz:
se os nomes do VolGroup forem idênticos nos sistemas convidado e host, será necessário renomear o VolGroup convidado
uuid de VolGroups você pode fazer check-in
vgdisplay
. Portanto, o truque está na ativação do VolGroup convidado:Depois disso, é facilmente montado:
Finalmente, o processo atrasado é:
O último comando limpa o cache do LVM e remove o volume físico criado pelo kpartx do LVM.
fonte
Estou feliz que você tenha descoberto isso para a sua situação.
No caso mais geral, a unidade convidada pode estar em vários formatos, como qcow, qcow2, etc., para que você não possa trabalhar neles diretamente. Nesse caso, você pode usar algo como no host:
Em seguida, você pode acessar / dev / nbd0 como a unidade de convidado bruto. Para parar de usar este dispositivo, você deve executar:
Se, por outro lado, a unidade convidada estivesse no formato bruto, você usaria losetup:
Isso encontraria e usaria o primeiro dispositivo de loop disponível (por exemplo, / dev / loop0). Para parar de usá-lo, execute:
Depois disso, você poderá executar o procedimento kpartx / vgscan / lvscan / mount que você descreve na sua resposta.
fonte
você pode fazer isso usando guestfish - http://libguestfs.org/guestfish.1.html
fonte
qemu-img info /path/to/image
. se o que você obtiver na caixa Tipo não for "RAW", não há como um sistema operacional montar esta imagem como uma partição, pois ela está formatada como um disco virtual específico do qemu. Isto é o que guestfish trata, não é apenas uma ferramenta de montagem simplesPode ser mais fácil usar
guestfish
o pacote libguestfs , que deve resolver todos os detalhes irritantes para você, em vez de tentar fazê-lo manualmente.fonte