Мифы и легенды о проекте OpenVZ
LVEE 2015
В 1999 году в компании SWsoft (Parallels) родилась концепция контейнерной виртуализации. Сотрудники компании сформулировали три главных компонента, составляющих контейнеры: набор процессов с изоляцией пространства имен, файловая система для разделения кода и памяти и изоляция ресурсов. В 2000 году сотрудники компании подготовили концепт коммерческого продукта Virtuozzo, который позволял создавать в ОС Linux изолированные окружения (контейнеры). В 2002 году компания выпускает публичную версию Virtuozzo и в том же году появляются первые коммерческие пользователи. В 2005 году компания Parallels запускает проект OpenVZ для разработки открытой реализации Linux контейнеров. В рамках этого проекта команда проекта разрабатывает Linux ядро с поддержкой контейнеров, утилиту для управления контейнерами и другие вспомогательные утилиты. За прошедшие 10 лет проект приобрёл популярность. OpenVZ используют не только как платформу для хостинга, но и для инфраструктурных задач, требующих изоляции приложений. За время существования проекта появились мифы и заблуждения о проекте, которые не получилось развенчать ответами на форумах, в блогах и почтовых переписках. Одни и те же вопросы возникают снова и снова. Этот доклад призван окончательно развенчать мифы о проекте OpenVZ.
Из-за сложившейся недостатка новостей о проекте и неправильной интерпретации тех новостей, которые появлялись на новостных сайтах, появился миф о том, что проект OpenVZ умер и никакого развития не будет.
Процесс разработки технологии контейнеров в Linux ядре в компании Parallels имеет свои особенности. Из-за этого появился второй миф о том, что проект OpenVZ устарел и использует устаревшую версию Linux ядра (RHEL6, ветка 2.6.32), тогда как последний релиз ванильного ядра имеет версию 4.0.4. На самом деле ядра RHEL сильно отличаются от ванильных ядер той же версии (к примеру RHEL6 и ванильное ядро 2.6.32). Ядра RedHat это компромисс между стабильностью, безопасностью и функциональностью. Да, эти ядра не содержат все последние разработки в Linux ядре, но наиболее важные изменения, исправления RedHat активно бэкпортирует в свои ядра.
Вследствие взрывного роста популярности контейнерной виртуализации появилось множество проектов, которые так или иначе используют эту технологию, множество информации в интернете. Вдобавок появились предпосылки для изменения парадигмы использования контейнеров. Это привело к тому, что инженеры стали в своем выборе отталкиваться от популярности проекта, а не от сценариев использования.
- Несмотря на лавинообразный рост популярности и стремление использовать Docker в везде где только можно эта технология имеет свои ограничения и применима не ко всем сценариям использования.
- Проект LXC ни в коем случае не является конкурентом OpenVZ.
В силу ограничений инструментов разработки проект OpenVZ долгое время не имел открытого репозитория для работы с кодом, хотя архивы с исходном кодом выкладывались в открытый доступ для каждой новой версии ядра. Этот факт затруднял возможность сделать вклад в проект. Два месяца назад мы запустили в строй репозиторий с исходным кодом ядра и пользовательских утилит. Теперь факт о закрытости разработки OpenVZ превратился в миф.
Основной сценарий использования коммерческого продукта Virtuozzo это хостинг провайдеры, поэтому OpenVZ, как похожий по функциональности проект, пользуется успехом среди хостеров, которые по тем или иным причинам не хотят использовать коммерческую версию. Однако мало кто знает, что OpenVZ имеет среди своих пользователей и компании никак не связанные с хостингом (разработка ПО, киностудии, научные центры и т.д.).
Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license
Назад