LINUX.ORG.RU

Альтернатива libvirt

 , ,


0

3

Всех приветствую.

Подскажите пожалуйста, есть что-нибудь взамен libvirt для написания своего пользовательского интерфейса для взаимодействия с тачками на KVM. А то как-то получается, что либа монополист на рынке. Благодарю заранее.


Ответ на: комментарий от Vsevolod-linuxoid

Согласен, но ведь действительно, решений за многие годы мало написано. Большенство пользуются им. По крайней мере мне вот, что-то свежего не попадается.

kong
() автор топика
Ответ на: комментарий от shell-script

У libvirt огромный плюс эта есть готовая привязка к разным языкам (java, php, python, etc), но минус для меня это его документация. Хотелось читать вниз, а не по диагонали. Отсюда вопрос может, что-то свежее появилось.

kong
() автор топика
Ответ на: комментарий от shell-script

Дополню еще мой случай. У меня слой поверх libvirt написан на java. Но работая с самой либой и libvirt-java, желанное проявляется с трудом, а современного мне на глаза не попадается.

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

Ничего современнее libvirt нет, насколько я знаю. И вряд ли появится в ближайшее время, так как в целом он всех устраивает. То, что оно работает давно, совершенно не значит, что оно устарело. Это продолжающая развиваться и обновляться современная библиотека. К ней есть биндинги на большинстве популярных языков. У нас используются golang и python. Сам я для себя дома писал для своих нужд утилиты на perl.

Чтобы кто-то начал писать что-то с нуля, да ещё в такой области, как управление виртуализацией, нужны какие-то более весомые аргументы, чем «посовременнее».

shell-script ★★★★★
()

qemu, linux-kvm и libvirt развивают согласовано друг с другом, как единая вертикаль виртуализации в redhat. Поэтому вряд ли есть что-то иное на основе qemu, не упускающее часть фич. proxmox наверное как самое близкое.

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

libvirt это обёртка для управления. Очень удобная штука, кстати, когда требуется не просто сделать виртуалку, а что-то посложнее (ну, допустим, диск на lv-томе) и в больших количествах. Сокращает количество кода.

Hanuken
()
Ответ на: комментарий от vbr

Как и любой апи. Просто это удобная абстракция. Нужность определяется целью.

Например, проще сделать пул стораджей в libvirt, чем вручную управлять lvm-томами. То же самое с сетью.

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

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

Все популярные обвесы OpenStack, CloudStack, oVirt, VMmanager, etc они имеют под капотом libvirt. И я пошел таким же путем и написал свой интерфейс, но работая с этой либой, меня не покидало ощущение, что я где-то в ~2004 г. Вот Proxmox другое решение, но привязка к Debian, да и сегодня он может бесплатный, а завтра только платный. Потому и задался таким вопросом.

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

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

Чтобы не было лишних зависимостей и ограничений libvirt-а (не поверю, что он не вносит своих ограничений).

Я, кстати, кажется вспомнил, что это такое. Это я когда-то в гноме какой-то тулзой попытался виртуалку запустить. Оно не работало. Я посмотрел в ps aux и увидел там какой-то абсолютно адейший вызов qemu с несколькими десятками параметров. В которых я потом пару часов пытался разобраться.

Видимо это и был libvirt.

В итоге я написал простой скрипт на 5 строк, который вызывает qemu с несколькими параметрами и всё заработало. А те все параметры были ненужны.

В мусорку этот libvirt. Надо вызывать qemu напрямую.

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

Если нужно запустить одну виртуалку на локалхосте с дефолтными параметрами и забыть, конечно достаточно и самых простых средств. А когда счёт виртуалок идёт на десятки тысяч и управлять ими нужно по-разному, увы писать скрипты для каждой из них накладно.

И ты немного путаешь уровни. Qemu - это эмулятор, KVM - гипервизор. Libvirt - универсальная реализация API, которая позволяет управлять разными гипервизорами, в том числе и KVM.

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

ТС изначально писал про libvirt и биндинги к нему из java. Это и есть разговор про API.

Ты предлагаешь писать вызовы напрямую руками. Плюс отказаться от возможностей гипервизоров, таких как управление томами, снапшотами, сетями, драйверами, состояниями вирмашин и прочим. И городить для всего этого собственные велосипеды, которые будут не факт что надёжнее уже обкатанного решения. Нет, можно, конечно, но зачем, если уже есть готовое?

shell-script ★★★★★
()