LXD (произносится «lexdi») — проект Canonical (создателей Ubuntu), расширяющий возможности LXC до полноценной платформы управления инфраструктурой. Если LXC — низкоуровневые инструменты работы с контейнерами ядра Linux, то LXD добавляет REST API, образы (images), хранилища (storage pools), сетевые профили и удобный CLI. LXD конкурирует с Proxmox в нише дешёвых кластеров контейнеров.
Как работает
LXD работает как демон (lxd), принимающий команды через REST API или CLI (lxc — одноимённый с LXC, но другая утилита). Контейнеры в LXD — системные: каждый запускает полноценный Linux-дистрибутив со своим init-процессом (systemd), что отличает их от Docker-контейнеров (один процесс на контейнер). Образы берутся из официального репозитория images.linuxcontainers.org — там доступны Ubuntu, Debian, CentOS, Alpine и другие.
LXD поддерживает несколько бэкендов хранилищ: dir (простой), zfs, btrfs, lvm, ceph. ZFS предпочтителен для production — быстрые снапшоты и клоны. В LXD 4.0+ появилась поддержка полноценных VM (KVM-backed) рядом с контейнерами в едином интерфейсе.
История
LXD анонсирован Canonical в ноябре 2014 года. Версия 1.0 вышла в апреле 2015 года. LXD 3.0 (2018) принёс кластеризацию. LXD 4.0 (2020) добавил VM-поддержку. В 2023 году Canonical выделила LXD из проекта Linux Containers в собственный проект под управлением Canonical, что вызвало форк — сообщество создало Incus как независимую замену.
LXD vs Docker
| Параметр | LXD | Docker |
|---|---|---|
| Тип контейнера | Системный (full OS) | Приложение (один процесс) |
| Init-система | systemd, SysVinit | Нет (PID 1 = приложение) |
| Типичное использование | VPS, системная изоляция | Микросервисы, CI/CD |
На что обращать внимание
LXD отлично подходит для создания дешёвых VPS на bare-metal сервере: один физический хост с LXD кластером заменяет сотни OpenVZ-контейнеров. Убедитесь, что хостер использует ZFS-бэкенд — это критично для надёжности. При использовании вложенной виртуализации производительность снижается.
На что обращать внимание при использовании LXD
LXD особенно удобен для разработки: можно создать 10--20 изолированных сред с разными дистрибутивами на одном VPS за несколько минут. Команда lxc launch ubuntu:22.04 mycontainer разворачивает Ubuntu 22.04 LTS за 15--30 секунд. LXD поддерживает кластеризацию — несколько узлов объединяются в кластер, миграция контейнеров происходит командой lxc move. Для контейнеризации веб-приложений LXD менее популярен, чем Docker, из-за других подходов к оркестрации. Сильная сторона LXD — системные контейнеры, когда нужна полная Linux-система с systemd и несколькими сервисами в изолированном окружении без VM-оверхеда.
История LXD
LXD создан компанией Canonical в 2014 году как надстройка над LXC. Первый стабильный релиз — LXD 2.0 в 2016 году. В 2023 году Canonical передала разработку под управление проекта Linux Containers. LXD написан на Go и предоставляет REST API для управления контейнерами и ВМ.