Главная » Компоненты свободной IT инфраструктуры » Виртуализация » Виртуализация LXC » Контейнеры Linux — LXC
LXC (LinuX Containers) — система виртуализации на уровне операционной системы, позволяющая исполнять множество изолированных Linux-систем (контейнеров) в одной системе, то-есть получить полноценную виртуализацию уровня операционной системы на одном экземпляре ядра и используя только его функции.
Виртуализация на уровне операционной системы — метод виртуализации, при котором ядро операционной системы поддерживает несколько изолированных экземпляров пространства пользователя, вместо одного. Эти экземпляры (часто называемые контейнерами или зонами) с точки зрения пользователя полностью идентичны реальному серверу. Виртуализация на уровне операционной системы — метод виртуализации, при котором ядро операционной системы поддерживает несколько изолированных экземпляров пространства пользователя, вместо одного. Эти экземпляры (часто называемые контейнерами или зонами) с точки зрения пользователя полностью идентичны реальному серверу.
LXC похож на Linux-VS и OpenVZ, за исключением того, что вместо внедрения в ядро соответствующих патчей ядра, он использует механизмы пространства имен (namespaces) и группировки процессов — cgroups (добавлено в версии ядра 2.6.24), доступные в любом современном Linux kernel.
Механизм пространства имен позволяет поместить выбранную группу процессов в независимое от основной системы окружение, которое может иметь собственный корень файловой системы, собственный список процессов, сетевой стек и систему межпроцессного взаимодействия.
Технология cgroups — это механизм группировки процессов и управления их ресурсами, такими как количество оперативной памяти, процессорные ресурсы, приоритеты ввода-вывода и доступа к сети.
Работая вместе, эти технологии реализуют очень мощную и гибкую систему виртуализации, возможности которой использует LXC, выступая в роли простого и удобного фронтенда к namespaces и cgroups.
Основные преимущества LXC — это возможность довольно гибко конфигурировать контейнеры, очень высокая степень безопасности и скорость работы — он быстрее, чем виртуализация, даже аппаратная, так как эмулировать ничего не надо.
Ну и основной недостаток, проистекающий от идеологии его построения — в контейнере могут функционировать только Linux системы.
Stéphane Graber (работает в Canonical в Ubuntu Foundations Team) и Serge Hallyn являются главными мейнтейнерами LXC.
До выхода первой версии LXC (LXC 1.0.0) работать с системой можно было только тестовом режиме: версии 0.X были достаточно сырыми и ненадежными.
LXC 1.0.0 явился результатом 10 месячной разработки и появился весной 2014 года в составе Ubuntu 14.04 LTS и был официально объявлен пригодным для промышленного применения. Первая версия является LTS — поддержка выпуска исправлений для ветки LXC 1.0 будет осуществляться в течение пяти лет.
В состав пакета LXC входит входит библиотека liblxc, набор утилит (lxc-create, lxc-start, lxc-stop, lxc-ls и т.п.), шаблоны для построения контейнеров и набор биндингов для различных языков программирования.
Данный релиз имеет огромный список изменений, тем не менее вот список наиболее главных изменений:
Ключевые улучшения в LXC 1.0:
Работа с LXC описана нашей базе знаний.
Сайт команды разработчиков LXC — linuxcontainers.org.