Який кращий формат зображення, необроблений або qcow2, використовувати як базовий малюнок для інших машин?


25

Я використовую базовий малюнок і на основі цього створюю багато віртуальних машин. А тепер я хочу знати, що краще, qcow2 або raw, використовувати для базового зображення. Більше того, чи можете ви сказати мені, чи є якась перевага використання цього базового зображення, а не клонування всього диска? Швидкість може бути одним із факторів, але з точки зору ефективності чи є якась проблема у використанні базового зображення, а потім у створенні ВМ за допомогою цього базового зображення?

Редагувати 1:

Я провів кілька експериментів і отримав введіть тут опис зображеннявведіть тут опис зображеннявведіть тут опис зображення

По-перше, це як базовий малюнок, так і накладення qcow2. По-друге, коли базовий малюнок є необробленим, але накладення - qcow2, а в третьому випадку я надаю індивідуальне зображення в режимі необмеженого диска кожному VM. Дивно, але останній випадок набагато ефективніший порівняно з іншими двома.

Експериментальне встановлення: 
ОС в базовому зображенні: Ubuntu Server 14.04 64 біт.
Хост ОС: Ubuntu 12.04 64bit
ОЗУ: 8 Гб
Процесор: процесор Intel® Core ™ i5-4440 при 3.10 ГГц × 4 
Диск: 500 Гб 

На осі x: кількість завантажених VM одночасно. Починаючи з 1 і збільшуючи до 15.

На осі у: Загальний час завантаження "х" кількість машин.

З графіків виходить, що надання зображення VM на повний диск набагато ефективніше, ніж інші два способи.

Редагувати 2: введіть тут опис зображення

Це стосується випадку, коли ми надаємо індивідуальне необроблене зображення кожному VM. Після очищення кешу це графік. Він майже схожий на сирий базовий малюнок + накладення qcow.

Спасибі.


1
Я використовував би необроблене базове зображення та накладено QED замість qcow2. QED швидше, ніж qcow2, і менша ймовірність пошкодження дизайну.
Метт

@Matt, будь ласка, прокоментуйте відредаговане питання.
AB

Відмінності у виконанні цікаві. Ви можете спробувати це з qed? може виникнути суперечка / блокування в реалізації qcow2. Я вважаю, що у нього є деякі проблеми, тому вони винайшли qed.
Метт

1
@Matt Я перевірив накладення raw-baseimage-qed та over-baseimage-qcow2. Але qed набагато повільніше, ніж qcow2 у цій настройці.
AB

Відповіді:


18

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

  1. Це швидше: оскільки у нього не пов'язані метадані, це відбувається якнайшвидше. З іншого боку, Qcow2 має два шари непрямості, які необхідно перетнути перед тим, щоб потрапити на фактичні дані
  2. Оскільки шар накладення повинен бути файлом Qcow2, ви не втрачаєте незмінно корисної можливості знімка (зображення RAW не підтримують знімки самостійно)

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

  1. Для абсолютної продуктивності використовуйте помилкові зображення RAW. Це має і мінус непідтримування знімків, оскільки в більшості середовищ це занадто висока ціна
  2. Для гнучкості та просторової ефективності використовуйте базові зображення RAW + накладки Qcow2.

У будь-якому випадку я знайшов файли Qcow2 дещо крихкими.

Для свого виробництва гіпервізорів KVM я в основному використовую дві різні установки:

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

Інша можливість - використовувати звичайний об'єм LVM + XFS + RAW-зображення. Єдиним недоліком є ​​те, що звичайні (не тонкі) знімки LVM дуже повільні, а знімок зайнятого нормального обсягу LVM знищить продуктивність (протягом усього часу зйомки). У будь-якому випадку, якщо ви плануєте використовувати лише епізодичне використання знімків, це може бути простішою та безпечнішою ставкою.

Деякі посилання:
повільність вводу / виводу
KVM на продуктивність зберігання RHEL 6 KVM та передбачення Qcow2 на RHEL 6.1 та
продуктивність зберігання та кеш-пам’яті Fedora 16 KVM на Red Hat Enterprise Linux 6.2 6.2
LVM тонкий об'єм пояснено


Як було сказано вище: окремі зображення RAW будуть швидшими через відсутність шарів непрямості. Пам'ятайте, що ви відмовляєтесь від знімків (на рівні зображення) та ефективності простору. Більше того, я маю враження, що ваш третій результат був перекошений кеш-хостом. Щоб переконатися, повторіть усі свої тести, видаючи "sync; echo 3> / proc / sys / vm / drop_caches" між кожним запуском.
shodanshok

Насправді я думав так само. Але тоді я подумав, що і в разі фактичного використання він піде за тим самим потоком.
AB

Насправді: у цьому тестовому середовищі ви просто завантажуєте свої віртуальні машини, не використовуючи їх. У реальному випадку після завантаження будуть використовуватися віртуальні машини, забруднюючи кеш. Загалом, найкраще орієнтуватися на розумний випадок використання.
shodanshok

Чи маєте ви уявлення, чому кешування не грає такої великої ролі у графі 1 та графіку 2, тобто базове зображення Qcow2 + накладення Qcow2 та накладення Raw base-image + Qcow2.
AB

6

Будь ласка, майте на увазі .... якщо ви використовуєте 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

необроблений формат зображення сирого диска (за замовчуванням). Це може бути найшвидший формат на основі файлів. Якщо ваша файлова система підтримує отвори (наприклад, у ext2 або ext3 в Linux або NTFS в Windows), місця залишать лише письмові сектори. Використовуйте інформацію qemu-img для отримання реального розміру, використовуваного зображенням або ls -ls на Unix / Linux.


Влучне зауваження! Але, схоже, для резервного копіювання / копіювання / стиснення використовується весь розмір необробленого файлу зображення. Невимушений файл розміром 20
ГБ, що виділяв

Це було для мене абсолютно новим. У мене VM в Proxmox VE з віртуальним диском 30 Гб ... і я бачу, що диск має розмір у файловій системі хоста. Але хост-файлова система має понад усе використання в розмірі << 10 Гб. Ось чому я шукав.
cljk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.