Разворачиваем Home Assistant на виртуальной машине на железе Synology

14 февраля 2021, 19:29

Приветствую, уважаемые читатели. К написанию данной статьи меня сподвигли недавно обнаруженные проблемы с запуском аддонов Hassio, установленного в Docker самого NASа. Если кто не в курсе проблемы, при старте контейнера можно получить следующую ошибку: 

500 Server Error for http docker://localhost/v1.39/containers/f287dec4cd768bdfef61372ed32848cf3cea5a50cb6e5bc33486454673b010fa/start: Internal Server Error (“OCI runtime create failed: container_linux.go:345: starting container process caused “exec: “/dev/init”: stat /dev/init: no such file or directory”: unknown”)

Некоторым помогало откатить версию супервизора до 2021.01.7, но к сожалению, я не из их числа. После этого я пробовал обновить докер до 20 версии с помощью кастомного скрипта, но это тоже не увенчалось успехом. После разворачивания бэкапа, я получал ошибку о нехватке памяти на диске, хотя ее там было достаточно много. Было принято решение переехать временно в виртуальную машину с образом Home Assistant Supervised, который, кстати, имеется на официальном сайте HA и вполне себе официальный способ установки. Итак, приступим.

Ставим необходимые пакеты

Для начала необходимо перейти в «Центр пакетов» своего NASа и установить Virtual Machine Manager. Сделать это можно в классическом веб-интерфейсе платформы:

1600x_image.png?1613324129

Все необходимое ПО, которое предложит пакет, также ставим. После этого переходим к созданию бекапа.

Делаем снимок HA со всеми конфигами

Воспользуемся штатным созданием бекапов в Home Assistant. Идём в Supervisor - Snapshots и жмём на кнопку «Create». При этом должна быть выбрана опция Full snapshot, дабы не потерять никаких данных:

1600x_image.png?1613324938

Не страшно, если у вас есть нерабочие контейнеры, в виртуалке они все равно будут работать.

Сохраняем бекап

Теперь идём в веб-интерфейс Synology в папку, где хранятся ваши конфигуратор от HA. И из папки backups копируем только что созданный бекап куда-нибудь в другое место вашего NASа, можно даже скачать его себе на локальный ПК, дабы было проще его заливать в виртуалку.

1600x_image.png?1613325452

Отключаем старый инстанс HA

Тут у вас есть два пути - можно временно остановить контейнеры с нерабочим Home Assistant, либо вообще полностью его удалить, если вам важно иметь свободное место. Учесть надо то, что при разворачивании виртуальной машины вам будет необходимо минимум 32 гигабайта свободного дискового пространства. Идём в центр пакетов Synology, и в установленных находим пакет Hass.io:

1600x_image.png?1613325453

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

1600x_image.png?1613326405

Скачиваем необходимый образ с оффсайта

На страничке с установкой HA в виртуальную машину есть несколько вариантов под различный софт, но нам необходим файл с расширением .ova. Проще всего скопировать на него ссылку и скачать средствами самого Synology. Так и быстрее получится, и меньше телодвижений нам придётся сделать. Ждём успешного завершения скачивания и переходим дальше.

Разворачиваем образ виртуальной машины

После всех проделанных манипуляций, идем в меню запуска приложений и нажимаем на установленный Virtual Machine Manager. Программа при-апексе потребует от вас запустить несколько вспомогательных сервисов. Соглашаемся со всем и в результате, через некоторое время, увидим перед собой следующее окно:

1600x_image.png?1613326405

Идём в раздел «Виртуальная машина» и выбираем пункт импорт.

1600x_image.png?1613326997

В открывшемся окне выбираем импорт из файла OVA и жмём далее.

1600x_image.png?1613326997

Теперь необходимо выбрать файл образа, который мы скачали. Либо это будет ваш ПК, либо сам Synology.

1600x_image.png?1613327162

Выбираем диск, на котором будут храниться основные данные виртуальной машины.

1600x_image.png?1613328002

Называем свою виртуальную машину так, как вам будет удобно, и выставляем, какое максимальное количество ресурсов мы выделим свежесозданной виртуалке. Минимальные требования, по мнению создателей ХА - одноядерный процессор и два гигабайта оперативной памяти.

1600x_image.png?1613327999

В следующем окошке жмём на шестеренку и выбираем Sata контроллер или следующий за ним.

1600x_image.png?1613328002

В следующем окне можно ничего не менять, хотя некоторые говорят, что для более быстрой работы лучше выставить модель контроллера «virtio» для увеличения быстродействия.

1600x_image.png?1613328002

В следующем окне выставляем:

  • Автозапуск: да
  • BIOS: UEFI
  • Контроллер USB: выставить «да» и выбрать нужные устройства, если у вас имеются Zigbee стик или что-то другое, необходимое в HA.

1600x_image.png?1613328502

Жмём далее и выбираем пользователей, которые будут иметь доступ к виртуалке, и на следующей страничке выставляем галочку включения виртуалки после ее создания, после чего выбираем «применить».

1600x_image.png?1613328503

Если все прошло успешно, то вы увидите вот такую картину:

1600x_image.png?1613329270

Через 10-15 минут, если все прошло успешно, вы можете зайти на свой роутер и найти там новое подключенное устройство с выданным IP-адресом. Это и будет созданная виртуальная машина. Далее заходим классическим методом в новый инстанс HA, как это делали в самом начале настройки старого Home Assistant, производим базовую настройку, необходимо поставить аддон Samba и залить бэкап старого конфига HA, после чего восстановиться с него.

