RAW, QCOW2, LVM — что выбрать?

Статья была написана 21 ноября 2010 г. Перенесена из старого блога.

На сегодняшний день технологии виртуализации способны решать широкий круг задач. Начиная от консолидации серверов заканчивая облочными вычислениями и виртуализацией рабочих мест.
Одним из преимуществ виртуализации  является то, что виртуальные машины «отвязаны» от физического железа на котором они работают. Во многих статьях посвященных виртуализации можно встретить подобную фразу «Виртуальные машины —  это обычные файлы которые можно просто скопировать на любой  другой физический сервер и без проблем запустить!». В действительности, так и есть. Но у многих, как и у меня в свое время возник вопрос, какой же из форматов этих «обычных файлов» выбрать?

Краткое описание форматов

На мой взгляд, для машин работающих в KVM-окружении самыми популярными и практически востребованными форматами дисков, являются; RAW, QCOW2 и LVM-тома.

RAW — Переводится как «сырой». По сути, даже не является форматом. Данные пишутся как есть без всякой обработки и без дополнительной служебной информации. Основным преимуществом данного формата являются максимальная производительность дисковой подсистемы среди других образов за счет отсутствия служебной информации и дополнительных действий в моменты чтения/записи. Универсальность формата позволяет использовать RAW-диски  под управлением других гиперыизоров(Xen, VMware).
К минусам можно отнести невозможность создавать снапшоты а так же необходимость выделения на физическом диске всего объема дискового образа . Последний минус в некоторых случаях избавляет от фрагментации файла-образа за счет единовременного выделения всего объема. Так, что вопрос спорный.

QCOW2(QEMU Copy-on-write) —  Родной формат  гипервизора QEMU и не менее родной нынешнего QEMU-KVM. Максимально продвинутый формат из всех поддерживаемых KVM.
Образ диска в формате QCOW2 может автоматически увеличиваться при заполнени данными а так же поддерживает снапшоты. К сожалению производительность дисков в формате QCOW2 хоть и не сильно но уступает дискам в формате RAW. Так же диски в формате QCOW2 в большей степени подвержены фрагментации за счет постепенного а не единоразового выделения всего объема на физическом диске, что не лучшем образом отражается на производительности.

LVM(Logical Volume Manager) — LVM-тома представляют собой блочные устройства такие же как дисковае разделы или диски целиком и очень часто используются вместо образов дисков или совместно.
Основным преимуществом LVM-томов является производительность, большая чем у RAW-дисков, гибкость масштабирования, поддержка снапшотов без остановки гостевой системы. Размер LVM-тома можно легко увеличеть или уменьшить. С помощью снапшотов можно получить доступ к файловой системе виртуальной машины и делать бекап данных не останавливая гостевую систему. LVM-тома не подвержены фрагментации.
К минусам LVM-томов можно отнести затруднительность переноса LVM-тома между несколькими физическими машинами а так же не самая простая настройка для начинающих.

Практическое использование.

На самом деле каждый из описанных форматов очень хорош а где то и лучше своих конкурентов. Я считаю, что нельзя отрекаясь от всех использовать только один единственный формат для решения всех поставленных задач.
Например для домашней тестовой лаборатории или для небольшой организации с 1,2-мя физическими серверами без общего хранилища, где не критична производительность идеально подойдет QCOW2. Здесь QCOW2 позволит с экономить дисковое пространство и позволит с легкостью и за меньшее время перемещать образы виртуальных машин между физическими. Например с сервера на сервер по витой паре, из дома на работу на флешке или даже по Интернету. Стоит добавить, что использование снапшотов очень полезно в домашней лаборатории.
Напротив, в условия  где нужна максимальная производительность и высокая доступность виртуальных машин(24×7), гибкость управления ресурсами и «живой» бекап должны использоваться только LVM-тома. Будь то в  рамках единого сервера или в сети из 10-ка серверов с единым сетевых хранилище типа NAS, SAN приимущества LVM-томов очевидны. В данном случае нет необходимость в перемещении образов дисков так как используется единое хранилище, бекап данных по средствам снапшотов или агентов  в виртуальных машинах выполняется на выделенный сервер. Вся инфраструктура заточена на максимальную производительность.
Ну и RAW, как я уже говорил универсальный формат. На мой взгляд он наиболее подходит в относительно бюджетных системах, где в место высокопроизводительных сетевых хранилищ используют NFS-сервера, но при этом хотят выжать как можно больше из дисковой подсистемы.
Так же очень эффективно использование RAW-дисков в организациях использующих виртуальные рабочие столы и без дисковые клиенты вместо классических рабочих станций. В таких ситуациях используется большое количество различных образов, с различными операционными системами, и динамическое их перемещение.

В общем форматов много, и все они разработаны не зря!

В следующей статье напишу о том как из хост системы получить доступ к файловой системе виртуальной машины.

Добавить комментарий