Назад | Перейти на главную страницу

Какой формат изображения лучше, raw или qcow2, использовать в качестве базового изображения для других виртуальных машин?

Я использую базовый образ и на его основе создаю множество виртуальных машин. А теперь я хочу знать, что лучше, qcow2 или raw, использовать для базового изображения. Более того, не могли бы вы сказать мне, есть ли какие-либо преимущества в использовании этого базового образа вместо клонирования всего диска. Скорость может быть одним из факторов, но с точки зрения эффективности есть ли проблема в использовании базового образа и последующем создании виртуальных машин с использованием этого базового образа?

Изменить 1:

Я провел несколько экспериментов и получил

Первый - когда и baseimage, и overlay - qcow2. Во-вторых, когда базовое изображение необработанное, но наложение - qcow2, и в третьем случае я даю индивидуальный необработанный образ диска каждой виртуальной машине. Удивительно, но последний вариант намного эффективнее двух других.

Experimental Setup: 
OS in baseimage : Ubuntu Server 14.04 64 bit.
Host OS: Ubuntu 12.04 64bit
RAM : 8GB
Processor : Intel® Core™ i5-4440 CPU @ 3.10GHz × 4 
Disk : 500 GB 

По оси x: количество одновременно загружаемых виртуальных машин. Начиная с 1 и увеличивается до 15.

По оси Y: Общее время загрузки "x" числа машин.

Из графиков кажется, что предоставление полного образа диска виртуальной машине намного эффективнее, чем другие 2 метода.

Изменить 2:

Это для случая, когда мы даем индивидуальный необработанный образ каждой виртуальной машине. После очистки кеша это график. Это почти похоже на оверлей raw baseimage + qcow.

Спасибо.

Для вашего конкретного случая использования (базовое изображение + наложение qcow2) предпочтительнее формат RAW:

  1. Это быстрее: поскольку с ним не связаны метаданные, он выполняется максимально быстро. С другой стороны, Qcow2 имеет два уровня косвенного обращения, которые необходимо пересечь, прежде чем попадут в фактические данные.
  2. Поскольку наложенный слой должен быть файлом Qcow2, вы не теряете всегда полезную возможность создания снимков (Изображения RAW не поддерживают снимки сами по себе)

Выбор между базовым изображением + наложением qcow2 и несколькими полными копиями зависит от вашего приоритета:

  1. Для максимальной производительности используйте изображения RAW с ошибками. У этого есть обратная сторона - отсутствие поддержки моментальных снимков, поскольку в большинстве сред это слишком высокая цена, чтобы платить
  2. Для гибкости и экономии места используйте базовые изображения RAW + оверлеи Qcow2.

В любом случае, я нашел файлы Qcow2 несколько хрупкими.

Для своих производственных гипервизоров KVM я в основном использую две разные настройки:

  1. где производительность №1, я использую тома LVM, напрямую подключенные к виртуальным машинам, и использую возможность создания моментальных снимков LVM для создания согласованных резервных копий.
  2. там, где я могу пожертвовать производительностью ради большей гибкости, я использую один большой том LVM Thin Provisioned Volume + изображения XFS + RAW.

Другая возможность - использовать обычный том LVM + изображения XFS + RAW. Единственным недостатком является то, что нормальные (не тонкие) моментальные снимки LVM работают очень медленно, а создание моментальных снимков занятого нормального тома LVM приведет к снижению производительности (на время жизни моментального снимка). В любом случае, если вы планируете использовать только спорадические снимки, это может быть более простым и безопасным вариантом.

Некоторые ссылки:
Медленность ввода-вывода KVM на RHEL 6
Производительность хранилища KVM и предварительное размещение Qcow2 на RHEL 6.1 и Fedora 16
Производительность хранилища KVM и настройки кеширования в Red Hat Enterprise Linux 6.2
Объяснение тонкого объема LVM

Обратите внимание ... если вы используете Linux, вы можете использовать raw и получить те же преимущества qcow2 что касается размера.

...Если ваша файловая система поддерживает дыры (например, в ext2 или ext3 в Linux или NTFS в Windows), то только записанные сектора будут резервировать место.

https://docs.fedoraproject.org/en-US/Fedora/18/html/Virtualization_Administration_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.html

raw Формат образа диска Raw (по умолчанию). Это может быть самый быстрый файловый формат. Если ваша файловая система поддерживает дыры (например, в ext2 или ext3 в Linux или NTFS в Windows), то только записанные сектора будут резервировать место. Используйте qemu-img info для получения реального размера изображения или ls -ls в Unix / Linux.