- PVSM.RU - https://www.pvsm.ru -

Новая версия OpenVZ

Новая версия OpenVZ - 1

Весной прошлого года мы рассказали [1] почему Virtuozzo переходит на открытую модель разработки и какой смысл открывать [2] исходный код коммерческого продукта. Вчера мы анонсировали [3] выпуск финальной версии 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 [4]. Драйвер позволяет управлять контейнерами и виртуальными машинами OpenVZ с помощью стандартных утилит virsh, virt-install, GUI оболочку virt-manager [5] и других приложений [6], интегрированных с LibVirt.

Новая функциональность, ранее доступная только в коммерческой Virtuozzo

Механизм управления памятью был основательно переработан и в новой версии представлено четвертое поколение [7] этого механизма. Новая реализация использует подсистему memory cgroups, предоставляемой ядром Linux, и сервиса vcmmd.

В предыдущих версиях OpenVZ шаблоны контейнеров было довольно неудобным: нам требовалось обновлять шаблоны для актуальных версий дистрибутивов на сайте OpenVZ, а пользователям OpenVZ не забывать эти шаблоны обновлять на своих серверах. В OpenVZ 7 была добавлена возможность использования EZ-шаблонов для контейнеров, что позволит облегчить управление шаблонами на серверах с OpenVZ. Для управления предлагается использовать утилиту vzpkg [8].

Функциональность предыдущих версий OpenVZ документирована на вики проекта, статьи для которой писали люди из сообщества. У этого подхода был недостаток — плохая структурированность информации и временами статьи утрачивали актуальность и не обновлялись. В новой версии доступна полноценная документация на сайте docs.openvz.org [9], которую пишет наш отдел документирования. Причем возможность внесения изменений в документацию OpenVZ всё еще существует — исходные тексты доступны в репозитории openvz-docs [10].

Из других технических изменений:

Linux ядро тепреь базируется на последней версии ядра от Red Hat — RHEL 7 [11] (версия соответствует ядру 3.10+). Размер патча по сравнению с ядрами RHEL5, RHEL6 был существенно уменьшен, что удалось достичь за счет активного использования штатных технологий, уже включённых в состав основной ветки ядра Linux: memory cgroups, CRIU, виртуализация NFS. «Живая» миграция для контейнеров теперь реализована с помощью инструментария CRIU [12] и P.Haul [13] вместо использования кода «заморозки»/«разморозки» процессов, реализованного в предыдущих версиях vzkernel.

Есть и неприятная новость. До сих пор в предыдущих версиях OpenVZ и коммерческом продукте Virtuozzo утилита vzctl разрабатывалась независимо. В OpenVZ/Virtuozzo 7.0 было решено оставить версию из коммерческого продукта, поэтому совместимость vzctl была нарушена. Для управления контейнерами и виртуальными машинами рекомендуется использовать утилиту prlctl. Для начала работы с новой утилитой можно воспользоваться «шпаргалку» [14] с синтаксисом популярных команд. В последующих версиях планируется отказаться от утилиты vzctl и использовать prlctl как основную утилиту.

Для установки OpenVZ 7.0 доступен установочный образ [15], который можно загрузить c сервера OpenVZ или с одного из зеркал проекта [16].

Автор: Virtuozzo

Источник [17]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/162748

Ссылки в тексте:

[1] рассказали: https://habrahabr.ru/company/parallels/blog/256279/

[2] какой смысл открывать: https://habrahabr.ru/company/parallels/blog/259385/

[3] анонсировали: https://lists.openvz.org/pipermail/announce/2016-July/000664.html

[4] драйвера virtuozzo: https://libvirt.org/drvvirtuozzo.html

[5] GUI оболочку virt-manager: https://kb.virtuozzo.com/en/129047

[6] других приложений: http://libvirt.org/apps.html

[7] четвертое поколение: https://openvz.org/Memory_management_in_VZ7

[8] утилиту vzpkg: https://docs.openvz.org/virtuozzo_7_command_line_reference.webhelp/_ez_template_management_utilities.html

[9] docs.openvz.org: https://docs.openvz.org/

[10] openvz-docs: https://src.openvz.org/projects/OVZ/repos/openvz-docs/browse

[11] RHEL 7: https://access.redhat.com/articles/3078

[12] CRIU: https://criu.org/

[13] P.Haul: https://criu.org/P.Haul

[14] «шпаргалку»: https://goo.gl/ZHRtfD

[15] установочный образ: https://download.openvz.org/virtuozzo/releases/7.0/x86_64/iso/

[16] зеркал проекта: https://mirrors.openvz.org/

[17] Источник: https://habrahabr.ru/post/306466/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best