Компания Caninical представила новые версии системы управления контейнерами LXD 5.16 и 5.17, сформированные после преобразования LXD из проекта, развиваемого сообществом Linux Containers, в корпоративный проект, полностью подконтрольный компании Caninical (после действий Caninical сообщество Linux Containers основало свой форк LXD, который доступен под именем Incus). Код LXD написан на языке Go и распространяется под лицензией Apache 2.0.
LXD предоставляет средства для централизованного управления контейнерами, развёрнутыми в кластере из нескольких серверов. LXD реализован в виде фонового процесса, принимающего запросы по сети через REST API и поддерживающего различные бэкенды хранилищ (дерево директорий, ZFS, Btrfs, LVM), снапшоты со срезом состояния, live-миграцию работающих контейнеров с одной машины на другую и средства для хранения образов контейнеров. В качестве runtime для запуска контейнеров используется инструментарий LXC, в состав которого входит библиотека liblxc, набор утилит (lxc-create, lxc-start, lxc-stop, lxc-ls и т.п.), шаблоны для построения контейнеров и набор привязок для различных языков программирования. Изоляция осуществляется при помощи штатных механизмов ядра Linux (пространства имён, cgroups, Apparmor, SELinux, Seccomp). Помимо LXC в LXD также применяются компоненты от проектов CRIU и QEMU.
В версии LXD 5.17 реализована возможность делегирования пространств имён в ZFS, позволяющая предоставить контейнеру доступ к управлению своим набором данных в ZFS. В инструментарий добавлена поддержка копирования снапшота раздела на другой хост с созданием на нём нового раздела. В утилиту восстановления после сбоев добавлено определение неизвестных пулов хранения и пересоздание записей в БД. В версии LXD 5.16 добавлена поддержка загрузки виртуальной машины из ISO-образа, извлечения информации IPAM (IP Address Management) и изменения свойств объектов lxc.