0

Монтирование дисков гостевых систем

В ходе задачки по переносу виртуалок между разными системами пришлось немного помонтировать диски.
Рассмотрю несколько вариантов, с которыми столкнулся я.

Я уже писал про монтирование гостевого диска в 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/

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.