Одно из важнейших сообщений на конференции OpenStack Summit в Париже было посвящено LXD, новому подходу к созданию гипервизора, обеспечивающего безопасность контейнеров. С ним выступил Марк Шаттлворт, основатель компании Canonical, главного коммерческого спонсора Ubuntu Linux.
В видеоинтервью для портала eWeek Шаттлворт объяснил, в чем состоит проект LXD и почему он дополняет контейнерную технологию Docker, которая за последний год сильно набрала популярность. LXD будет функционировать в форме безопасного системного демона для создания LXC (Linux-контейнеров). Docker реализует высокоуровневые интерфейсы для доступа к LXC, и Docker-приложения теперь получат возможность работать также в среде LXD.
По словам Шаттлворта, «LXC — это клиент, а LXD — сервер. LXD сможет работать на целой группе узлов и позволит использовать LXC для создания контейнеров на других машинах».
В более широком смысле LXD должен перекрыть зазор между традиционным гипервизором виртуализации типа Xen или KVM (Kernel-based Virtual Machine) и контейнерами. Как пояснил Шаттлворт, гипервизор работает на хост-системе и эмулирует другой сервер, который может иметь собственное ядро, ОС и работающее в этой среде приложение.
В традиционном гипервизоре безопасность среды может обеспечиваться серверной аппаратной частью, поддерживающей изоляцию данной виртуальной машины от других заданий, выполняемых в системе. Издержки традиционного гипервизора состоят в том, что надо эмулировать еще одно системное ядро и поверх него еще одну ОС.
В контейнерной модели развертывание ПО может быть более оптимальным, так как она не предполагает отдельные ядро и ОС. Контейнеры работают быстрее гипервизоров, так как тут нет дополнительных издержек на функционирование ядра и ОС.
Идея LXD состоит в том, чтобы обеспечить контейнерам тот же уровень аппаратной поддержки безопасности, какой имеют традиционные гипервизоры. «В итоге вы имеете тот же уровень защиты, как у ВМ, и можете делать все то же самое, что позволяют вам делать виртуальные машины», — сказал Шаттлворт.
Технология LXD не конкурирует с тем, что предоставляет Docker. Основатель Docker Соломон Хайкс в недавнем видеоинтервью eWeek объяснил, что проект Docker шире, чем просто контейнеры. Docker также предполагает новый способ упаковки и доставки приложений. «Вы сможете запускать контейнеры Docker внутри LXD», — отметил Шаттлворт.
Дастин Керкленд, менеджер по продуктам Canonical, добавил, что LXD открывает перспективы увеличить плотность приложений, работающих на конкретном сервере, в сравнении с традиционным гипервизором.
Технологию LXD можно будет использовать в любой ОС Linux, и хотя ее разрабатывал коллектив Ubuntu, она не ориентирована только на Ubuntu. Керкленд отметил, что для недавнего релиза Ubuntu 14.10 сегодня имеется технологический прообраз LXD, работающий в связке с OpenStack. Частично он реализуется внутри драйвера под названием Nova Compute Flex, позволяющего администратору облака запускать экземпляры OpenStack Nova Compute в Linux-контейнерах.
Шаттлворт рассматривает проект LXD как естественное развитие идеи гипервизоров и хотел бы, чтобы эта технология быстрее попала в руки пользователей.
«Вы просто запустите LXD на любой Linux-машине, а потом буквально из любого места сможете обратиться к этому сервису для создания контейнеров», — сказал Шаттлворт.