Найти в Дзене

TrueNAS — создаём инстанс

Оглавление

В 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. Сейчас там ничего нет.

-2

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

-3

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

Настройка сетевого моста в TrueNAS

Save. Настройки обновляются.

-4

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

-5

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

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

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

-7

Забегая вперёд. Первый раз после попытке создания инстанса я получил ошибку:

[EFAULT] Failed creating instance record: Instance type "virtual-machine" is not supported on this server: KVM support is missing (no /dev/kvm)
-8

Ошибка связана с тем, что я забыл включить в BIOS поддержку виртуализации. В зависимости от процессора и материнской платы опция поддержки виртуализации может называться по-разному.

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

Включаю виртуализацию и продолжаю.

-9

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

-10

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

-11

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

-12

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

-13

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

-14

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

-15

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

-16

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

-17

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

-18

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

-19

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

-20

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

-21

Заключение

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

Кстати, после создания инстанса из готового образа файловая система занимает не всё выделенное место, а только минимум. Вам придётся расширить партиции и файловую систему вручную.

Источник:

TrueNAS — создаём инстанс | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу. Пишите комментарии, задавайте вопросы, подписывайтесь.