Для работы с образами дисков в QEMU-KVM используется команда:
qemu-img.
Формат команды qemu-img:
qemu-img subcommand [options]
Доступные варианты “subcommand”:
create - создание нового образа диска
check - проверка существующего образа диска на наличие ошибок
convert - конвертация образа в другой формат
- Подробнее про доступные форматы ниже.
info - информация об образе диска
snapshot - управление снимками дисков (snapshots)
ВАЖНО: данная опция не работает с образами диска формата RAW
commit - записать изменения образа
rebase - создание образа диска на основании параметров эталонного диска
- Под эталонным мы понимаем любой существующий образ, который задается в качестве эталона.
Создание нового образа диска – qemu-img create
Пример создания нового диска для гостевой виртуальной машины внутри файловой системы хоста.
Формат команды:
qemu-img create -f ft fm size
Пример команды:
qemu-img create -f raw /RAID1/vm1.img 120G
где:
ft – формат образа диска.
В Ubuntu поддерживаются следующие форматы виртуальных дисков:
vmdk,
vdi,
raw,
host_cdrom,
host_floppy,
host_device file,
qcow2,
qcow,
parallels,
cow,
cloop
(есть еще другие, но я лично их не пробовал создавать).
В реальной жизни обычно необходимы для работы только несколько форматов:
- raw Формат «сырой диск». Представляет из себя просто устройство без файловой системы и данных. В общем случае данный форма предназначен для копий реальных дисков. Формат не содержит служебной информации.
Преимущества: максимальная производительность дисковой подсистемы. Нет дополнительных действий в моменты чтения/записи по причине отсутствия служебной информации.Формат универсален, работает без проблем и дополнительных настроек под управлением гипервизоров Xen и VMware.За счет выделения места под весь размер образа не подвержен дефрагментации на диске (актуально только для некоторых файловых систем на хосте).Недостатки: не поддерживаются снапшоты.
Относительный недостаток: при создании файла под него выделяется сразу все необходимое место на диске. Соответственно резервное копирование таких дисков сложнее, дольше и требует намного больше места. - qcow2 Формат эмулятора QEMU.
Поддерживает сжатие, создание снапшотов, шифрование, как говорится из коробки.Преимущества: образ диска растет постепенно, по мере заполнения. Т.е. занимает столько места, сколько реально занимают данные внутри, вне зависимости от размера заданного при создании.Недостатки: производительность дисков в формате QCOW2 ниже за счет обработки дополнительных служебных инструкций при чтении и записи.На некоторых файловых системах диски в формате QCOW2 подвержены фрагментации за счет постепенного выделения объема места на родительской файловой системе.
- vdi Формат образа для VirtualBox (уже давно не использовал, не рассматриваю).
- vmdk Формат образа для VMware.
Имеет смысл делать дисковый образ в формате vmdk только, если вы планируете сменить систему виртуализации с KVM на VMWARE в ближайшее время, в противном случае не рекомендую использовать данный формат в KVM. Дисковые операции выполняются намного медленнее, по сравнению с родной системой витуализации.
fname – Имя и путь к файлу образа диска.
ize – размер создаваемого диска.
Формат num<единицица измерения>.
Поддерживаются следующие сокращения единиц измерения: K
(Kilobyte), M
(Megabyte), G
(Gigabyte), T
(Terabyte).
sudo qemu-img create -f raw /RAID1/backup/backup.img 120G Formatting '/RAID1/backup/backup.img', fmt=raw size=128849018880
Конвертация образа диска
qemu-img convert
Конвертации одного формата в другой при использовании образов дисков делается командой qemu-img convert:
qemu-img convert -c -f ft -O out_ft -o options fname out_fname
-c – компрессия (сжатие) диска.
ВАЖНО: Компрессию поддерживают только qcow
и qcow2
форматы.
-f ft – формат исходного диска. Опция не обязательная, конвертер сам умеет считывать заголовок формата образа. Задается только, если при определении формата возникла ошибка.
-O out_ft – формат целевого диска (какой формат мы хотим получить в результате выполнения команды)
-o options – Различные опции, которые допустимы для конкретной конвертации.
Узнать что конкретно можно применить можно при помощи команды:
qemu-img convert -O qcow2 backup.img backup1.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, falloc, full) lazy_refcounts Postpone refcount updates refcount_bits Width of a reference count entry in bits nocow Turn off copy-on-write (valid only on btrfs)
Как вы заметили после параметра -o стоит знак вопроса.