VM qcow2 imageを添付して、内部のファイルにアクセスします。
modprobe nbd max_part=63
qemu-nbd -n -c /dev/nbd0 /var/lib/libvirt/images/vm-image.qcow2
ボリュームグループのスキャンvgscan
:
すべての物理ボリュームを読み取ります。これは時間がかかる場合があります...
ボリュームグループが見つかりません
fdisk -l /dev/nbd0
は1つのパーティションのみを表示します/dev/nbd0p1
そしてもちろん、mount /dev/nbd0p1 /mnt
をマウントしようとすると、次のようになります。
NTFS署名がありません。
'/ dev/nbd0p1'のマウントに失敗しました:引数が無効です
デバイス '/ dev/nbd0p1'に有効なNTFSがないようです。
一方、VM LVMパーティションが存在し、システムは問題ないように見えます。qcow2にアクセスするためのqemu-nbd
ベースのソリューションであるため、ホストOSは問題ないと思います。イメージは、LVMも存在する他のゲストイメージでもうまく機能します(ゲストOSは、同じLinuxディストリビューションのわずかに異なるリリースです)。
qemu-img check /var/lib/libvirt/images/vm-image.qcow2
も試してみました:
画像にエラーは見つかりませんでした。
では、ゲストOSのLVMへのアクセス/アクティブ化に関する問題は何でしょうか?
または、 guestfish 、 guestmont または virt-copy-out (両方とも libguestfs.org )をご覧ください。
物理ボリュームが初期化されていない(udev)というバグがある可能性があります。これを試して:
modprobe nbd max_part=63
qemu-nbd -n -c /dev/nbd0 /var/lib/libvirt/images/vm-image.qcow2
partprobe /dev/nbd0
vgscan --cache
vgchange -ay