Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021)

Материал из 0x1.tv

Докладчик
Денис Силаков.jpg
Денис Силаков

С целью упрощения поддержки, OpenVZ 7 изначально основывался на ядре и пакетной базе Red Hat Enterprise Linux (RHEL). В 2019 году вышел RHEL 8, и уже более двух лет идут работы по переводу ядра и утилит OpenVZ на эту версию. В качестве первого шага, был налажен процесс сборки и обновления дистрибутива Virtuozzo Linux 8. В силу планов Red Hat по переводу CentOS 8 на «streaming» модель, пользователи Virtuozzo/OpenVZ высказали заинтересованность в более стабильных альтернативах, поэтому теперь VzLinux 8 позиционируется и как отдельный продукт, уже готовый к использованию. Данный доклад рассматривает как технологические процессы разработки VzLinux 8, так и текущее состояние и перспективы OpenVZ 8.

Видео

Презентация

Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021).pdf

Thesis

Заметная задержка между выходом RHEL 8 и Vz/OpenVZ 8 вызвана традиционной неспешностью клиентов Virtuozzo — в момент выхода RHEL 8, многие крупные пользователи только начали переход на Vz 7 и заметная доля усилий разработчиков была направлена на удовлетворение их потребностей. Только спустя год, удалось сместить акцент на разработку новой версии.

VzLinux 8

Пакетная база в виде Virtuozzo Linux 8 была готова вскоре после выхода RHEL 8. Выпускать этот дистрибутив как отдельный продукт изначально не планировалось, однако обеспокоенность пользователей судьбой CentOS 8 изменила планы и теперь мы предлагаем VzLinux 8 как гостевую ОС в контейнерах и ВМ на замену CentOS 8. Это создаёт дополнительную нагрузку на разработчиков (например, изначально не планировалось иметь в VzLinux всё многообразие модулей и стримов из CentOS 8), однако позволяет иметь более предсказуемого гостя в контейнере.

В этого гостя можно вносить изменения, предназначенные именно для работы в контейнерах (например, предоставлять как nftables, так и legacy-инструменты iptables, демонстрирующие в ряде сценариев лучшую производительность), и исправлять проблемы оперативно, не дожидаясь обновлений от Red Hat (по схожим причинам, в основе самого OpenVZ начиная с седьмой версии лежит не сам CentOS, а его форк VzLinux).

OpenVZ 8

В OpenVZ 8 предполагается обеспечить обратную совместимость с OpenVZ 7 — даже если какие-то технологии претерпят радикальные изменения, будет предоставлен слой совместимости для запуска виртуальных окружений, мигрировавших с предыдущей версии продукта, либо инстурментарий для их преобразования при миграции. То же самое относится к инструментальным средствам — все стандартные утилиты OpenVZ 7 будут доступны и в новой версии, хотя ряд из них будет объявлен устаревшим и не будет устанавливаться по умолчанию.

Из инструментов, наиболее заметным изменением является перевод prlctl и PRL SDK в разряд устаревших. Соответствующее сообщение уже отображается в последнем релизе OpenVZ 7 при использовании prlctl и сопутствующих утилит. Для работы с виртуальными машинами по умолчанию будет предлагаться virsh и libvirt API, которые предполагается доработать для большей совместимости с prlctl/PRL SDK. Часть функционала prlctl и prlsrvctl уйдёт в другие инструменты (например, ручная отсылка отчётов об ошибках полностью перейдёт в vzreport, который и занимался этим до появления prlctl). Для работы с контейнерами, libvirt в сборке OpenVZ давно содержит vzct драйвер. Впрочем, убирать vzctl (в отличие от prlctl) пока не планируется.

Как в инструментарии, так и в ядре, планируется продолжить по возможности переносить изменения Vz в апстрим и переиспользовать другие появляющиеся в апстриме наработки. Например, при работе с траффиком контейнеров избавиться от модуля ядра vznetstat в пользу nft, переписать собственный канал общения хоста с гостевым агентом QEMU на использование viosock, использовать ipvlan вместо venet/veth и так далее.

Отдельное направление работ планируется в сфере хранения данных контейнеров. В рамках унификации управления контейнерами и ВМ через libvirt, возможно добавление storage-драйвера ploop — чтобы «вписать» ploop в концепцию Storage Pools/Volumes. В то же время рассматривается вариант использование для контейнеров формата QCOW2, как для ВМ. Одной из целей добавления ploop в коммерческой версии Virtuozzo был единый формат дисков для ВМ и контейнеров, однако в седьмой версии произошёл переход на QEMU/KVM и теперь этот аргумент неактуален.

Расписание релизов

Альфа-версию OpenVZ планируется представить уже этим летом. Релиз планируется в первом полугодии 2022 года. За разработкой открытой части можно следить в гите OpenVZ (https://src.openvz.org/) в соответствующих бранчах ядра и инструментов.

Virtuozzo Linux 8 и OpenVZ 8 – текущее состояние и планы (Денис Силаков, OSSDEVCONF-2021)!.jpg

Примечания и ссылки


Plays:6   Comments:0

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.