losetup
(and loop device support in kernel of course) and kpartx
. On gentoo they are in sys-apps/util-linux
and sys-fs/multipath-tools
accordingly.Create a new image:
# kvm-img create -f raw gentoo.raw.img 4G # losetup -f /dev/loop/0 # losetup /dev/loop/0 gentoo.raw.img # cfdisk /dev/loop/0 # kpartx -av /dev/loop/0 add map 0p1 (253:1): 0 8385867 linear /dev/loop0 63 # mkfs /dev/mapper/0p1 # kpartx -dv /dev/loop/0 del devmap : 0p1 # losetup -d /dev/loop/0
Mount an already formatted image:
# kpartx -av gentoo.raw.img add map loop0p1 (253:1): 0 8385867 linear /dev/loop0 63 # mount /dev/mapper/loop0p1 /mnt/guests/gentoo-kvm
Note that it's dangerous to have the image mounted like that and use it with kvm/qemu/etc at the same time, so here is the reverse process:
# umount /mnt/guests/gentoo-kvm # kpartx -dv gentoo.raw.img del devmap : loop0p1 loop deleted : /dev/loop0
Excellent, I've sometimes wondered if you could do that. Thanks!
ReplyDeleteDo you know if there's a way to do this with LVM volumes which are set up for KVM use?
ReplyDelete(SIGSEGV) when using # kpartx -av /dev/loop/0
ReplyDeleteThank you.
ReplyDeleteThis was helpful
Thanks !
ReplyDelete