Download PDF
Download page LXD.
LXD
LXD (Linux Container Daemon) — это система контейнерной виртуализации и управления виртуальными машинами на основе ОС Linux. LXD используется для запуска нескольких изолированных экземпляров ОС Linux на одном узле. LXD можно использовать в качестве альтернативы технологии OpenVZ.
Преимущества использования LXD:
- возможность изменения ресурсов контейнера без его остановки;
- высокий уровень безопасности узлов кластера;
- гибкая настройка узлов кластера;
- высокая скорость создания и работы контейнеров;
- высокая плотность виртуализации.
Поддерживаемая версия LXD — 5.21.
Особенности LXD-кластеров в VMmanager
В текущей версии VMmanager кластер LXD можно создать только с типом настройки сети "Коммутация" или IP-fabric и использованием ZFS-хранилища. Контейнеры и образы ВМ хранятся в пуле ZFS, резервные копии ВМ — на узле кластера. На узлах кластера должна быть установлена ОС Ubuntu 20.04.
В кластерах LXD недоступно:
- подключение ISO-образов пользователей к виртуальным машинам (ВМ);
- добавление узлов с двумя сетевыми интерфейсами;
- создание сетевых мостов;
- живая миграция ВМ;
- установка ОС Windows;
- подключение к ВМ через VNC и SPICE.
Для установки операционных систем в LXD-кластере VMmanager использует отдельные образы ОС. В текущей версии доступны образы ОС:
Группа ОС | Поддерживаемые ОС |
|---|---|
| Alma |
|
| CentOS |
|
| Debian |
|
| Oracle |
|
| Rocky |
|
| Ubuntu |
|
Для удалённого администрирования ВМ вы можете зайти в консоль LXD-контейнера. Окно с консолью откроется в отдельной вкладке браузера.
Обратите внимание!
Вы можете перенести в LXD-кластер виртуальные машины, созданные с помощью виртуализации OVZ. Подробнее см. в статье Перенос OVZ-контейнера в LXD-кластер
Тонкие настройки ВМ
ВМ в кластере LXD имеют особенности в части тонких настроек:
- вес CPU и вес использования I/O изменяются в диапазоне от 0 до 10;
- скорость чтения и записи можно установить либо в IOPS, либо в Мбит/с;
- настройка режима эмуляции CPU недоступна;
- есть возможность настроить:
- вес сети — чем больше вес, тем больше времени выделяется на обработку запросов;
- максимальное количество активных процессов в контейнере;
- лимит использования CPU в процентах;
- создание контейнеров внутри контейнера с использованием Docker, Podman, LXC и т.д.
Подготовка узла кластера
На узле кластера LXD должно быть два диска: первый — системный, второй — для создания ВМ.
Перед подключением сервера к кластеру:
- Настройте на сервере ZFS-пул:
Установите утилиту zfsutils-linux:
sudo apt install zfsutils-linuxBASH- Определите блочное устройство второго диска:
lsblkCODEВ примере имя второго диска vdb, поэтому имя блочного устройства — /dev/vdb.Пример вывода
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 91.9M 1 loop /snap/lxd/32662 loop1 7:1 0 40.9M 1 loop /snap/snapd/20290 loop2 7:2 0 49.3M 1 loop /snap/snapd/24792 loop3 7:3 0 63.3M 1 loop /snap/core20/1828 loop5 7:5 0 73.9M 1 loop /snap/core22/2045 loop6 7:6 0 114.4M 1 loop /snap/lxd/33110 sr0 11:0 1 1024M 0 rom vda 252:0 0 50G 0 disk ├─vda1 252:1 0 1M 0 part └─vda2 252:2 0 50G 0 part / vdb 252:16 0 50G 0 diskCODE - Определите имя пула. Для этого в интерфейсе платформы перейдите в Кластеры → выберите кластер → кнопка Параметры → раздел Локальные хранилища → параметр ZFS-пул.

Создайте ZFS-пул:
Пояснения к команде:zpool create <zpool_name> <device>BASH<zpool_name> — имя пула;
<device> — имя блочного устройства.
- Добавьте пул в LXD: Пояснения к команде:
lxc storage create <zpool_name> zfs source=<zpool_name>CODE- <zpool_name> — имя пула.
- В конфигурационном файле /etc/ssh/sshd_config укажите параметр:
UsePAM yesCODE
Может быть полезно
Связанные статьи: