
В TrueNAS 25.04.1 неожиданно вместо виртуальных машин появился раздел Instances. Как я понял, это была странная попытка перевода виртуальных машин на incus
.
Incus — это форк проекта LXD, который был создан после того, как компания Canonical объявила о прекращении активной разработки и поддержки LXD в версии 4.0. Incus — это современная, безопасная и мощная система управления контейнерами и менеджер виртуальных машин, предлагающая удобный и высокоуровневый интерфейс для работы с контейнерами, основанными на технологии LXC. Он поддерживает контейнеризацию, виртуализацию, сетевые и хранилищные настройки, а также предоставляет REST API для автоматизации и интеграции. Incus стремится быть открытым и независимым от Canonical, сохраняя совместимость с LXD.
Попытка была именно странная и неудачная. Как я понял, идея была именно в том, чтобы заменить все виртуальные машины, поставить их на новые рельсы. Уже в версии TrueNAS 25.04.2 здравый смысл победил и виртуальные машины вернулись. Так что не спешите обновляться на TrueNAS 25.04.1, лучше прыгнуть сразу на TrueNAS 25.04.2, тогда все виртуальные машины останутся с вами.
А проект с incus под капотом преобразовался в раздел Containers (Experimental), и тоже остался. При этом внутри можно создавать и контейнеры и виртуальные машины.
Странность попытки перехода на Incus состояла в том, что веб-интерфейс по управлению контейнерами и виртуальными машинами был недоработан. Не хватало... да ничего не хватало. Не было возможности управления хранилищем, нельзя расширить место в системном разделе, не было снапшотов, бэкапов. Вернее, всё это было, но только через консоль.
Понятно что фича экспериментальная, однако зачем нужно было уничтожать виртуалки, непонятно.
Создание инстанса в TrueNAS
Заходим в раздел Instances. Сейчас там ничего нет.

Справа вверху видим, что не выбран пул, следует его выбрать. Select Pool.

Выбираем хранилище и сетевой интерфейс по умолчанию. Выбираю свой единственный массив и мост br0.
Настройка сетевого моста в TrueNAS
Save. Настройки обновляются.

Теперь стал доступен новый функционал. Create New Instance — создадим инстанс.

Открывается мастер создания инстанса. На первом этапе нам нужно определиться, что именно мы хотим создать: контейнер или виртуальную машину. Контейнеры и виртуальные машины (ВМ) — это технологии виртуализации, но работают они принципиально по-разному.
- Контейнеры — легковесные, быстрые, но менее изолированные. Если нужно запустить 100 копий веб-сервера → контейнеры (Docker/K8s).
- Виртуальные машины — полная изоляция, но тяжелые и медленные. Если нужно изолированно запустить Windows на Linux → ВМ (VirtualBox/KVM).

Выбираю виртуальную машину, VM. Указываю имя.

Забегая вперёд. Первый раз после попытке создания инстанса я получил ошибку:
[EFAULT] Failed creating instance record: Instance type "virtual-machine" is not supported on this server: KVM support is missing (no /dev/kvm)

Ошибка связана с тем, что я забыл включить в BIOS поддержку виртуализации. В зависимости от процессора и материнской платы опция поддержки виртуализации может называться по-разному.
- Intel: Intel Virtualization Technology (VT-x)
- AMD: AMD-V / SVM Mode
- Общие названия:
- Virtualization Technology
- VT-d (для IOMMU, если нужна сквозная передача устройств)
- Hyper-V (на некоторых материнских платах)
Включаю виртуализацию и продолжаю.

В качестве образа виртуальной машины можно использовать встроенный образ с linuxcontainers.org или загрузить свой ISO. Я для демонстрации использую первый вариант. Browse Catalog.

Выбор вариантов большой. Возьму Debian bookworm, это Debian 12. Select.

Образ выбран.

Выделяем необходимое количество CPU и памяти. Я выделяю 2 ядра и 2 GiB памяти.

Выбираем тип хранилища, можно выбрать быстрый NVMe. Пусть будет 10 ГБ. Примечательно, что потом добавить место можно только через консоль.

Сеть, ставим галку на использование сети по умолчанию. Это наш сетевой мост. USB устройства пропускаю, не требуются.

GPU пропускаю, PCI Passthrough пропускаю, VNC пропускаю, Security не требуется. Create.

Инстанс создаётся.

Виртуальная машина с выбранным мной именем mpzabbix
создана и запущена.

Из коробки имеем shell, можем зайти и выполнить первоначальную настройку.

Как минимум я устанавливаю open-ssh.

Ещё несколько движений и к виртуалке можно подключиться по SSH из локальной сети.

Заключение
Новый функционал очень сырой. Рекомендуется его использовать только в экспериментальных целях. В веб-интерфейсе самый минимум управления и его не хватает для полноценной работы. Однако, через консоль можно прекрасно управлять инстансами incus
. Я в консоли протестировал создание и восстановление снапшотов, а также клонирование виртуальной машины. Всё отработало без ошибок. Ещё один минус — отсутствие возможности отслеживать занятое место, которое ушло именно под инстансы, а также невозможность из веб-интерфейса управлять размером выделенного диска.
Кстати, после создания инстанса из готового образа файловая система занимает не всё выделенное место, а только минимум. Вам придётся расширить партиции и файловую систему вручную.