Home Assistant занял всё место: как найти, что разрослось — Recorder, backups, apps или media
Home Assistant может месяцами работать нормально, а потом внезапно показать почти заполненный диск, начать дольше создавать резервные копии или вообще перестать обновляться. Частая причина — разросшийся Recorder, но не единственная: место могут занимать локальные backups, приложения, ESPHome build-файлы, media, базы отдельных сервисов и временные данные. Сначала нужно понять, какая категория съела storage, и только потом очищать.
Сначала выясните, что именно занимает диск
Settings → System → Storage
Посмотрите общий объём диска и свободное место. Если используется HAOS, это базовая точка для оценки заполнения локального накопителя.
Settings → System → Repairs → System information
В блоке Recorder есть Estimated Database Size. Там же для Supervisor можно увидеть общий Disk used.
Settings → System → Backups
Проверьте количество локальных копий, их размеры и retention.
Посмотрите установленные apps
Некоторые приложения хранят собственные базы, кэш, логи, модели, build-файлы или архивы.
Только потом чистите
Не удаляйте базу или системные файлы вслепую. Сначала определите источник роста.
Recorder хранит историю состояний и событий
Recorder записывает изменения сущностей и событий, которые затем используют History, Activity, графики и статистика. По умолчанию Home Assistant использует SQLite и файл home-assistant_v2.db в каталоге конфигурации.
Текущий default для purge_keep_days — 10 дней. Auto purge включён по умолчанию и запускается ночью. Home Assistant также автоматически выполняет periodic repack, чтобы SQLite действительно уменьшала размер файла после очистки.
Если у вас тысячи сущностей или часть датчиков меняет состояние каждую секунду, десять дней могут дать гигабайты записей.
Особенно быстро растут
- энергомониторы с частыми обновлениями мощности;
- Modbus-сенсоры с коротким polling interval;
- MQTT-сущности, публикующие постоянно меняющиеся значения;
- GPS/device_tracker;
- счётчики качества сети, RSSI, latency, uptime;
- датчики, у которых шумит последнее десятичное значение;
- интеграции с ошибкой, создающие слишком много state changes;
- тысячи сущностей, которые вообще не нужны в History.
Сравните размер базы с общим занятым storage
Именно поэтому не стоит автоматически удалять базу Home Assistant при любом сообщении «storage full».
Локальные backups могут незаметно занять весь накопитель
Home Assistant хранит локальные резервные копии на том же устройстве, если не выбрано другое место. Полный backup может включать:
- config;
- share;
- apps и их данные;
- ssl;
- media;
- базу Home Assistant, если она не исключена.
Поэтому одна крупная папка media, тяжёлое приложение или Recorder способны сделать каждую ежедневную копию огромной.
Что проверить
- сколько backups хранится локально;
- какой размер у последних копий;
- не увеличился ли backup резко после установки нового app;
- нужно ли включать media и share в каждую копию;
- есть ли внешнее место хранения — NAS или другое backup location;
- настроена ли retention policy.
Официальная документация Home Assistant рекомендует при необходимости отключать media и share из backup, потому что они могут сильно увеличивать размер и время восстановления.
Если резервная копия внезапно выросла в два-три раза
В свежих обсуждениях 2026 пользователи регулярно сталкиваются с ситуацией, когда backup за короткое время растёт с сотен мегабайт до нескольких гигабайт.
Проверяйте по порядку:
Apps могут занимать больше места, чем сам Recorder
ESPHome Device Builder
Сборки firmware и build artifacts способны накапливаться. Если storage растёт после частых compile, проверьте встроенную очистку build files.
MariaDB / PostgreSQL / InfluxDB
Если Recorder вынесен во внешнюю базу или отдельный app, размер SQLite уже не показывает весь объём исторических данных.
Frigate / камеры
Snapshots, clips и recordings могут быстро превратить небольшое HA-хранилище в видеорегистратор.
Whisper / Piper / voice
Локальные голосовые компоненты могут хранить модели и дополнительные данные.
Grafana / InfluxDB
История метрик в отдельной базе живёт по собственным retention-настройкам.
File editor / Samba / utility apps
Обычно небольшие, но ошибочные логи или временные данные тоже нужно исключить из диагностики.
Папки, которые забывают проверить
Пользователь часто смотрит только Recorder, но Home Assistant может хранить локальные media, voice-файлы, camera snapshots, downloaded content, временные экспорты и данные приложений.
Если эти данные попадают ещё и в регулярные backups, один и тот же объём начинает расходовать место дважды: как рабочие файлы и как несколько резервных копий.
Для больших архивов лучше отдельное NAS/NVR/storage, а Home Assistant оставить контроллером и интерфейсом.
Почему база не уменьшается сразу после очистки истории
В SQLite удаление старых строк из базы и уменьшение самого файла на диске — не одно и то же.
Home Assistant предоставляет действие Purge Recorder database. У него есть параметры:
- Days to keep — сколько дней подробной истории оставить;
- Apply filter — применить текущие include/exclude правила Recorder;
- Repack — физически переписать базу, чтобы вернуть освобождённые страницы диску.
Официальная документация Recorder требует иметь свободного пространства как минимум не меньше размера базы. На почти полностью заполненном диске сначала безопасно освобождают место другими способами.
По умолчанию Home Assistant выполняет auto purge каждую ночь и auto repack периодически. Поэтому если стандартные настройки не менялись, бесконечный рост базы обычно означает либо очень интенсивный поток данных, либо отдельную проблему.
Не записывайте историю того, что вам не нужно
Recorder поддерживает include/exclude по сущностям, доменам и шаблонам. Это полезнее, чем регулярно чистить гигантскую базу уже после роста.
Кандидаты на исключение
- служебные uptime-сенсоры;
- RSSI/LQI, если подробная история не нужна;
- часто меняющиеся диагностические значения;
- entities, которые никто никогда не смотрит в History;
- одноразовые debug-сенсоры;
- вспомогательные датчики интеграций с очень высокой частотой изменений.
Сначала решите, что нужно для History и долгосрочной аналитики, а что является техническим шумом.
Чтобы видеть годовой график, не обязательно хранить каждое состояние год
Одна из частых ошибок — увеличить purge_keep_days до 365 только ради долгосрочных графиков энергопотребления или температуры.
Home Assistant умеет хранить долгосрочную статистику для поддерживаемых сенсоров отдельно от подробной краткосрочной истории. Поэтому перед увеличением retention в десятки раз стоит проверить, действительно ли вам нужны все raw state changes за год.
Для датчика мощности, который меняется каждые несколько секунд, год подробной истории может дать огромное количество записей без реальной пользы.
Не переносите Recorder на MariaDB только потому, что SQLite стала большой
В актуальной документации Home Assistant именно SQLite остаётся default и recommended database engine. Современные версии оптимизированы для неё.
MariaDB, MySQL и PostgreSQL поддерживаются, но переход на другую СУБД не является автоматическим «ускорителем» и не решает плохую retention-политику.
Home Assistant отдельно предупреждает, что миграция существующей Recorder history между базами официально не поддерживается как простой штатный перенос.
Не начинайте с repack огромной базы
Recorder documentation указывает: для SQLite желательно иметь свободного временного пространства как минимум столько же, сколько занимает база. При некоторых recovery-сценариях требуется ещё больше.
Если диск почти заполнен, безопаснее сначала:
Через штатный интерфейс Backups.
Если вы уверены, что они больше не используются.
Например, ESPHome build files.
На NAS или другое хранилище.
Purge/repack без критического дефицита временного места.
Так вы потеряете историю. Если база действительно повреждена, это отдельный recovery-сценарий, а не обычная очистка storage.
Нормальная storage-политика Home Assistant
- оставить разумный purge_keep_days;
- исключить из Recorder шумные ненужные entities;
- контролировать размер Recorder через System information;
- держать несколько backups, а не бесконечную историю локально;
- сохранять хотя бы одну резервную копию вне самого HA-хоста;
- не включать media/share в каждый backup без необходимости;
- не хранить большой видеoархив на системном диске HA;
- периодически чистить ESPHome build files;
- следить за storage после установки новых apps;
- оставлять запас свободного места для updates, database repack и recovery.
Не путайте локальный диск HA и Network Storage
В Home Assistant 2026.9 появилась более заметная индикация заполнения подключённых сетевых хранилищ. Для network mount Home Assistant показывает used/total и меняет индикацию при высокой заполненности.
Это полезно для NAS, куда отправляются backups или media, но не заменяет диагностику локального диска самого Home Assistant. Локальный Recorder, apps и backups всё равно нужно проверять отдельно.
Что ещё пригодится
Storage почти заполнен и непонятно, что съело десятки гигабайт?
Пришлите скрин Settings → System → Storage и System information с блоками Supervisor и Recorder. Также полезны размеры последних backups и список установленных apps. Пароль Home Assistant, SSH-ключи и backup encryption key не нужны.
Частые вопросы про заполненный диск Home Assistant
Почему Home Assistant занял 20–30 ГБ?
Причиной может быть Recorder, локальные backups, app data, media, ESPHome build-файлы или отдельная база вроде InfluxDB/MariaDB. Сначала сравните Estimated Database Size с общим Disk used.
Сколько дней истории хранит Recorder по умолчанию?
На текущих версиях default purge_keep_days равен 10. Это не означает, что база всегда будет маленькой: размер зависит от количества и частоты изменений сущностей.
Почему после purge размер home-assistant_v2.db не уменьшился?
Удаление строк не всегда уменьшает SQLite-файл физически. Для возврата пространства используется repack. Home Assistant также выполняет автоматический repack по расписанию.
Можно ли запустить repack при заполнении диска на 99%?
Это плохая идея. Repack временно требует дополнительное место. Сначала освободите безопасный запас за счёт старых backups, ненужных apps или других данных.
Почему backup Home Assistant стал 5–10 ГБ?
Проверьте Recorder, apps и включённые folders. Full backup может содержать config, apps, share, ssl, media и базу данных. Один крупный компонент увеличивает каждую копию.
Стоит ли перейти с SQLite на MariaDB?
Не только из-за размера базы. SQLite сейчас является штатным и рекомендованным вариантом. Сначала оптимизируйте Recorder и retention.
Можно ли просто удалить home-assistant_v2.db?
Технически Home Assistant может создать новую базу, но вы потеряете историю. Для обычной очистки storage это не должно быть первым действием.
Как не потерять годовую статистику, если хранить подробную историю только 10 дней?
Поддерживаемые сенсоры могут использовать long-term statistics. Поэтому raw history и долгосрочная агрегированная статистика — не одно и то же.


