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

Группа томов LVM совместно используется хостом KVM / libvirt и гостями: это плохая идея?

Я только что построил блестящий новый хост виртуальной машины на основе KVM / libvirt, содержащий 4 жестких диска SATA II и работающий под управлением CentOS 5.5 x86_64.

Я решил создавать диски виртуальных машин как логические тома в группе томов LVM, управляемой как пул хранения libvirt, вместо обычной практики создания дисков как образов qcow.

Что я не могу решить заключается в том, следует ли мне создавать логические тома виртуальной машины в группе томов хоста виртуальной машины или в выделенной группе томов.

Какой метод выбрать и почему?


Метод 1: используйте группу томов узла виртуальной машины

Реализация:

Плюсы:

Минусы:

Несмотря на то, что этот метод, кажется, работает, я не могу избавиться от ощущения, что это как-то плохая идея. Я чувствую что:

Метод 2: используйте выделенную группу томов

Реализация:

Плюсы:

Минусы:


ОБНОВЛЕНИЕ №1:

Одна из причин, по которой меня беспокоит нехватка дискового пространства хоста виртуальной машины в методе 2, заключается в том, что я не знаю, достаточно ли мощный хост виртуальной машины, чтобы запускать все службы на виртуальных машинах, т.е. Возможно, мне придется перенести некоторые / все службы с виртуальных машин на ОС хоста.

Спецификация оборудования хоста виртуальной машины:


ОБНОВЛЕНИЕ №2:

Одна из причин, по которой я считаю, что система не может быть спроектирована для использования хоста VG в качестве пула хранения libvirt в методе 1, - это некоторое поведение, которое я заметил в virt-manager:

Хорошо продуманный вопрос!

Я бы выбрал метод 2, но это больше личное предпочтение. Для меня недостатки метода 2 не являются большой проблемой. Я не вижу, чтобы операционная система хоста переросла свой раздел 5-10 ГБ, если только вы не начнете устанавливать на нее дополнительные вещи, чего вам действительно не следует. Для простоты и безопасности ОС хоста действительно должна быть минимальной установкой, не запускающей ничего, кроме минимума, необходимого для администрирования (например, sshd).

Минусы метода 1 на самом деле не проблема, ИМО. Я не думаю, что будет какой-либо дополнительный риск для безопасности, поскольку, если рутированная виртуальная машина каким-то образом способна вырваться из своего раздела и заразить / повредить другие разделы, наличие ОС хоста на отдельном VG может не иметь никакого значения. О двух других минусах я не могу говорить на собственном опыте, но мне кажется, что CentOS, LVM и libvirt достаточно гибкие и надежные, чтобы не беспокоиться о них.

РЕДАКТИРОВАТЬ - ответ на обновление 1

В наши дни виртуализация оказывает очень низкое влияние на производительность, особенно при использовании процессоров со встроенной поддержкой, поэтому я не думаю, что перенос службы с гостевой виртуальной машины в ОС хоста когда-либо стоил бы. Вы мощь получить прирост скорости на 10%, работая на «голом железе», но вы потеряете преимущества небольшой, жесткой, безопасной ОС хоста и потенциально повлияете на стабильность всего сервера. Не стоит, ИМО.

В свете этого я все же предпочитаю метод 2.

Ответ на обновление 2

Кажется, что конкретный способ, которым libvirt предполагает размещение хранилища, является еще одним аргументом в пользу метода 2. Моя рекомендация: используйте метод 2.

Возможно, вы захотите взглянуть на это, может быть, поработайте и посмотрите, как этот проект делает то, о чем вы говорите.

ProxmoxVE - это хост KVM без операционной системы, в котором используется реализация libvirt на Perl, а не более тяжелый аналог RHEL. Он реализует оба сценария.

Виртуальные диски .raw и разреженные, похожи на .qcow, но быстрее.

Форматы образов дисков qcow и vmdk также поддерживаются, но я думаю, что здесь могут быть ограничения LVM. Я ими не пользуюсь, поэтому особо не могу сказать об этом.

Хранилище LVM совместно используется виртуальными машинами на узле и может быть устройствами DRBD.

Что касается совместного использования пространства VG ОС, единственное ограничение, о котором следует беспокоиться, - это размер моментального снимка во время резервного копирования. Здесь это значение можно изменить в файле конфигурации, и я иногда вижу на форумах, где людям приходилось его менять, но значения по умолчанию хорошо служили мне уже пару лет - даже с огромными виртуальными дисками.

Подробная информация о хранилище LVM PVE:

http://pve.proxmox.com/wiki/Storage_Model#LVM_Groups_with_Network_Backing

Вот как выложены ВГ:

Найдена группа томов "LDatastore1" с использованием типа метаданных lvm2.

Найдена группа томов "LDatastore0" с использованием типа метаданных lvm2.

Найдена группа томов pve с использованием типа метаданных lvm2.

Это мои LV:

ACTIVE '/ dev / LDatastore1 / vm-9098-disk-1' [4,00 ГБ] наследовать

ACTIVE '/ dev / LDatastore1 / vm-7060-disk-1' [2,00 ГБ] наследовать

ACTIVE '/ dev / LDatastore1 / vm-5555-disk-1' [8,00 ГБ] наследовать

ACTIVE '/ dev / LDatastore0 / vm-4017-disk-1' [8,00 ГБ] наследовать

АКТИВНЫЙ '/ dev / LDatastore0 / vm-4017-disk-2' [512,00 ГБ] наследовать

ACTIVE '/ dev / LDatastore0 / vm-7057-disk-1' [32,00 ГБ] наследовать

ACTIVE '/ dev / LDatastore0 / vm-7055-disk-1' [32,00 ГБ] наследовать

ACTIVE '/ dev / LDatastore0 / vm-6030-disk-1' [80,01 ГБ] наследовать

АКТИВНЫЙ '/ dev / pve / swap' [3,62 ГБ] наследовать

АКТИВНЫЙ '/ dev / pve / root' [7,25 ГБ] наследовать

АКТИВНЫЙ '/ dev / pve / data' [14,80 ГБ] наследовать

Это LVM на RAID10, состоящий из 6 дисков Seagate Barracuda SATA 7200 об / мин:

ЦП БОГОМИПС: 53199.93

REGEX / СЕКУНДА: 824835

РАЗМЕР HD: 19,69 ГБ (/ dev / mapper / LDatastore0-testlv)

БУФЕРИРОВАННЫЕ ЧТЕНИЯ: 315,17 МБ / с

СРЕДНЕЕ ВРЕМЯ ПОИСКА: 7,18 мс

FSYNCS / СЕКУНДА: 2439.31

И это LVM на одном SSD-накопителе Intel X25-E SATA, тот же VG, что и вышеупомянутый / dev / pve / data, где находятся виртуальные машины:

ЦП БОГОМИПС: 53203.97

REGEX / СЕКУНДА: 825323

РАЗМЕР HD: 7,14 ГБ (/ dev / mapper / pve-root)

БУФЕРИРОВАННЫЕ ЧТЕНИЯ: 198,52 МБ / с

СРЕДНЕЕ ВРЕМЯ ПОИСКА: 0,26 мс

FSYNCS / SECOND: 1867,56

Пока только одна система пытается использовать любой данный LV в режиме чтения / записи в любое время, возможно использовать одну и ту же VG для хоста и гостей. Если несколько систем попытаются записать на один и тот же LV, это приведет к повреждению файловой системы.