Анонсирован второй значительный выпуск инструментария LXC 1.1, предназначенного для организации работы изолированных контейнеров. Изоляция процессов и ресурсов осуществляется при помощи штатных механизмов ядра Linux, таких как пространства имён (namespaces) и группы управления (cgroups). Готовые пакеты с LXC 1.1 подготовлены для Ubuntu Linux.

В состав инструментария LXC входит библиотека liblxc, набор утилит (lxc-create, lxc-start, lxc-stop, lxc-ls и т.п.), шаблоны для построения контейнеров и набор биндингов для различных языков программирования. Для изоляции процессов, сетевого стека ipc, uts и точек монтирования используется механизм пространств имён (namespaces). Для ограничения ресурсов применяются cgroups. Для понижения привилегий и ограничения доступа задействованы такие возможности ядра, как профили Apparmor и SELinux, политики Seccomp, Chroots (pivot_root) и capabilities.

Наиболее важным улучшением в новом выпуске является интеграция в состав LXC системы CRIU, позволяющей сохранить состояние одного или группы процессов, а через некоторое время возобновить работу с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений. Поддержка CRIU в LXC позволяет сохранить состояние контейнера на диск обеспечив непрерывность выполнения работающих в контейнере процессов между перезапусками или при переносе контейнера на другую машину.

Другие улучшения:

  • Значительно расширены возможности по использованию systemd в качестве системы инициализации внутри контейнера. Комбинацию lxcfs и systemd теперь можно использовать как для привилегированных контейнеров, так и для контейнеров, выполняемых с правами обычных пользователей.
  • Обновлены скрипты инициализации, которые доступны в вариантах для systemd, sysvinit и upstart. Достигнут паритет в функциональности скриптов для разных систем инициализации, что позволило включить по умолчанию использование сетевого интерфейса lxcbr0 с DHCP и DNS-сервером (dnsmasq).
  • Добавлена поддержка образов в формате qcow2 (через qemu-img);
  • Добавлена поддержка Oracle Linux 7. Обеспечена возможность установки пакетов из произвольных репозиториев yum;
  • В Ubuntu добавлена возможность использования подразделов и снапшотов Btrfs;
  • Arch Linux и openSUSE переведены на использование типовых конфигураций;
  • Для всех дистрибутивов по умолчанию добавлен профиль seccomp, обеспечивающий блокировку небезопасных системных вызовов;
  • Поддержка сетевых мостов на базе Openvswitch;
  • В конфигурации обеспечена возможность загрузки всех файлов с расширением .conf, находящихся в указанной директории. Добавлена директория common.conf.d с настройками, общими для всех контейнеров;
  • Утилиты lxc-top и lxc-device переписаны с Lua на Си.


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