P.S.

Жор ресурсов в этом режиме будет несколько большим, чем при работе HA в докере, но нам ведь надо срочно восстановить работоспособность умного дома, а этот вариант очень хорошо подходит под наши задачи.


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. (jakovbutko)
    (jakovbutko) 5 месяцев назад
    Эх скорейбы выпустили 7ку, а вместе с ней глядишь и весь софт обновят. Hassio уже давно ругался на докер.

  2. Павел Ник (bj_tracer)
    Павел Ник (bj_tracer) 5 месяцев назад

    В аппсторе синолоджи есть нативный ХА, который ставится без виртуалок и докеров.

    Возможно, чтобы увидеть его, потребуется подключить репозиторий сторонних разрабов сино, но факт наличия версии без бубнов присутствует ;)))

    Я сам его ради интереса ставил оттуда.

    • Александр Жабунин (OXOTH1K)
      Александр Жабунин (OXOTH1K) 5 месяцев назад

      Речь о том, что нативный хассио на докере как раз работать почти перестал. О чем и писалось в начале)

      • Павел Ник (bj_tracer)
        Павел Ник (bj_tracer) 5 месяцев назад

        при чем тут докер?
        в аппсторе это не образ для докера, а самостоятельный сервис, который в процессах самого наса болтается, запускается как демон

  3. (igor.l)
    (igor.l) 5 месяцев назад
    Как по мне Home Assistant Container идеальное решение для nas. Супервизор не к чему вовсе.
  4. (igor.l)
    (igor.l) отредактировано 5 месяцев назад
    Комментарий удален
  5. Никита Кулагин (Nikitacoolagin)
    Никита Кулагин (Nikitacoolagin) 5 месяцев назад

    Опередил со статьёй. Я в субботу тоже переехал, начал статью накидывать. Думал сегодня оформить :). Не успел. Спасибо за развернутый материал. 

  6. Геннадий Куракин (Onag)
    Геннадий Куракин (Onag) 5 месяцев назад

    Ребят, я что то не понял. У меня в Synology стандартный hass.io работает как часы. Что я делаю не так? Месяца 3 назад была проблема, покурил мануалы, добавил одну строчку в какой-то файл yaml и все продолжилось обновляйся как и раньше.

    • (exotsk)
      (exotsk) отредактировано 5 месяцев назад

      Если бы не было проблем, не было бы этой статьи. В синьке докер не обновляется, и при принудительном обновлении вылазит проблема драйвера хранения, в общем не работает. Апп для докера с названием Hass.io - для докера и минимальная требуемая версия у него сейчас 19. Проблему которую ты исправил это выключить проверку минимальных требований. После последнего обновления супервайзера ушли в небытие аддоны  esphome, googlebackup, mosquitto и еще куча. Докер не может их запустить. Новые версии аддонов требуют новый супервайзер. Так что пока докера нового не будет, это дорога в никуда для такой конфигурации хоумассистанта.

  7. (SD23)
    (SD23) 5 месяцев назад

    Я уже второй год в варианте виртуальной машины использую. Память пришлось добавить в nas. Есть много плюсов этого варианта. Например, разделил сети для УД и остальных устройств. 

    • (exotsk)
      (exotsk) отредактировано 5 месяцев назад

      сколько памяти надо ? 

      у меня всего 4, я 2 гига отдал машине, 2 осталось насу, везде поставил virt, но тормозило безбожно. в итоге вернулся на докер.

      • (SD23)
        (SD23) 5 месяцев назад

        Памяти поставил 8. Но под ХА 2 отдал. После всех экспериментов никаких virt.  

  8. (IzzoBar)
    (IzzoBar) 5 месяцев назад

    Сделал все по инструкции, работает. Теперь вопрос, как попасть из внешней сети в НА (и подключить к нему приложение). Syno смотрит во внешнюю сеть через DMZ на роутере. В виртуальной машине НА имеет какой-то виртуальный IP, отличный от IP Syno. Как на этот адрес попасть?

    • Александр Жабунин (OXOTH1K)
      Александр Жабунин (OXOTH1K) 5 месяцев назад

      Виртуалке должен выдаться IP из подсети роутера. У меня так по крайней мере.

      • (IzzoBar)
        (IzzoBar) 5 месяцев назад

        Так и есть, но как именно мне настроить внешний доступ к этой виртуалке, пробрасывать через роутер отдельные порты?

  9. (PORGY3000)
    (PORGY3000) 5 месяцев назад

    Наконец то все работает и все в одном месте. И весь HA можно забэкапить автоматом. Ура !

  10. Serge Kushnarov (Sergek)
    Serge Kushnarov (Sergek) 4 месяца назад

    Отличная статья!
    Спасибо все получилось!!

  11. (DimChik2903)
    (DimChik2903) 3 месяца назад

    А у меня такая проблема: https://xpenology.com/forum/to... Никто не сталкивался?

  12. (andovgan)
    (andovgan) 3 месяца назад

    Статью прочитал уже после манипуляций, методов тыка и прочее.. Всё получилось но, остался открытым вопрос как получить доступ к файлам хранящимся на nas (музыка, видео и пр) из home assistant установленным таким образом. Он видит папку media и её содержимое а хотелось бы медиатеку.?

К списку статей

Тематические чаты

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
25 сентября 2020, 11:49
Сенсорный монитор для управления умным домом. Настройка и использование.
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
29 октября 2019, 07:59
Умный домофон на базе nodeMCU с прошивкой ESPHome.