Компания Canonical опубликовала релиз инструментария для организации работы изолированных контейнеров LXC 5.0, предоставляющий runtime, подходящий как для запуска контейнеров с полным системным окружением, близких к виртуальным машинам, так и для выполнение непривилегированных контейнеров отдельных приложений (OCI). LXC относится к низкоуровневым инструментариям, работающим на уровне отдельных контейнеров. Для централизованного управления контейнерами, развёрнутыми в кластере из нескольких серверов, на базе LXC развивается система LXD. Ветка LXC 5.0 отнесена к выпускам с длительной поддержкой, обновления для которых формируются в течение 5 лет. Код LXC написан на языке Си и распространяется под лицензией GPLv2.
LXC inclui a biblioteca liblxc, um conjunto de utilitários (lxc-create, lxc-start, lxc-stop, lxc-ls, etc.), modelos para construção de contêineres e um conjunto de ligações para várias linguagens de programação. O isolamento é realizado usando mecanismos padrão do kernel Linux. Para isolar processos, pilha de rede ipc, uts, IDs de usuário e pontos de montagem, o mecanismo de namespaces é usado. cgroups são usados para limitar recursos. Para diminuir privilégios e limitar o acesso, são usados recursos do kernel como perfis Apparmor e SELinux, políticas Seccomp, Chroots (pivot_root) e capacidades.
Grandes mudanças:
- Осуществлён переход c autotools на сборочную систему Meson, которая также используется для сборки таких проектов, как X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME и GTK.
- Добавлены новые опции для настройки cgroup — lxc.cgroup.dir.container, lxc.cgroup.dir.monitor, lxc.cgroup.dir.monitor.pivot и lxc.cgroup.dir.container.inner, которые позволяют явно определить пути cgroup для контейнера, процесса мониторинга и вложенных иерархий cgroup.
- Добавлена поддержка пространства имён для времени (time namespaces) для привязки к контейнеру отдельного состояния системных часов, позволяющего использовать в контейнере своё время, отличное от системного. Для настройки предложены опции lxc.time.offset.boot и lxc.time.offset.monotonic, позволяющие определить для контейнера смещение относительно основных системных часов.
- Для виртуальных ethernet-адаптеров (Veth) реализована поддержка VLAN. Для управления VLAN предложены опции: veth.vlan.id для задания основного VLAN и veth.vlan.tagged.id для привязки дополнительных теггированных VLAN.
- Для виртуальных ethernet-адаптеров добавлена возможность настройки размера очередей приёма и передачи при помощи новых опций veth.n_rxqueues и veth.n_txqueues.
Fonte: opennet.ru