LXD (Linux Container Daemon) — это система контейнерной виртуализации и управления виртуальными машинами на основе ОС Linux. LXD используется для запуска нескольких изолированных экземпляров ОС Linux на одном узле. LXD можно использовать в качестве альтернативы технологии OpenVZ.
Преимущества использования LXD:
- возможность изменения ресурсов контейнера без его остановки;
- высокий уровень безопасности узлов кластера;
- гибкая настройка узлов кластера;
- высокая скорость создания и работы контейнеров;
- высокая плотность виртуализации.
Особенности LXD-кластеров в VMmanager
В текущей версии VMmanager кластер LXD можно создать только с типом настройки сети "Коммутация" или IP-fabric и использованием ZFS-хранилища. Контейнеры и образы ВМ хранятся в пуле ZFS, резервные копии ВМ — на узле кластера. На узлах кластера должна быть установлена ОС Ubuntu 20.04.
В кластерах LXD недоступно:
- подключение ISO-образов пользователей к виртуальным машинам (ВМ);
- добавление узлов с двумя сетевыми интерфейсами;
- создание сетевых мостов;
- живая миграция ВМ;
- установка ОС Windows;
- подключение к ВМ через VNC и SPICE.
Для установки операционных систем в LXD-кластере VMmanager использует отдельные образы ОС. В текущей версии доступны образы ОС:
- AlmaLinux 8;
- СentOS 7, 8;
- Debian 9, 10, 11;
- Oracle Linux 8;
- Rocky Linux 8;
- Ubuntu 18.04, 20.04.
Для удалённого администрирования ВМ вы можете зайти в консоль LXD-контейнера. Окно с консолью откроется в отдельной вкладке браузера.
Тонкие настройки ВМ
ВМ в кластере LXD имеют особенности в части тонких настроек:
- вес CPU и вес использования I/O изменяются в диапазоне от 0 до 10;
- скорость чтения и записи можно установить либо в IOPS, либо в Мбит/с;
- настройка режима эмуляции CPU недоступна;
- есть возможность настроить:
- вес сети — чем больше вес, тем больше времени выделяется на обработку запросов;
- максимальное количество активных процессов в контейнере;
- лимит использования CPU в процентах;
- создание контейнеров внутри контейнера с использованием Docker, Podman, LXC и т.д.
Подготовка узла кластера
Перед подключением сервера к кластеру:
- Настройте на сервере ZFS-пул:
- Перед установкой ОС оставьте на диске сервера неразмеченное пространство.
-
Установите утилиту zfsutils-linux:
sudo apt install zfsutils-linux
-
Создайте ZFS-пул:
zpool create <zpool_name> <device>
Пояснения к команде
- В конфигурационном файле /etc/ssh/sshd_config укажите параметр:
UsePAM yes