В этой статье описана краткая информация как пользоваться утилитой qemu-img для создания дисков и как сделать конвертацию из одного формата в другой.qemu-img работает со следующими форматами: raw, qcow2, qcow, cow, vmdk, cloop, vpc (vhd)
Использование:
qemu-img command [command options]
Для манипуляции с образами используются следующие команды:
список не весь, все параметры см. man qemu-img
создадим образ диска размером 100 Gb в формате qcow2
root@v4:/virt# qemu-img create -f qcow2 asterisk_hd.qcow2 100G Formatting 'asterisk_hd.qcow2', fmt=qcow2 size=107374182400 encryption=off cluster_size=65536 lazy_refcounts=off
root@v4:/virt# qemu-img info asterisk_hd.qcow2 image: asterisk_hd.qcow2 file format: qcow2 virtual size: 100G (107374182400 bytes) disk size: 196K cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false
root@v4:/virt# qemu-img convert -f raw -O qcow2 disk_hd.img disk_hd.qcow2
Важное замечание! ни в коем случае не монтируете диск запущенной виртуалке, данные будут потеряны.Иногда может понадобится смонтировать образ диска в системе не загружая виртуальную машину.Делается это так, для формата raw:
modprobe nbd max_part=63 qemu-nbd -c /dev/nbd0 название_образа.img partprobe /dev/nbd0 (может не выполниться, но можно продолжить без этого) перед монтированием можно посмотреть разделы на диске sudo fdisk -l /dev/nbd0 mount /dev/nbd0p1 /mnt/qemu
С диском в формате qcow2 при монтировании просит указать тип fs
mount [-t ext4] /dev/nbd0p1 /mnt/qemu (на тип файловой может ругнуться, можно этот параметр опустить)
По завершению работы с диском отключаем
sudo umount /mnt/qemu sudo qemu-nbd -d /dev/nbd0
Перед созданием snapshot необходимо выключить виртуальную машину.
Один из способов создания снапшотов qemu-img — это перенаправление записи в новый образ, а старый образ диска используется для чтения. Для создания ного snapshot образа из существующего original.qcow2 используйте флаг -b создание резервной копии (backing_file).
qemu-img create -f qcow2 -b original.qcow2 snapshot.qcow2
следующим шагом редактируем xml файл через virsh edit нужной виртуальной машины и указываем новый (созданный) образ диска snapshot.qcow2
virsh edit VMname
было:
<disk type='file' device='disk'><driver name='qemu' type='qcow2'/> <source file='/cxd/virt/original.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk>
стало:
<disk type='file' device='disk'><driver name='qemu' type='qcow2'/> <source file='/cxd/virt/snapshot.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk>
После этого можно запускать виртуальную машину.В результате данных манипуляций у нас есть теперь 2 образа один для чтения и меняться не будет, а второй для записи, т.е. все манипуляции и изменения данных будут отражены на втором образе snapshot.qcow2.
Если возникла необходимость перенести данные с snapshot на основной диск, сделать это можно так:
qemu-img commit filename
в качестве filename нужно указать наш snapshot.qcow2.Еще раз повторюсь, все манипуляции с образами дисков необходимо делать при выключенной ВМ, иначе можно потерять все данные.Информация с сайта http://wiki.qemu-project.org/Documentation/CreateSnapshot
« Назад
Powered by Help Desk Software HESK, in partnership with SysAid Technologies