База знаний по Open Source
Авторизация
Поиск по базе знаний

Для манипуляции с образами дисков виртуальных машин в QEMU-KVM используется команда qemu-img, которая использует подкомманды для осуществления определенных действий. В общем случае формат команды qemu-img:

qemu-img subcommand [options]

где в качестве “subcommand” могут быть:

create
Создание нового образа диска.

check
Проверка существующего образа диска на ошибки.

convert
Конвертация существующего образа диска в другой формат.

info
Выводит информацию о существующем образе диска.

snapshot
Управляет снимками состояний (snapshots) существующих образов дисков.

commit
Записывает произведенные изменения на существующий образ диска.

rebase
Создает новый базовый образ на основании существующего.

Создание нового образа диска – qemu-img create

qemu-img create создает новый образ диска в базовой операционной системе для гостевой виртуальной машины. Формат команды:

qemu-img create -f fmt -o options size fname

где:

fmt – формат образа диска. В kvm в Ubuntu можно создать образы дисков следующих форматов: vvfat vpc vmdk vhdx vdi sheepdog sheepdog sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd nbd nbd dmg tftp ftps ftp https http cow cloop bochs blkverify blkdebug.
Из всего этого разнообразия реально используется только 4 формата:

  • raw Файл содержащий как бы точную копию физического диска. Переводится как «сырой».  Данные пишутся как есть без всякой обработки и без дополнительной служебной информации. Основным преимуществом данного формата являются максимальная производительность дисковой подсистемы среди других образов за счет отсутствия служебной информации и дополнительных действий в моменты чтения/записи. Универсальность формата позволяет использовать RAW-диски  под управлением других гипервизоров(Xen, VMware).
    К минусам можно отнести невозможность создавать снапшоты а так же необходимость выделения для файла-образа всего объема дискового пространства указанного в параметре size, что в прочем в некоторых случаях избавляет от фрагментации файла-образа за счет единовременного выделения всего объема.
  • qcow2 “Родной” формат  эмулятора QEMU с поддержкой сжатия, снапшотов и шифрования. Кроме того qcow2 образ занимает столько места, сколько реально занимают данные, вне зависимости от размера создаваемого при соз8589934592дании. Наиболее часто используемый и рекомендуемый формат.
    Производительность дисков в формате QCOW2 несколько уступает дискам в формате RAW. Диски в формате QCOW2 в большей степени подвержены фрагментации за счет постепенного а не едино разового выделения всего объема на физическом диске.
  • vdi Образ виртуальных машин, поддерживаемый VirtualBox.
  • vmdk Образ виртульных машин VMware.

size – размер создаваемого диска. Число и единица измерения – K (kilobyte), M (megabyte), G (gigabyte), или T (terabyte).

fname – имя файла образа диска.

$qemu-img create -f qcow2 -o size=8G /images/ca.img
Formatting '/images/ca.img', fmt=qcow2 size=4294967296
 $ qemu-img info /images/ca.img
image: ca.img
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 2.7G
cluster_size: 65536
Format specific information:
 compat: 0.10

Конвертация образа диска qemu-img convert

Для конвертации одного формата образа в другой используется опция convert:

qemu-img convert -c -f fmt -O out_fmt -o options fname out_fname

где:

-c – компрессия (сжатие) целевого диска. Компрессию поддерживают только qcow и qcow2 форматы.

-f fmt – формат исходного диска, в большинстве случаев хорошо определяется автоматически.

-O out_fmt – формат целевого диска

-o options – куча опций. Чтобы узнать, какие опции допустимы для данной конвертации можно ввести:

$ qemu-img convert -O qcow2 ca.img ca1.img -o ?
Supported options:
size Virtual disk size
compat Compatibility level (0.10 or 1.1)
backing_file File name of a base image
backing_fmt Image format of the base image
encryption Encrypt the image
cluster_size qcow2 cluster size
preallocation Preallocation mode (allowed values: off, metadata)
lazy_refcounts Postpone refcount updates