В статье описан процесс установки Home Assistant OS (HAOS) в виртуальной машине на TrueNAS Core. Данное руководство отличается от официального тем, что мы будем использовать конвертацию образа на Windows и команду dd вместо qemu-img convert, так как TrueNAS Core не имеет встроенного qemu-img и его установка не рекомендуется для сохранения стабильности системы.

Что нам понадобится

  • TrueNAS Core (версия 12+ или 13).
  • Windows ПК для конвертации образа (или Linux).
  • Пул хранения с достаточным количеством свободного места на TrueNAS.
  • Образ HAOS формата QCOW2.
  • Утилита qemu-img для Windows или Linux.

Скачивание образа HAOS

Далее все операции с образом буду описывать на Windows, на Linux похожий процесс.

Скачайте актуальный образ HAOS в формате QCOW2 с сайта Home Assistant:

https://www.home-assistant.io/installation/linux

На момент написания статьи актуальна версия 17.3.

Распакуйте скачанный образ стандартными средствами Windows и поместите его в удобное для вашей работы место. Например: C:\qemu\haos_ova-17.3.qcow2.

Конвертация образа

TrueNAS Core не имеет предустановленной утилиты qemu-img, и устанавливать дополнительные пакеты в TrueNAS Core не рекомендуется — это может нарушить стабильность системы. Поэтому конвертацию образа мы выполним на другом компьютере.

Скачайте утилиту qemu-img с официального сайта: https://cloudbase.it/qemu-img-windows

Распакуйте архив в удобное место, например:

C:\qemu\

На Linux (линейки RedHat) можно установить командой:

yum install -y qemu-img

Конвертация QCOW2 в RAW формат

Откройте командную строку и выполните следующую команду (версию образа в команде указывайте свою):

"C:\qemu\qemu-img.exe" convert -p -f qcow2 "C:\qemu\haos_ova-17.3.qcow2" -O raw "C:\qemu\HAOS.img"

Где:

  • -p — показывает прогресс конвертации
  • -f qcow2 — исходный формат образа
  • -O raw — выходной формат (необработанный образ)

Важно: RAW образ занимает значительно больше места, чем сжатый QCOW2. Убедитесь, что на диске достаточно свободного места.

Перенос образа на TrueNAS

Скопируйте образ HAOS.img через SMB в каталог /root/temp/ на TrueNAS любым удобным для вас способом.

Создание Zvol

Теперь создадим zvol (блочное устройство) для нашей будущей виртуальной машины.

В веб-интерфейсе TrueNAS перейдите в раздел ХранилищеПулы.

Выберите пул, где будет размещаться диск виртуальной машины и напротив него нажмите на три точки, для открытия меню:

В открывшемся меню выберите Добавить zvol. Задаём название и указываем всё как на скриншоте, остальное не трогаем:

Размер рекомендуется 64-128 ГБ для комфортной работы. Вы указываете размер минимум на гигабайт больше созданного ранее образа, иначе он не поместится в Zvol.

Запомните путь к созданному zvol. Он понадобится в следующем шаге. В интерфейсе путь будет выглядеть примерно так (в моём случае): POOL-SSD/vm/HAOS. Но это не полный путь. Выполняя далее команду в начале пути надо будет подставить /dev/zvol/. Можете убедиться, что zvol находятся по пути, который начинается с этих каталогов. Полный путь будет равен (в моём случае): /dev/zvol/POOL-SSD/vm/HAOS

Запись образа на Zvol

Выполните команду для записи образа на zvol:

dd if=/root/temp/HAOS.img of=/dev/zvol/POOL-SSD/vm/HAOS bs=1M status=progress

Где:

  • if — входной файл (образ).
  • of — выходное устройство (zvol).
  • bs=1M — размер блока записи (1 мегабайт).
  • status=progress — показывает прогресс выполнения.

Пути указывайте свои.

Внимание: Будьте очень осторожны с этой командой — она записывает данные напрямую на блочное устройство. Убедитесь, что путь к zvol указан правильно, иначе вы можете потерять какие-либо данные.

Создание виртуальной машины

После успешной записи образа создадим виртуальную машину.

Переходим в раздел Виртуальные машины и добавляем виртуальную машину. Настраиваем как на картинках. Обязательно указать UEFI в методе загрузки.

Дальше жмём далее и отправить.

После создания виртуальной машины запустите её. Дождитесь загрузки системы — это может занять некоторое время.

Управление Home Assistant

Для управления HAOS откройте в браузере стандартный адрес, который должен быть вам доступен:

http://homeassistant.local:8123

Если система недоступна вам, то зайдите на виртуальную машину через VNC, чтобы получить её адрес, по которому можно подключиться к машине:

Откроется консоль в которой вы увидите адрес, по которому можно обратиться к машине:

В моём случае мне доступен интерфейс HAOS по адресу http://192.168.7.100:8123

Если у вас проблемы с VNC, то ещё раз проверьте настройки, с которыми вы создали виртуальную машину. Если не помогает, то проблема точно не в созданной машине, а в TrueNAS и здесь только вы сами себе сможете помочь.

Второй вариант получить IP виртуальной машины — перейти в настройки своего роутера и там посмотреть какой IP выделил роутер вашей машине.

Подключение устройств

Для подключения USB-устройств (Z-Wave Stick, Zigbee стик и т.д.):

  1. Перейдите в настройки виртуальной машины.
  2. Откройте вкладку Устройства.
  3. Нажмите Добавить.
  4. Укажите в типе устройства USB и выберите нужное устройство из списка.