Как стать автором
Обновить

Комментарии 22

Во всём openstack'е меня пугает только libvirt. Очевидный же костыль поверх остальных систем виртуализации.
Ну, может и без libvirt можно обойтись. ;-) С Xen, я слышал, openstack напрямую работает, без костылей.
Это очень сложный вопрос. Дело в том, что «напрямую» с зеном работать несколько сложно — это всё-таки гипервизор. Обычно там ниже тулстек (xm, xl, xapi), с которым работают через XenAPI. Однако, даже XenAPI в некоторых местах упирается в довольно уродливые костыли…
Эм… я, кажется, не так выразился, в том случае разговор шёл про Xen Cloud Platform.
Попытка притащить в openstack xapi выглядит вообще, даже, не костылём, а так, «прислонили, вроде держится».

Вся задница в том, как openstack предоставляет устройства для xapi. У xapi с sm и так недобрые отношения в районе udev'а, а тут ещё и дополнительная абстракция нагрузку накидывает. И всё это на бедный /etc/xensource/scripts/block.

Да-да, всё это клёвое могучее облако держится на банальном шелл-скрипте, который даже в параллель работать не может. Оно едва под xapi вытягивает, а вы ещё поверх абстракций накручиваете.
А что костыльного в наличии обобщенного уровня, который инкапсулирует в себе различия между виртуалками?
Ну, расскажите, как выглядит, например, синхронная перезагрузка 5 виртуальных машин на хосте. А я вам потом расскажу, что там внутри творится.
— перезагружается 1-я виртуальная машина на хосте;
— перезагружается 2-я виртуальная машина на хосте;
— перезагружается 3-я виртуальная машина на хосте;
— перезагружается 4-я виртуальная машина на хосте;
— перезагружается 5-я виртуальная машина на хосте;
Вторая виртуальная машина ушла в несознанку и не хочет ребутиться. Задача на ребут уже в очереди и хост отказывается выполнять следующие.

Слушаю дальше.
НЛО прилетело и опубликовало эту надпись здесь
Добавляем таймаут, вырубаем зависшую машину насильно по таймауту и снова включаем, продолжаем. А что вы хотите узнать?
Как вы добавите «насильно» в рамках модели xapi, например.
Ну почему же костыль? Дополнительный слой абстракции — да, безусловно. Что слой абстракции не всегда хорошо — тоже факт. Когда мы экспериментировали с динамическим выделением ресурсов машинам на KVM в зависимости от текущего и прогнозируемого потребления, libvirt сознательно не использовали, потому что он в жертву унификации не всё нужное пробрасывает.

Но в случае изначально мультивендорного OpenStack у них особо выбора нет. Поддерживать разные гипервизоры нужно, чтобы обеспечить выполнение заявленного «независимость от поставщика и свобода выбора». В итоге унификация необходима. Её можно делать низкоуровнево (а-ля libvirt) или втаскивать в высокоуровневую логику управлятора, который будет общаться с каждым гипервизором по-своему. Они выбрали libvirt — почему бы и нет, меньше велосипедов в итоге.
Он не слой абстракции, он костыль для парсинга вывода нижележащих костылей и попытка сделать над ними новый костыль.

Кстати, libvirt — это совсем не «низкоуровнево». Низкоуровнево — это напрямую с гипервизором и процессами.

Основная проблема всех этих клёвых штук не в работе VM, тут-то комунизм и свободное конструирование любых абстракций, а в районе блочных/сетевых устройств, которые не коммунизм, а… м… СССР образца 37 года.
То что главные мучения с дисками и сетью — да, согласен. Насчёт костылей, абстракций и низко/высоко-уровневости — всё-таки это зависит от того, какую задачу решаем.

В случае работы с одним наперёд заданным гипервизором libvirt не нужен. Если я планирую KVM-инфраструктуру и точно знаю, что кроме KVM в ней ничего не будет, то плодить лишние обёртки мне ни к чему. В этом случае можно и напрямую с процессами и гипервизором общаться — так правда часто удобнее.

Если же постановка такова, что гипервизоров изначально несколько (случай OpenStack), то всё равно придется как-то извращаться. В этот момент выбор небольшой — или взять libvirt со всеми его плюсами и минусами, или начинать писать свой libvirt. Я как-то третьего пути не вижу. Поэтому вполне понимаю, что люди предпочли свой не писать. Единственное, было бы хорошо, чтобы они при этом понимали все ограничения того, на чём решили основываться. Но в этом гадать бесполезно — время и будущие релизы покажут.
Не взлетит. Глянул в вики, глянул офиц. сайт так и не понял что это толком, поверхностное описание для нубов, сладостно присыпанное маркетингом.
:-) Оно уже взлетело. Посмотри вот сюда. =)
:)
Так что такое OpenStack? Обёртка над KVM, VirtualBox, OpenVZ и т.д. с веб-интерфейсом и какими-то готовыми образами с линухом?
Погуглил IaaS, но так и не понял, что такое OpenStack. Мне нужны конкретные детали, а не общие тексты.
Погуглите OpenStack и желательно на английском.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации