Перейти к основному содержанию

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

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

truenas

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

truenas

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

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

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

truenas

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

truenas

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

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

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

truenas

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

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

truenas

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

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

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

nas

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

nas

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

nas

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

nas

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

nas

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

nas

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

nas

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

nas

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

nas

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

nas

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

nas

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

nas

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

nas

Заключение

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

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

Цены

 

Похожие материалы

Тестируем 10G SFP+ платы HP и Mellanox на серверах HP Proliant DL360 Gen9

Задача - проверить пропускную способность 10G сети между виртуальными машинами на разных гипервизорах.