2014-11-05

Canonical и Docker развивают LXD, гипервизор для изолированных контейнеров

Компании Canonical и Docker на саммите разработчиков OpenStack раскрыли информацию о новом совместном проекте LXD, в рамках которого развивается вариант гипервизора для изолированных контейнеров, сочетающего скорость и эффективность Docker с высокой степенью изоляции, свойственной системам полной виртуализации. LXD позиционируется как гипервизор, предназначенный для использования с изолированными контейнерами, но применяющий дополнительные аппаратные методы разграничения, используемые в полноценных виртуальных машинах (см. дополнение).


Предоставляемый LXD уровень изоляции и безопасности контейнеров обещают довести до уровня традиционных гипервизоров, таких как KVM. LXD будет полностью поддерживаться в Docker, при этом в качестве клиента можно будет использовать и инструментарий LXC. Управляющий интерфейс LXD будет функционировать в форме демона, принимающего запросы через REST API, что упростит организацию взаимодействия с другими серверами по сети и даст возможность удалённого развёртывания окружений. В запущенных при помощи LXD контейнерах можно будет использовать такие возможности, как Live-миграция, привязка контейнеров к хранилищам и сетевым интерфейсам.

Если Docker рассчитан главным образом на создание компактных окружений для запуска отдельных приложений, то LXD cможет расширить область применения Docker использованием для организации работы контейнеров с полноценными экземплярами ОС, продолжающими использовать одно ядро Linux с базовой системой, но более жестко изолированного на уровне привязки секций ядра к отдельным контейнерам. Использование одного ядра не позволяет применять LXD для запуска в контейнерах разных операционных систем, но даёт возможность организовать работу разных дистрибутивов Linux, например, можно будет запустить в Ubuntu контейнеры с системным окружением RHEL, CentOS, SUSE и Debian.

В настоящее время проект LXD развивается за закрытыми дверями, но исходные тексты обещают открыть сразу после готовности разработки. Готовое для промышленного применения решение на базе LXD планируется выпустить в течение 6 месяцев.

Дополнение: В списке рассылки lxc-devel раскрыты некоторые технические подробности об LXD. Несмотря на использование слова "гипервизор" и заявлений о более жесткой изоляции, на деле LXD построен с использованием liblxc (LXC C API) и по сути является лишь переработкой LXC, оформленной в виде постоянно висящего фонового процесса. Код проекта написан на языке Go. Упоминание в анонсе привлечения каких-то дополнительных средств изоляции, основанных на аппаратных механизмах виртуализации, пока относится к категории идей и обсуждений. Изоляция пока достигается только традиционными и уже используемыми в других системах средствами, такими как пространства имён, cgroups, работа контейнера в непривилегированном режиме, ограничения через AppArmor и SECCOMP. Основная задача LXD - организация прозрачного управления серией хостов с контейнерами через сеть, а также организация перемещение между ними окружений.


source1
source2

Комментариев нет:

Отправить комментарий