LXC-команда объявила о выпуске LXC 1.1, который будет поддерживаться до января 2016 года или 2 месяца после очередного выпуска LXC, в зависимости от того, что произойдет скорее.
Для промышленной эксплуатации разработчики все-таки настоятельно рекомендуют использовать версию LXC 1.0, которая является LTS и поддерживается частыми стабильными релизами вместе с Ubuntu 14.04LTS до апреля 2019 года. Хотя это и не является строго обязательным, рекомендуется использовать LXC 1.1 с cgmanager 0.35 (или выше) и lxcfs 0.5 (или выше).
Основные моменты релиза LXC 1.1
В LXC 1.1 вводится checkpoint/restore поддержка контейнеров через CRIU (CRIU (от англ. Checkpoint/Restore In Userspace) — разрабатываемое в настоящее время программное обеспечение для операционной системы Linux, целью которого является обеспечение возможностей внешнего создания контрольной точки для произвольного приложения, а также возобновления работы приложения с этой точки). Это позволяет текущее состояние работающего контейнера на диск, для динамической миграции или для последующего локального восстановления из контейнера.
Поддержка запуска systemd в качестве init-системы внутри контейнера была также значительно улучшена и теперь должна работать по умолчанию, как для привилегированных и непривилегированных контейнеров в сочетании с lxcfs и последние systemd.
Init скрипты теперь все были обновлены, обеспечения общего набора функций, что означает, что lxcbr0 мост с DHCP и DNS-сервером (dnsmasq) теперь используется по умолчанию для LXC.
В настоящее время существуют init скрипты для systemd, sysvinit и upstart.
Этот релиз стал результатом работы 84 разработчиков.
Новые возможности LXC 1.1
- xc-autostart: Новый -A/—ignore-auto флаг (стратовать все контейнеры)
- lxc-ls: Новое «interface» поле
- centos/fedora: Added a root_password_expired environment variable (defaults to yes)
- oracle: Allow installing from arbitrary yum repositories (including medias)
- oracle: Add Oracle Linux 7 support
- lxc-ls: Добавлена возможность фильтации контейнеров по group даже без —fancy
- core: Добавлена поддержка qcow2 образов (через qemu-img)
- lxc-autostart: Добавлена поддержка NULL group (любой контейнер с lxc.start.auto установленным в 1 но без указания group)
- core: Воспринимает как нерасширенную версию конфигурации, так и комментарии (улучшено форматирование сохраненной конфигурации)
- opensuse: Switch to using common configurations
- core: Добавлена возможность установки lxc.cap.keep в none
- archlinux: Switch to using common configurations
- ubuntu: Теперь возможны btrfs subvolumes и snapshots
- seccomp: seccomp profile по умолчанию для всех distros (блокирует угрожающие syscalls)
- core: Добавлена поддержка Openvswitch bridges
- core: Добавлена поддержка lxc.environment (sets extra environment variables)
- init: Добавлена идентичная поддержка systemd, upstart и sysvinit скриптов
- core: добавлена поддержка для контрольной точки и восстановления контейнеров с помощью CRIU
- core: Добавлен новый флаг aa_allow_incomplete для запуска контейнера с частичной поддержкой apparmor
- lxc-top: Переписан на C (был lua скрипт)
- API: Addition of attach_interface and detach_interface
- lxc-device: Переписан на C (был python3 script)
- lxc-config: Now supports querying lxc.cgroup.(use|pattern)
- core: Add new lxc.init_cmd config option to override the default init command (/sbin/init)
- lxc-start-ephemeral: Add new —cdir option (copy-on-write mounts)
- opensuse: Support multiple releases
- core: lxc.include теперь позволяет подключать и директории (подключать все файлы в директории с расширением .conf)
- core: В конфигурации обеспечена возможность загрузки всех файлов с расширением .conf, находящихся в указанной директории. Добавлена директория common.conf.d с настройками, общими для всех контейнеров;
- core: The container_ttys environment variable is now set by LXC
Изменения в LXC 1.1
- lxc-create теперь обязательно требует (-t), параметр «none» для старого поведения.
- snapshots теперь хранятся каталоге контейнера
- lxc.arch for PER_LINUX32 is now output as i686
- lxc-execute: lxc-init is now bind-mounted in the container if it can’t be found
- lxc-start: по умолчанию контейнеры теперь стартуют как демоны
- core: pivot_root сейчас сделан без использования lxc.pivotdir, в результате этот вариант сейчас считается устаревшим и будет удален в будущих релизах.
- core: close-all-fds теперь установлен по умолчанию.
- core: lxc.autodev был переработан, он больше не использует /dev/lxc, вместо монтирования tmpfs напрямую к /dev контейнера, он теперьработает и с непривилегированными контейнерами
- core: lxc.autodev теперь 1 по умолчанию (можно переопределить — lxc.autodev=0)
- core: lxc.kmsg теперь выключено по умолчанию (можно переопределить — lxc.kmsg=1)
- core: clear_config_item now exclusively affects lists (lxc_list) entries. set_config_item should be used for anything else.
- templates: все шаблоны теперь используют lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed (safe default configuration)
Подробнее на странице News.