В то время знакомство c KVM я начинал с управления через консоль с помощью
libvirt. А подключение к консоли непосредственно виртуалок осуществлялось по VNC. Потом перешёл на Virt-Manager и какое-то время пользовался им. Позже уже перешёл на Proxmox.Сейчас Proxmox оброс огромной функциональностью и выглядит уже монструозно для запуска и управления одиночным хостом с простым набором настроек и виртуалок. Плюс, есть ограничения во время штатной установки по выбору разбивки дисков и в целом организации дискового хранилища.
В такой ситуации можно рассмотреть другой проект со схожими возможностями, но гораздо более простой - Incus. Я его развернул и в течении нескольких часов изучал, пробовал, так что могу предметно о нём рассказать.
📌 Основные возможности Incus:
▪️Запуск LXC, Docker контейнеров, виртуальных машин на базе QEMU+KVM.
▪️Использование образов контейнеров и виртуальных машин на базе проекта linuxcontainers.org.
▪️Создание кластера из десятков хостов. Сразу скажу, что кластер не тестировал, хотя хочется. Но на это надо много времени.
▪️Управление через веб-интерфейс как одиночными хостами, так и кластером.
▪️Поддержка всевозможных хранилищ: директория на хосте, zfs, lvm, btrfs, ceph, cephfs, linstor, truenas.
▪️Поддержка сетевых технологий: Linux Bridge, OVN, Macvlan, SR-IOV.
▪️Incus может сам управлять IP адресами (IPAM) на базе dnsmasq, сам реализует NAT для выхода виртуалок и контейнеров во внешнюю сеть.
▪️Устанавливается поверх любой Linux системы, может запускаться в Docker.
Я установил Incus на одиночный хост с Debian 13. Установка максимально простая:
# apt install incus incus-base qemu-systemЕсли нужны только контейнеры, то пакет qemu-system можно не ставить. Это я установил только консольную службу. Без веб интерфейса. Его ставить необязательно. Для простых конфигураций можно очень легко обойтись без него.
➕ Отсюда сразу вытекает первый плюс по сравнению с Proxmox. Вы можете как угодно подготовить хост в плане дисковой подсистемы и окружения. Это помимо того, что Incus более легковесный.
После установки нужно выполнить инициализацию. Для управления Incus можно создать отдельного пользователя и запуcкать всё от него, но я всё сделал от root:
# incus admin initВам зададут несколько вопросов на тему сети и хранилища. Я выбрал настройки по умолчанию: обычный bridge с именем
incusbr0 и хранилище в локальной директории, по умолчанию это /var/lib/incus/storage-pools. Теперь можно посмотреть, какие готовые образы мы можем использовать:
# incus image list images:Образов много. Более конкретно можно посмотреть так:
# incus image list images:debian# incus image list images:alt# incus image list images:ubuntuи т.д.
Запустим контейнер:
# incus launch images:debian/13 debian-ct --storage defaultОн будет автоматически подключен к
incusbr0, ему будет выдан IP адрес из диапазона внутренней сети, он будет иметь доступ к интернету. Зайти в контейнер можно так:# incus exec debian-ct -- bashТо же самое для виртуальной машины Ubuntu или Alt:
# incus launch images:ubuntu/noble ubuntu-vm --vm --storage default# incus launch images:alt/Sisyphus alt-vm --vm --storage defaultЗаходим в виртуалки так же:
# incus exec ubuntu-vm -- bashДругие полезные команды:
# incus ls# incus info ubuntu-vm# incus profile show default# incus storage list# incus network listДля управления простой конфигурацией веб интерфейс не особо нужен, так как тут через консоль хоста и так проваливаешься во внутреннюю консоль как контейнера, так и виртуалки, если использовать встроенные образы, а не внешние ISO.
На веб интерфейс уже не осталось лимита по длине, так что вынесу его в вечернюю публикацию. Там же и подведу итоги.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX
#incus #виртуализация


