Si j'essaie de faire ce qui suit sur l'hôte 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
alors je reçois la partition / boot montée. Mais je reçois une erreur si je tape ensuite:
# mount /dev/mapper/kvm101_img2 /mnt
mount: you must specify the filesystem type
Voici une disposition fdisk sur la machine invitée:
# fdisk -l
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 7832 62806117+ 8e Linux LVM
Est-il possible de trouver une partition racine sur l'invité et de la monter sur le système hôte?
Réponses:
Il semble que j'ai enfin compris comment faire les choses dont j'avais besoin. Voici ce que j'ai fait:
si les noms VolGroup sont identiques dans les systèmes invité et hôte, vous devez renommer VolGroup invité
uuid de VolGroups, vous pouvez vous enregistrer
vgdisplay
. Donc, l'astuce consiste à activer VolGroup invité:Après cela, il est facilement monté:
Enfin, le processus en arrière est:
La dernière commande nettoie le cache LVM et supprime le volume physique créé par kpartx de LVM.
la source
Je suis content que vous ayez compris votre situation.
Dans le cas plus général, le lecteur invité peut être dans une variété de formats tels que qcow, qcow2, etc., vous ne pourrez donc pas travailler directement sur eux. Dans ce cas, vous pouvez utiliser quelque chose comme sur l'hôte:
Ensuite, vous pouvez accéder à / dev / nbd0 en tant que lecteur invité brut. Pour arrêter d'utiliser cet appareil, vous devez exécuter:
Si, en revanche, le lecteur invité était au format brut, vous utiliseriez losetup:
Cela permettrait de trouver et d'utiliser le premier périphérique de boucle disponible (par exemple, / dev / loop0). Pour arrêter de l'utiliser, exécutez:
Après cela, vous pourrez effectuer la procédure kpartx / vgscan / lvscan / mount que vous décrivez dans votre réponse.
la source
vous pouvez le faire en utilisant guestfish - http://libguestfs.org/guestfish.1.html
la source
qemu-img info /path/to/image
. si ce que vous obtenez dans la zone Type n'est pas "RAW", il n'y a aucun moyen pour un système d'exploitation de monter cette image en tant que partition, car elle est formatée en tant que disque virtuel spécifique à qemu. C'est ce dont s'occupe guestfish, ce n'est pas seulement un simple outil de montageIl pourrait être plus facile de l' utilisation
guestfish
du libguestfs package qui devrait fonctionner tous les détails ennuyeux pour vous au lieu d'essayer de le faire manuellementla source