Весной прошлого года мы рассказали почему Virtuozzo переходит на открытую модель разработки и какой смысл открывать исходный код коммерческого продукта. Вчера мы анонсировали выпуск финальной версии OpenVZ 7.0, образованного в результате слияния кодовых баз открытой системы контейнерной виртуализации OpenVZ и коммерческого продукта Virtuozzo (Parallels Cloud Server). Новый выпуск OpenVZ содержит множество изменений и мы по порядку расскажем о каждом из них.
Не технология, а продукт!
Когда появился проект OpenVZ, то в рамках этого проекта были доступны ядра Linux с нашими патчами для контейнерной виртуализации и утилиты для управления контейнерами. Мы предоставляли компоненты, из которых пользователь мог собрать систему контейнерной виртуализации. В OpenVZ 7.0 мы предоставляем не технологию, а законченное решение в виде Linux дистрибутива. Всё, что требуется для начала использования новой версии это загрузить установочный образ и пройти через все шаги установщика. Получится сервер с возможностью и контейнерной и гипервизорной виртуализации на базе KVM/QEMU. Для платных пользователей доступна дополнительная функциональность, которую можно установить, купив лицензию, при этом переустановка не потребуется.
Больше возможностей интеграции
Рынок насыщен продуктами и решениями для виртуализации и ни один продукт не идеален и не предоставляет всю возможную функциональность. Понимая это мы расширили возможности интеграции OpenVZ. Так как OpenVZ 7 унаследовал архитектуру коммерческой Virtuozzo, то появилась возможность использования Parallels API. Дополнительно появилась возможность интеграции с LibVirt с помощью отдельного драйвера virtuozzo. Драйвер позволяет управлять контейнерами и виртуальными машинами OpenVZ с помощью стандартных утилит virsh, virt-install, GUI оболочку virt-manager и других приложений, интегрированных с LibVirt.
Новая функциональность, ранее доступная только в коммерческой Virtuozzo
Механизм управления памятью был основательно переработан и в новой версии представлено четвертое поколение этого механизма. Новая реализация использует подсистему memory cgroups, предоставляемой ядром Linux, и сервиса vcmmd.
В предыдущих версиях OpenVZ шаблоны контейнеров были довольно неудобными: нам требовалось обновлять шаблоны для актуальных версий дистрибутивов на сайте OpenVZ, а пользователям OpenVZ не забывать эти шаблоны обновлять на своих серверах. В OpenVZ 7 была добавлена возможность использования EZ-шаблонов для контейнеров, что позволит облегчить управление шаблонами на серверах с OpenVZ. Для управления предлагается использовать утилиту vzpkg.
Функциональность предыдущих версий OpenVZ документирована на вики проекта, статьи для которой писали люди из сообщества. У этого подхода был недостаток — плохая структурированность информации и временами статьи утрачивали актуальность и не обновлялись. В новой версии доступна полноценная документация на сайте docs.openvz.org, которую пишет наш отдел документирования. Причем возможность внесения изменений в документацию OpenVZ всё еще существует — исходные тексты доступны в репозитории openvz-docs.
Из других технических изменений:
Linux ядро тепреь базируется на последней версии ядра от Red Hat — RHEL 7 (версия соответствует ядру 3.10+). Размер патча по сравнению с ядрами RHEL5, RHEL6 был существенно уменьшен, что удалось достичь за счет активного использования штатных технологий, уже включённых в состав основной ветки ядра Linux: memory cgroups, CRIU, виртуализация NFS. «Живая» миграция для контейнеров теперь реализована с помощью инструментария CRIU и P.Haul вместо использования кода «заморозки»/«разморозки» процессов, реализованного в предыдущих версиях vzkernel.
Есть и неприятная новость. До сих пор в предыдущих версиях OpenVZ и коммерческом продукте Virtuozzo утилита vzctl разрабатывалась независимо. В OpenVZ/Virtuozzo 7.0 было решено оставить версию из коммерческого продукта, поэтому совместимость vzctl была нарушена. Для управления контейнерами и виртуальными машинами рекомендуется использовать утилиту prlctl. Для начала работы с новой утилитой можно воспользоваться «шпаргалкой» с синтаксисом популярных команд. В последующих версиях планируется отказаться от утилиты vzctl и использовать prlctl как основную утилиту.
Для установки OpenVZ 7.0 доступен установочный образ, который можно загрузить c сервера OpenVZ или с одного из зеркал проекта.
Комментарии (45)
divanikus
26.07.2016 22:03+1В Debian одно время была поддержка ядер и утилит OpenVZ. Будет ли актуальная версия в репозах дебиана?
h31
27.07.2016 01:27У них теперь OpenVZ в виде собственного дистрибутива. Если найдутся энтузиасты, которые адаптируют ядро и утилиты для Debian — значит будет в репозиториях. Сами разрабы, как я понял, заниматься этим не хотят.
Вообще, даже если кто-то займется портированием OpenVZ для Дебиана, неизвестно, одобрят ли это сами дебиановцы, и сколько займет это обсуждение. Дебиан считается достаточно консервативным дистрибутивом.divanikus
27.07.2016 13:06В 6.0 он был вроде как в основных дистрах, даже не contrib, так что почему бы и нет?
estet
27.07.2016 15:12+1
если есть желание, то можно начать с пакетирования основных компонентов OpenVZ в deb — https://openvz.org/Packages
Amet13
27.07.2016 12:22Только bare-metal установка, даже поверх CentOS не поставите, не говоря уже о Debian.
porutchik
26.07.2016 22:23+1Какие преимущества OpenVZ 7.0 перед openvz el6?
bbelky
27.07.2016 14:30+1На мой взгляд, основные преимущества:
1. Новое ядро, что дает совместимость с новым железом и возможность использовать CRIU/P.Haul для live migration контейнеров.
2. Гипервизорная виртуализация KVM в добавок к контейнерам, что позволяет с помощью одних и тех же привычных интерфейсов vz запускать контейнеры и ВМ.
3. Интеграция с OpenStack и virt manager через libvirt API.
4. Багов поправили изрядно. Новых тоже добавили.estet
27.07.2016 15:15+1я бы еще добавил такие преимущества:
— полноценная документация на сайте docs.openvz.org вместо разрозненных статей в вики
— переход на использование EZ-шаблонов для контейнеров, что позволило облегчить управление шаблонами на серверах с OpenVZ
TheRaven
26.07.2016 22:33Миграции не предусмотрено? Мне свой Centos 6.5 (2.6.32-042stab093.5) никак до OpenVZ 7 не обновить?
TheRaven
26.07.2016 22:37Если миграции нет, то стоит ли вообще планировать переходить на ваш дистрибутив; какие преимущества в удобстве\быстродействии будут видны вот прям сразу?
lehha
27.07.2016 09:39Проекты типа Proxmox, видимо, будут обновляться самостоятельно? Он на том же Debian'е…
dmitry_ch
27.07.2016 10:13Что-то мне подсказывает, что Proxmox уже давно не на OpenVZ (это если говорить о более-менее свежих версиях), а прошлые версии вряд ли поддерживаются в смысле развития старых фич.
Но зачем в старом работающем сервере (который, похоже, не просто так не поднимали выше 2.х ветки) нужно что-то новое?Amet13
27.07.2016 12:20Так и есть, с 4 версии проксмокса используется LXC вместо OpenVZ.
dmitry_ch
27.07.2016 12:25Ну да, про 2.х я неточно написал, движения по удалению OpenVZ начались с 4.0 beta1. Обновлять OpenVZ в довольно старом дистрибутиве, как я и писал, я бы не стал, а в сторону LXC двигаться… Можно попробовать http://pve.proxmox.com/wiki/Convert_OpenVZ_to_LXC :)
ky0
27.07.2016 12:28-1Что не может не вызывать удивления, кстати. Отсутствие онлайн-миграции, беда с производительностью и многие прочие радости — и ради чего всё это, возможности запуска на некастомном ядре?
BurlakovSG
27.07.2016 09:42В чём разница между OpenVZ 7 и Virtuozzo 7? Или это одно и то же? Посмотрел установочные файлы — весят одинаково, только называются по разному.
Также не нашёл на сайте условия лицензирования Virtuozzo 7 — есть бесплатная версия? При скачивании написано, что триал-версия на месяц, а дальше что?estet
27.07.2016 15:20Разница такая:
— пользовательское соглашение
— в Virtuozzo 7 набор пакетов с дополнительной функциональностью (High Availability, ReadyKernel, распределенный отказоустойчивый сторадж и т.д., )
— установщики в дистрибутивах имеют разные экраныBurlakovSG
27.07.2016 16:20Есть таблица сравнения OpenVZ 7 и Virtuozzo 7?
OpenVZ 7 бесплатная или всё-таки придётся платить?
Для домашнего «сервера» достаточно будет OpenVZ 7, т.к. кластеризация не нужна?bbelky
27.07.2016 16:59Таблица примерно такая
OpenVZ 7 это полностью open source решение, соответственно, бесплатное.
Да, в рамках одного сервера, скорее всего, Вам не удастся раскрыть весь потенциал платной vz7;)
Opaspap
27.07.2016 09:43Я слышал, что коммерческая виртуоза — больше не патч к ядру, а что-то вроде гипервизора, это правда?
estet
27.07.2016 15:26Коммерческая виртуозза это платформа для гипервизорной и контейнерной виртуализации. Наш патч для ядра всегда относился к контейнерной виртуализации и в релизе Virtuozzo/OpenVZ 7 этот патч все еще присутствует, хотя его размер был очень сильно снижен (на 3/4 по сравнению с RHEL5, на 2/3 по сравнению с RHEL6).
ky0
27.07.2016 09:43Расскажите, плз, что в новой версии с кластерностью, НА, бэкапами и централизованным управлением серверами? В табличке вижу, что ничего этого в бесплатной версии нет. Действитально ли это так?
DimkaPhantom
27.07.2016 13:19На сколько я понял, бизнес-модель не изменилась, OpenVZ бесплатный, но ограниченный. Хотите полноценную кластерную систему — Virtuozzo и за деньги.
ky0
27.07.2016 13:27Ну, хорошо. А цены-то где? На сайте Virtuozzo я сходу не нашёл.
Панели управления, вижу, есть опенсорсные (не уверен, правда, что они будут работать с новой версией OpenVZ). Хотелось бы понять, есть ли у сообщества планы по разработке и остального недостающего функционала.TheRaven
27.07.2016 13:32+1Как я понял из статьи — новый OpenVZ научился управляться через libvirt, значит с панелями теперь все хорошо будет.
ky0
27.07.2016 13:40+1Панель — это меньшее, даже микроскопическое из зол. Значительно важнее возможность построения отказоустойчивого кластера, которым можно было бы управлять без привлечения третьей линии поддержки, в идеале — прямо из веб-интерфейса.
Naymen
27.07.2016 14:33Для розничной продажи цена
за 1 ВМ — 4 EUR
за 1 контейнер — 17 EUR
Ограничения 8 CPU на ноду
Для бронзовых партнеров немного дешевле:
за 1 ВМ — 3.5 EUR
за 1 контейнер — 16 EUR
Ограничения 8 CPU на ноду
У нас цены такие как у хостера. Возможно сейчас измениться ценовая политика.ky0
27.07.2016 14:45+1Не очень понял, почему цены в виртуальных машинах/контейнерах.
Если, скажем, нужен кластер из 2 (3, 4, 100500) серверов, на которых компания планирует запускать неизвестное число VM/CT и в качестве используемого для этого ПО посматривает на Virtuozzo. Предлагаете каждый раз, создавая контейнер для тестирования-разработки обновлять лицензию, отправляя счёт в Parallels (или куда там)?DimkaPhantom
27.07.2016 15:10Вам придется купить лицензию на каждый хост на определенное число контейнеров 10-20-30-50-100 и т.д.
Лицензии выписываются через GUI, проблем нет.ky0
27.07.2016 15:23Окей, предположим, что контейнеров будет, скажем, 50. 850 евро, единоразово? Или в год? Что значит «на каждый хост»? Как происходит изменение лицензии, если оплата — по безналу?
Naymen
27.07.2016 17:42-1Оплата возможна только с банковских карт. Лицензия арендуется столько сколько вам нужно.
Допустим вы решили создать кластер серверов.
У вас есть 3 физических сервера.
Вы хотите создать по 50 виртуальных серверов на 3-ех физических серверах.
01.07.2016 вы взяли в аренду
50 контейнеров стоит — 168 EUR
То есть в конце месяца
а именно 31.07.2016 вам нужно будет заплатить
168 EUR * 3 = 504 EUR
Оплата у них сначала берешь в аренду, потом платишь.
Было так раньше на VIrtuozzo 6
estet
27.07.2016 15:29+1Да, в OpenVZ присутствует только базовая функциональность для виртуализации. А в Virtuozzo такая функциональность которая требуется для предоставления какого-то сервиса или услуг, что чаще всего означает коммерческое использование продукта.
Тем не менее OpenVZ это полноценное решение для вирутализации с возможностью расширения через API LibVirt и использованию с OpenStack.ky0
27.07.2016 15:32Спасибо за уточнение.
Но, тем не менее, цены-то где? =) Или релиз — это пока только опенсорсного релиз? Тогда как скоро они будут известны?
bbelky
27.07.2016 16:01+1Про лицензирование и цены.
1. Для Virtuozzo есть 2 схемы лицензирования: lease и perpetual. В случае lease вы платите за лицензии помесячно, в случае perpetual — один раз за лицензии и каждый год за поддержку. Соответственно, lease ориентирован на хостинг и сервис-провайдеров, perpetual — на корпоратов.
2. Для Virtuozzo 7 мы изменили политику лицензирования и теперь продукт лицензируется только по числу процессорных сокетов с шагом в 2 сокета.
3. Лицензии доступны в 3х редакциях:
— Low density до 5 CT/VM
— Basic до 10 CT/VM
— Unlimited
4. Поддержка входит в стоимость lease лицензий, а для perpetual покупается отдельно.
5. В лицензию на Virtuozzo входят подписки на сервисы ReadyKernel и Application Catalog.
6. Отдельно можно прикупить Virtuozzo Storage — наш software-defined storage. Лицензируется по объему полезного места.
7. Есть также несколько уровней партнерства, которые дают различные плюшки.
8. Конкретные цены можно уточнить по адресу moscow.sales@virtuozzo.com За этим адресом скрываются очень приятные русскоязычные люди, которые помогут вам определиться с версией, ценником и наиболее удобной процедурой покупки.
9. Можно также задавать всякие каверзные вопросы напрямую мне vporokhov@virtuozzo.com
Enjoy!ky0
27.07.2016 16:24Какие-то взаимоисключающие параграфы =) В п. 1 написаны две схемы (это для шестой версии?), в п. 2 — новая схема, но одна. В п. 2 написано, что лицензии считаются по количеству сокетов, в п. 3 — что по количеству VM/CT. Нипанятна.
Ещё хотелось бы понять, что подразумевается под термином «Integrated HA» в табличке сравнения версий. Как это реализовано технически и зависит ли от наличия вашего Storage?bbelky
27.07.2016 16:29+1Имеется ввиду, что Virtuozzo 6 лицензировалась по числу CT/VM. Virtuozzo 7 лицензируется по числу сокетов, но есть несколько версий. Например, некоторые хостеры используют vz для dedicated hosting, в случае VDC также не нужно большое число инстансов на ноде, так как сами инстансы большие. В этих случаях можно ограничиться лицензией на 5 или 10 инстансов, которая стоит существенно дешевле безлимитной. Если же вы большой хостинг — есть безлимит.
Что касается lease и perpetual лицензий — они уже были в vz6 и остаются в vz7.
Да, HA работает только при наличии Virtuozzo Storage.
Naymen
1. Возможен ли переходи с Virtuozzo 6 на Virtuozzo 7? Если есть уже работающие сервера на 6 версии Virtuozzo.
2. Плюс еще есть несколько виртуальных машин на гипервизоре Parallels, возможен ли переход на KVM?
bbelky
1. Да, есть возможность мигрировать контейнеры и ВМ с vz6 на vz7. Миграция не онлайн — требует перезагрузки мигрируемого инстанса. Утилитка уже есть в последнем апдейте vz6, подробности в Virtuozzo 7 Upgrade Guide. В апдейте 1 будет возможность in-place апгрейда ноды с vz6 на vz7, если на ней есть только контейнеры. К тому же, всегда есть возможность восстановить контейнеры/ВМ из бекапов на vz6 в vz7.
2. Если под гипервизором Parallels имеется ввиду Parallels Desktop, то скорее всего нет — у нас это не реализовано. Если гипервизор в vz6, то смотри пункт 1.