LINUX.ORG.RU
ФорумAdmin

Какой лучше формат диска для qemu?

 , , ,


2

1

Создал пустой раздел /dev/sda5 специально для виртуалки. Сначала попробовал его использовать, он мне raw-диск создал через virt-install, в конце концов оказалось, что для raw-дисков они не хотят снапшоты делать. Пытаюсь в qcow2-формате создать параметром --disk /dev/sda5,bus=virtio,format=qcow2,size=150,sparse=no, но судя по получающейся XML выйдет то же самое:

    <disk type="block" device="disk">
      <driver name="qemu" type="raw" cache="none" io="native"/>
      <source dev="/dev/sda5"/>
      <target dev="vda" bus="virtio"/>
    </disk>

В общем мне нужна максимальная производительность, но в то же время обязательно эффективные снапшоты (т.е. не весь образ копировать, а только изменённые блоки). Как такого добиться? Хочется использовать сырой раздел, а не файл в файловой системе.

★★★★★

В общем мне нужна максимальная производительность, но в то же время обязательно эффективные снапшоты (т.е. не весь образ копировать, а только изменённые блоки). Как такого добиться?

Использовать снапшоты LVM.

Хочется использовать сырой раздел, а не файл в файловой системе.

Есть технические аргументы или просто блажь?

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)

В общем мне нужна максимальная производительность, но в то же время обязательно эффективные снапшоты (т.е. не весь образ копировать, а только изменённые блоки). Как такого добиться? Хочется использовать сырой раздел, а не файл в файловой системе.

В общем случае, все эти требования, не выполнимы. Нету в linux ещё файловых систем уровня zfs, да ещё и с дефрагментацией...

Если нужна высокая надёжность, и средняя производительность + снепшоты: ext4+qcow2.

Других вариантов особо нету. lvm - тухлая производительность, при снепшотах.

zfs на linux, не особо стабильна+ нету дефрага.

Я для себя нашёл следующий компромисс:

  • lvmcache (с ssd)+ext4+qcow2.
  • Там где снепшоты особо не нужны: lvmcache (с ssd)+ext4+raw.
DALDON ★★★★★
()
Последнее исправление: DALDON (всего исправлений: 2)
Ответ на: комментарий от tailgunner

Есть технические аргументы или просто блажь?

Диск уже размечен, не хочу усложнять себе дело. Из технических аргументов — меньше слоёв, меньше переадресаций и предположительно кеш файловой системы не будет дублироваться, хотя тут не уверен.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Из технических аргументов — меньше слоёв, меньше переадресаций и предположительно кеш файловой системы не будет дублироваться

Это суеверия.

tailgunner ★★★★★
()
Ответ на: комментарий от DALDON

А если создать qcow2 прямо на голом разделе? Я сделал через qemu-img create -f qcow2 /dev/sda5 150G и в XML-файле libvirt-а прописал формат вместо raw. Вроде пока грузится, хотя будет ли работать как ожидается, не знаю. Если что — весь раздел размером 450G, соответственно остальное место на снапшоты предполагается.

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

А если создать qcow2 прямо на голом разделе?

Скорее всего, как раз со снепшотами - будет жЁпа: qcow2, хранит снепшот внутри себя же, т.е. в общем случае прямо в файле виртуалки. Да, у тебя есть свободное место в разделе, но я думаю, что qcow об этом ничего особо не знает... Впрочем, попробуй. :)

Прослойка в виде ext4, не привнесёт больших задержек по идее. А вот ускорить виртуалку через lvmcache - штука действительно стоящая!

DALDON ★★★★★
()
Последнее исправление: DALDON (всего исправлений: 3)
Ответ на: комментарий от DALDON

qcow2, хранит снепшот внутри себя же, т.е. в общем случае прямо в файле виртуалки

Это не так. Снапшот можно делать внешним.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Использовать снапшоты LVM.

Только если в lvm-thin

Что помешает использовать самые обычные?

Ничего, кроме падения производительности, на мой взгляд.

DALDON ★★★★★
()
Ответ на: комментарий от tailgunner

Это не так. Снапшот можно делать внешним.

Да, конечно можно сделать и внешним. Но опять-же, тут надо будет думать, а собственно где его хранить, на чём, на ext4, или где? Ведь это тоже будет вопрос производительности... А ТС, хочет всё и сразу. :) И без заморочек. Вот я и советую поглядеть в сторону lvmcache + ext4 + qcow2. Быстро, гибко, с возможностью снепшотов.

DALDON ★★★★★
()
Ответ на: комментарий от DALDON

Но опять-же, тут надо будет думать, а собственно где его хранить, на чём, на ext4, или где?

На любой ФС. ext4, XFS или еще что-то - да пофиг.

tailgunner ★★★★★
()
Ответ на: комментарий от DALDON

Только если в lvm-thin. И то, тормозить то будет...

И то, тормозить то будет...

конкретнее, пожалуйста, а то похоже на гуманитария.

futurama ★★★★★
()
Ответ на: комментарий от anonymous

Максимальная производительность - это SSD диск(и) + RAID контроллер с поддержкой SSD. И далее какой пирог из ФС,формата хранения диска виртуалки будет уже пофигу в принципе.
Если втянули LVM то для чего после ext4 не понимаю и qcow2. LVM позволяет снапшоты. LVM+raw не?
http://blog.macronet.fi/2014/10/09/using-lvm-with-ssd-cache/
Производительность дисковой подсистемы у KVM - интересная штука. Обязательно нужно тестить на iops - достигли желаемой производительности или нет
Если виртуалка будет linux производительность будет немного меньше чем в железной ОСи. Eсли windows то тут все плохо даже если у вирт. диска cache=writeback, ssd в помощь.
Даже для простой дисковой подсистемы (раздел sata диска) - не поленитесь потестируйте в виртуалке iops ы диска во время работы только задачи виртуалки и во время создания снапшотов.
В рамках одного физ. sata диска - и раздел для виртуалок и раздел для хранения снапшотов (бекапов) скорости для при выполнении всех задач сразу (скорость в виртуалке + бекапирование) по всей видимости вы не получите КМК.
если в виртуалке данные будут не сильно меняться - может рядом поставить аналогичную виртуалку - и на уровне виртуалок организовать эффективное бекапирование - только тех данных которые действительно нужно бекапировать. Объем общего дискового пространства потребуется точно такой же как и при снапшотах LVM.

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 4)
Ответ на: комментарий от Vlad-76

ext4 применять под вопросом. что то у нее неладное с журналированием было в centos6. МОжет быть вылечили канешн. Но журнал - это трата iops.

Vlad-76 ★★★★
()
Ответ на: комментарий от Vlad-76

Но журнал - это трата iops.

Все это лечится, применением: mdadm + lvmcache + ext4 + qcow2. Да, бутерброд. Но зато от каждого уровня, получаем свою фишку!

  • mdadm - надёжный raid
  • lvmcache - слой ssd кеширования для всех вирт. машин сразу. + Гибкость lvm
  • ext4 - простое и понятное хранение на файловом уровне. ls -la будет показывать файлики от вирт. машинок. :)
  • qcow2 - снепшоты, сжатие, linked clone. А в скорем времени, так и вовсе обещают qcow3, где со снешотами всё ещё лучше.

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

DALDON ★★★★★
()
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

если ТС сможет решить свои задачи только с использованием LVM+RAW - то я за этот способ + mdadm для бюджетного решения.
и надо тестить iops-ы в каждой конфигурации и при выполнении боевых задач, чтобы не офигеть потом.

Vlad-76 ★★★★
()
Ответ на: комментарий от Vlad-76

если ТС сможет решить свои задачи только с использованием LVM+RAW

Тут есть вопрос снепшотов... Но в целом, всё верно.

DALDON ★★★★★
()
Ответ на: комментарий от Vlad-76

Пока тупо создал XFS-раздел и туда закинул qcow2-файл. По крайней мере работает, производительность приемлемая.

Legioner ★★★★★
() автор топика
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

А если создать qcow2 прямо на голом разделе? Я сделал через qemu-img create -f qcow2 /dev/sda5 150G и в XML-файле libvirt-а прописал формат вместо raw. Вроде пока грузится, хотя будет ли работать как ожидается, не знаю. Если что — весь раздел размером 450G, соответственно остальное место на снапшоты предполагается.

Какой-то ерундой ты занимаешься, помоему. Примонтировал диск в основной системе, разметил, как удобно, сделал pacstrap туда, поставил основные пакеты. У меня второй диск под это отдан, запускается так: -drive file=/dev/sdb,index=0,media=disk,format=raw,
а qemu-img утилиту и не запускал ни разу.

fehhner ★★★★★
()
Последнее исправление: fehhner (всего исправлений: 1)

пожалуй, в линуксе под виртуалки лучше всего использовать LVM

targitaj ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.