В рамках инициативы по объединению кодовых баз открытой системы контейнерной виртуализации OpenVZ и коммерческого продукта Virtuozzo (Parallels Cloud Server), компания Parallels ввела в строй общедоступный Git-репозиторий, в котором опубликованы исходные тексты модифицированного ядра Linux 3.10, основанного на пакете с ядром из RHEL7 и включающего дополнительные патчи для обеспечения контейнерной виртуализации. Кроме того, разработка ядра Virtuozzo теперь открыта для всех желающих - сторонние разработчики получили возможность присылать патчи, участвовать в технических обсуждениях и рецензировать код через рассылку OpenVZ (devel at openvz.org).

Ранее, для выполнения требований лицензии GPLv2, развиваемое для продукта Virtuozzo ядро публиковалось под эгидой проекта OpenVZ. Например, ядро актуального выпуска Virtuozzo идентично с ядром OpenVZ, но построенные поверх ядра компоненты в корне отличаются и не совместимы между собой. Ядро на базе Linux 3.10, которое соответствует ядру из состава RHEL7, находилось в разработке и готовилось к публикации после начала распространения коммерческого продукта. Код размещался в виде одного архива, что создавало проблемы при желании отслеживать сделанные изменения.

Создание открытого репозитория должно изменить текущее положение вещей: все изменения станут доступны в режиме реального времени, а заинтересованные разработчики смогут влиться в процесс разработки, получая текущую версию исходного кода, не дожидаясь очередного релиза ядра. Ожидается, что развитие Virtuozzo как единого с OpenVZ открытого продукта снизит трудозатраты персонала за счёт избавления от раздельной работы разными инструментариями, позволит привлечь к разработке независимых участников из сообщества и упростит процесс портирования специфичных для Virtuozzo патчей для новых выпусков основного ядра Linux. Объединение также позволит решить проблему с совместимостью открытого и проприетарного решения - системы на базе OpenVZ смогут быть легко переведены на Virtuozzo.

В дальнейшем, разработчики намерены продолжить тактику продвижения возможностей Virtuozzo в основное ядро и уменьшения объёма внешних патчей, так как это существенно упрощает адаптацию системы к основному ядру Linux, код которого очень сильно меняется от выпуска к выпуску. При подготовке ядра 3.10 разработчики Virtuozzo уже избавились от набора патчей, которые добавляли поддержку NFS в контейнерах, заменили старый код управления памятью на новый на базе memcg и задействовали cgroups вместо beancounters, везде, где это возможно.

Следующим шагом станет публикация кода компонентов Virtuozzo, работающих в пространстве пользователя, и создание общедоступной унифицированной системы отслеживания ошибок, построенной на базе движка Atlassian Jira. Для совместимости OpenVZ с ядром 3.10 будет подготовлен новый вариант инструментария vzctl, который будет опубликован после открытия кода утилит Virtuozzo. Поддержка старого ядра OpenVZ, построенного на основе ядра RHEL6, будет сохранена, как продолжит поддерживаться и старый набор утилит vzctl. Совместимость OpenVZ с Virtuozzo будет обеспечена на всех уровнях, начиная от пользовательского инструментария и заканчивая API для взаимодействия с компонентами ядра.

Алексей Кобец, вице-президент департамента серверной виртуализации бизнес-подразделения Odin, прокомментировал открытие кода Virtuozzo: «Часто наши потенциальные покупатели Virtuozzo сначала смотрят на открытый проект и даже начинают запускать на нем коммерческие сервисы. Достигнув определенного понимания, они решают перейти на коммерческую версию и сталкиваются с тем, что обновление с OpenVZ на Virtuozzo неудобно, и порой переход на него даже сложнее, чем с других коммерческих решений виртуализации. Принимая во внимание просьбы клиентов и интерес к нашим технологиями со стороны сообщества, мы решили открыть процесс разработки и часть компонентов Virtuozzo, предоставляя доступ к их исходному коду. Этот шаг позволит всем, заинтересованным в наших технологиях, свободно использовать их и принимать участие в разработке новой версии Virtuozzo».

Источник: http://www.opennet.ru/opennews/art.shtml?num=42113