Резервное копирование Home Assistant на NAS (Samba / CIFS)
Рассматривается настройка резервного копирования Home Assistant на сетевое хранилище (NAS) по протоколу Samba (CIFS). В качестве примеров приводятся два сценария: Samba-хранилище на Netcraze (Keenetic) и Samba-хранилище в Yandex Cloud.
В Telegram-канале @iot7m_ru публикуются практические заметки по Home Assistant: опыт эксплуатации устройств, интеграция с различным оборудованием, создание дашбордов и разбор типовых проблем. Многие материалы основаны на реальных запросах и консультациях. Подпишитесь на @iot7m_ru, если используете Home Assistant на практике.
Введение
Резервное копирование — один из ключевых элементов надёжной эксплуатации Home Assistant. Даже при корректных обновлениях и стабильной работе системы всегда остаются риски: сбой носителя, повреждение файловой системы, ошибка пользователя или неудачное обновление интеграций. В таких ситуациях именно резервная копия позволяет быстро вернуть систему в рабочее состояние.
Хранение резервных копий за пределами самой системы существенно снижает эти риски. Вынесенный backup не зависит от состояния хоста, SD-карты или SSD, на котором запущен Home Assistant, и остаётся доступным даже при полном отказе устройства.
В этой статье рассматривается использование сетевого хранилища по протоколу Samba (CIFS) для создания резервных копий Home Assistant. В качестве практических примеров используются два сценария:
- Samba-хранилище на Netcraze (новый бренд Keenetic)
- Samba-хранилище в Yandex Cloud
Базовые принципы резервного копирования, состав резервных копий и особенности механизма Backup & Restore в Home Assistant описаны в статье Backup & Restore в Home Assistant: как сделать резервную копию и восстановление.
Как Samba используется в Home Assistant
Samba (CIFS/SMB) — это сетевой протокол для совместного доступа к файлам, широко используемый в сетевых хранилищах (NAS), домашних и корпоративных сетях.
В контексте Home Assistant Samba используется как внешнее расположение для хранения резервных копий. Home Assistant подключается к сетевому хранилищу по протоколу Samba и сохраняет туда создаваемые резервные копии.
Samba не привязан к конкретному облачному провайдеру, поддерживается большинством NAS-устройств и серверных операционных систем и может использоваться как в локальной сети, так и через интернет при корректной настройке.
Домашнее Samba-хранилище на Keenetic
Некоторые модели интернет-центров Keenetic оснащены USB-разъёмами и поддерживают работу с внешними накопителями. При наличии USB-накопителя Keenetic может выступать в роли простого сетевого хранилища с доступом по протоколу Samba.
Типовой сценарий выглядит следующим образом:
- к интернет-центру Keenetic подключается USB-накопитель
- на интернет-центре Keenetic включается встроенный SMB-сервер
- при необходимости создаётся отдельный пользователь с доступом только к каталогу резервных копий
- в Home Assistant настраивается сетевое хранилище, указывающее на SMB-сервер Keenetic
Для подключения USB-накопителя достаточно вставить USB-диск в соответствующий порт интернет-центра Keenetic. После подключения совместимого накопителя устройство автоматически распознаётся и монтируется системой. Информацию о подключённом диске можно увидеть в веб-интерфейсе Keenetic в разделе «Приложения», где накопитель отображается как доступное хранилище. Если накопитель отображается в списке устройств, это означает, что USB-диск корректно подключён и может использоваться сервисами интернет-центра, включая файловый доступ по SMB.
Для включения SMB-сервера в интернет-центре Keenetic необходимо установить соответствующий компонент операционной системы KeeneticOS. Это выполняется в разделе «Параметры системы → Общие настройки → Обновления и компоненты», где добавляется компонент «Общий доступ к файлам и принтерам по протоколу SMB». После применения изменений устройство может быть перезагружено.
Далее в веб-интерфейсе Keenetic перейдите в раздел «Приложения» и откройте пункт «Сервер SMB». Здесь включается SMB-сервер, настраиваются параметры общего доступа и задаются пользователи, которым разрешён доступ к сетевым ресурсам. На этом этапе также выбираются каталоги на USB-накопителе, которые будут доступны по сети.
После настройки рекомендуется проверить работу SMB-сервера. Проверку можно выполнить с любого компьютера в локальной сети, например:
- в Windows — через проводник, указав путь
\\192.168.1.1 - в macOS — через Finder, пункт меню Go → Connect to Server, указав
smb://192.168.1.1 - в Linux и macOS — через терминал, выполнив команду
smbutil view //192.168.1.1
Команда выполняется от имени анонимного пользователя. В качестве адреса сервера используется IP-адрес интернет-центра Keenetic, чаще всего 192.168.1.1. Если список доступных ресурсов отображается корректно, это означает, что SMB-сервер настроен и готов к использованию.
Для повышения безопасности рекомендуется создать отдельного пользователя, предназначенного только для хранения резервных копий, и ограничить его доступ одним каталогом. Успешное выполнение проверок доступа является признаком того, что SMB-хранилище готово к дальнейшей настройке в Home Assistant. После этого можно переходить к подключению сетевого хранилища в системе.
Этот вариант хорошо подходит для домашних установок и для пользователей, которым важно хранить резервные копии под своим полным контролем.
Samba-хранилище в Yandex Cloud
Использование отдельного сервера в облаке позволяет хранить резервные копии вне дома или офиса. Такой подход удобен для крупных инсталляций Home Assistant, распределённых объектов или ситуаций, когда невозможно или нежелательно организовать надёжное хранение резервных копий на локальной инфраструктуре.
Типовой сценарий выглядит следующим образом:
- в Yandex Cloud создаётся виртуальная машина
- на ней настраивается SMB-сервер
- создаётся отдельный пользователь для доступа к каталогу, который в дальнейшем будет использоваться Home Assistant
- в Home Assistant настраивается сетевое хранилище, указывающее на SMB-сервер
Для организации SMB-хранилища в Yandex Cloud в первую очередь требуется создать виртуальную машину. Процесс создания и базовой настройки виртуальной машины подробно описан в официальной документации Yandex Cloud, а также в статье Установка Home Assistant Supervised на Debian: Supervisor и Add-ons без HAOS в разделе «Создание виртуальной машины».
Ниже приведён пример настройки SMB-сервера на Ubuntu 24.04. Установите Samba, клиентские утилиты и проверьте версию Samba:
sudo apt update
sudo apt install -y samba smbclient
smbd --version
Предполагается, что в системе уже существует пользователь ansible с домашним каталогом /home/ansible. В этом примере каталог пользователя будет опубликован по SMB и использован Home Assistant как сетевое хранилище.
Откройте файл /etc/samba/smb.conf и добавьте в самый конец следующий блок:
[my_share]
path = /home/ansible
browseable = yes
read only = no
guest ok = yes
force user = ansible
Примечание: параметр guest ok = yes включает гостевой доступ. Для реальной эксплуатации резервных копий обычно безопаснее отключить гостевой доступ и использовать аутентификацию по логину и паролю.Остановите файрволл, проверьте конфигурацию и перезапустите Samba:
sudo systemctl stop ufw
sudo testparm
sudo systemctl restart smbd
Проверьте подключение командами, которые описаны выше. Если команда выполняется успешно и вы получаете доступ к файловой системе сервера, это означает, что SMB-сервер настроен корректно и готов к использованию в качестве сетевого хранилища для Home Assistant. Для повышения безопасности рекомендуется воспользоваться рекомендациями поставщика Samba.
В любом случае успешное выполнение проверок доступа является признаком того, что SMB-хранилище готово к дальнейшей настройке в Home Assistant. После этого можно переходить к подключению сетевого хранилища в системе.
Samba-хранилище в Yandex Cloud хорошо подходит как основной или дополнительный уровень защиты резервных копий, особенно в сочетании с локальными вариантами хранения.
Подключение Samba-хранилища в Home Assistant
Перед тем как настраивать Samba-хранилище в Home Assistant, обязательно проверьте доступность SMB-порта (445) с того устройства и из той сети, где запущен Home Assistant. Для проверки доступности порта выполните команду через Web Terminal или с хоста, на котором работает Home Assistant. Ожидаемый успешный результат приведён ниже:
➜ /backup nc -vz example.com 445
example.com ([xxx:xxxx::xxxx:xxxx]:445) open
Если Samba-сервер находится вне локальной сети (например, в облаке или другом сегменте сети), многие интернет-провайдеры и маршрутизаторы блокируют исходящий TCP-порт 445. В этом случае Home Assistant не сможет подключиться к Samba-хранилищу, даже если сам сервер настроен корректно.
Если доступность порта подтверждена и сетевых ограничений нет, можно переходить к добавлению Samba-хранилища в Home Assistant. Для этого перейдите в интерфейсе: Настройки → Система → Хранилище → Добавить сетевое хранилище и заполните параметры:
- Название: например,
my_backup - Применение: Резервное копирование
- Протокол: Samba / Windows (CIFS)
- Сервер:
example.comили IP-адрес сервера - Общий ресурс: имя имя общего каталога из настроек Keenetic или SMB-сервера (например,
my_share) - Имя пользователя / Пароль: в зависимости от конфигурации Keenetic или SMB-сервера
Если всё настроено корректно, сетевое хранилище появится в списке, а в системе Home Assistant будет создана точка монтирования (например, /backup). Если подключение не удалось, для диагностики используйте Web Terminal в Home Assistant и выполните:ha host logs. В логах можно увидеть причину ошибки: сетевые таймауты, отказ в подключении, проблемы с аутентификацией или протоколом.
Важно учитывать, что добавление сетевого хранилища само по себе не включает использование этого хранилища для резервных копий. Чтобы резервные копии начали сохраняться на Samba-сервер, необходимо явно включить использование этого расположения: Настройки → Система → Резервное копирование → Настройки и история, в разделе «Расположения» включите сетевое хранилище с тем именем, которое вы указали при добавлении (например, my_backup). После этого автоматические резервные копии будут сохраняться во все включённые расположения. При ручном создании резервной копии можно выбрать конкретное расположение, указав, где именно должна быть сохранена копия — локально, на Samba или в нескольких местах одновременно.
Заключение
Использование Samba-хранилища — универсальный и надёжный способ вынести резервные копии Home Assistant за пределы системы.
Полезные ссылки
- Подключение USB-накопителя к Keenetic — подробно описано, как подключить и настроить USB-накопитель для работы с Keenetic
- Сервер SMB: доступ к файлам и принтерам — подробно описано, как включить и настроить Samba (SMB) на Keenetic
- Samba — сайт разработчиков Samba с документацией по настройке, эксплуатации и обеспечению безопасности SMB-хранилищ