В ходе задачки по переносу виртуалок между разными системами пришлось немного помонтировать диски.
Рассмотрю несколько вариантов, с которыми столкнулся я.
Я уже писал про монтирование гостевого диска в XEN
Если нужно примонтировать гостевой диск в формате qcow2, то можно это сделать с помощью qemu-nbd
:
# qemu-nbd -c /dev/nbd0 /var/lib/vz/images/108/vm-108-disk-1.qcow2
# mount /dev/nbd0p1 /mnt/dest
# ls -la /mnt/dest
Отмонтировать:
# umount /mnt/dest
# qemu-nbd -d /dev/ndb0
Кроме того иногда помогает offset опция mount.
Суть сводится к следующему:
Команда
# fdisk -l disk.img
показывает примерно следующее:
Disk disk.img: 104 MB, 104857600 bytes
159 heads, 18 sectors/track, 71 cylinders, total 204800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e163a
Device Boot Start End Blocks Id System
/var/lib/vz/migrate/fotwen3.hardgrad.ru/boot.img1 * 2048 202751 100352 83 Linux
Раздел начинается с 2048 сектора, соответственно и монтировать нужно с него же.
offset = 22048*512 = 1048576
# mkdir /mnt/disk && mount -o loop,offset=1048576 disk.img /mnt/disk/