45. Установка Home Assistant на Proxmox.

Как уже было сказано в самом начале цикла про Home Assistant, есть несколько вариантов развёртывания этой системы. Рассмотрим поближе каждый из них и выберем наиболее подходящий.Итак, перед нами непростой выбор


- Operating System - Устанавливаем на голое железо или в качестве виртуальной машины, запускаем, готово. Все фичи и плюшки на месте. Рекомендован разработчиками. Минус - виртуальная машина более затратна для ресурсов чем Docker.

- Container - Установка в контейнер Docker. Также рекомендован разработчиками. Минус - нет Supervisor.

- Core - Требует установки окружения Python (которое тоже должно в чём-то работать). В него устанавливается Home Assistant. Минус - нет Supervisor.

- Supervised - Установка в контейнер Docker, но уже с Supervisor в комплекте.

Supervisor позволяет отслеживать и контролировать дополнения и операционную систему из самого Home Assistant. 

Здесь и далее по тексту, для удобства, Docker будет подразумевать контейнер и наоборот. По аналогии Xerox = копировальная машина.


 

На сайте analytics.home-assistant.io можно посмотреть статистику установок по типу и версиям системы.

Итак, установка в докер выглядит максимально щадящей к аппаратным ресурсам. Однако, для управления оркестром из нескольких контейнеров необходимо много опыта, и это не самая тривиальная задача. Т.к. каждое дополнение используемое в ХА можно засунуть в отдельный контейнер, то настраивать связи между контейнерами это отдельное "удовольствие".

Установка самой среды языка Python достаточно интересное занятие, когда в наличии много времени и хочется набраться опыта для администратора-разработчика. Но этот способ развёртывания не самое подходящее решение для большинства пользователей.

Остаётся только вариант с полноценной операционной системой. Но, т.к. ставить её на голое железо минипк было бы непозволительным расточительством ресурсов, будем развёртывать внутри гипервизора проксмокс.

Желаемой цели можно достичь двумя способами:
  1. Запустить команду, которая всё делает автоматически.
  2. Сделать все те же действия самостоятельно вручную.
Начнём от простого к сложному 😀

Автоматическая установка виртуальной машины с Home Assistant.

Открываем консоль проксмокс любым из доступных способов, и пишем следующую команду:
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm.sh)"
Скрипт автоматически ищет, скачивает и распаковывает последний официальный образ KVM (QCOW2), предоставленный разработчиками Home Assistant. Создаёт виртуальную машину с настройками железа по умолчанию - 4ГБ RAM 32Гб диском и 2 процессорами. Импортирует и прикрепляет диск, устанавливает порядок загрузки и запускает её. Никаких скрытых установок не производится. Установка поддерживает LVMTHIN, ZFSPOOL, NFS, DIR и BTRFS системы.



Если дефолтные настройки устраивают, то нажимаем "да" и ждём окончания процесса установки. Кстати, опции виртуального железа (процессоры, диски, память) можно изменить и после установки.


По завершении можно открывать веб интерфейс ХА и переходить к обычным настройкам или восстановлению из резервной копии. Однако перед этим не стоит забывать про темплэйт.

Какой есть минус у данного способа?
Если автор скрипта внесёт в него какие-то изменения или сменит адрес и/или имя файла скрипта, то он может перестать работать. А так же, если в новой версии гипервизора произойдут какие-то изменения, или выйдет новая версия Home Assistant. Поэтому рассмотрим второй, классический способ установки.

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

Для начала необходимо скачать соответствующий образ Home Assistant с домашней странички www.home-assistant.io/installation/alternative выбрав версию для проксмокс.
После чего распаковать файл образа и сменить ему расширение с  .qcow2 на .img.
Теперь его можно загрузить в хранилище образов.

Создаём виртуальную машину (кнопка справа сверху).

Операционная система Линукс, без носителя


На следующей вкладке включаем агента QEMU.

Диски удаляем. Это окно должно остаться пустым


Для процессора выделяем 1 сокет и 2 ядра.

Памяти достаточно будет и 4Гб

С сетью пока не делаем ничего, переходим к подтверждению и создаём машину. Пока что её не запускаем.

Теперь необходимо импортировать загруженный ранее образ в только что созданную виртуалку. Для этого выполняем команду импорта, заменяя версию файла в его названии, идентификационный номер виртуальной машины и путь к хранилищу, на свои.
qm importdisk <VMID> /var/lib/vz/template/iso/haos_ova-9.4.img <STORAGE_LOCATION> 
Красным цветом выделены вещи, которые надо заменить на свои, актуальные.

В рассматриваемом примере, это первая виртуальная машина в текущем гипервизоре, поэтому её идентификационный номер будет 100. Текущая версия ХА ОС на момент написания статьи - 9.4, этот же номер фигурирует и в имени файла. Для проверки импорт будет произведён в хранилище local-lvm. Поэтому для конкретно этого случая команда будет выглядеть так:
qm importdisk 100 /var/lib/vz/template/iso/haos_ova-9.4.img local-lvm 



После запуска, команде займёт несколько секунд скопировать данные

Выбираем в свойствах машины импортированный диск и нажимаем редактировать-> добавить.


Теперь добавим EFI диск. Выбираем хранилище EFI и убираем отметку с pre-enroll keys.




Теперь меняем тип BIOS на OVMF (UEFI)



Переходим в параметры виртуальной машины и меняем порядок загрузки, выбрав scsi0 и отключив другие варианты. Здесь же, в параметрах, можно включить запуск этой виртуалки во время включения проксмокса.



На этом настройка завершена. Можно запускать машину.


Далее будет произведена стандартная установка Home Assistant, развёртывание займёт от 2 до 5 минут.


На этом установка завершена. Не забываем создать шаблон и/или включить резервное копирование.

Комментарии