KVM Host:
# 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
次に、/ bootパーティションをマウントします。しかし、次のように入力するとエラーが発生します。
# mount /dev/mapper/kvm101_img2 /mnt
mount: you must specify the filesystem type
ゲストマシンのfdiskレイアウトは次のとおりです。
# fdisk -l
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 7832 62806117+ 8e Linux LVM
ゲストのルートパーティションを見つけてホストシステムにマウントすることはできますか?
ようやく必要なことをやろうと思ったようです。これが私がしたことです:
# kpartx -av /dev/VolGroup00/kvm101_img
# vgscan
ゲストシステムとホストシステムでVolGroup名が同じ場合、ゲストVolGroupの名前を変更する必要があります
# vgrename <uuid> VolGroupXX
vgdisplay
でチェックできるVolGroupsのuuid。したがって、コツはゲストVolGroupをアクティブにすることです。
# lvscan
# vgchange -ay VolGroupXX
# lvscan
その後、簡単にマウントされます。
# mount /dev/VolGroupXX/LogVol00 /mnt
最後に、バックワードプロセスは次のとおりです。
# umount /mnt
# vgchange -an VolGroupXX
# kpartx -dv /dev/VolGroup00/kvm101_img
# pvscan
最後のコマンドはLVMキャッシュを消去し、kpartxによって作成された物理ボリュームをLVMから削除します。
あなたがあなたの状況でそれを理解したことをうれしく思います。
より一般的なケースでは、ゲストドライブはqcow、qcow2などのさまざまな形式になっている可能性があるため、それらを直接操作することはできません。この場合、ホスト上で次のように使用できます。
# modprobe nbd
# kvm-nbd -c /dev/nbd0 file.qcow2
次に、rawゲストドライブとして/ dev/nbd0にアクセスできます。このデバイスの使用を停止するには、次を実行する必要があります。
# nbd-client -d /dev/nbd0
一方、ゲストドライブがraw形式の場合は、losetupを使用します。
# losetup -f file.raw
これにより、最初に利用可能なループデバイス(/ dev/loop0など)が見つかり、使用されます。使用を停止するには、次を実行:
# losetup -d /dev/loop0
この後、答えに記載したkpartx/vgscan/lvscan /マウント手順を実行できます。
あなたはguestfishを使用してそれを行うことができます- http://libguestfs.org/guestfish.1.html
libguestfs パッケージのguestfish
を使用する方が簡単かもしれません。手動で実行するのではなく、迷惑な詳細をすべて解決する必要があります。