В проекте уже есть три разных типа данных
Такой разнос делает систему понятнее: заполнение архива камер не должно внезапно оставить без места Home Assistant, а переустановка VM не должна затронуть историю видеонаблюдения.
Применить расчёт к своей системе: калькулятор видеоархива. Он учитывает режим записи, битрейт, срок и свободный резерв.
Сначала считаю поток, потом терабайты
Для непрерывной записи исходная величина — фактический битрейт камеры. В грубом расчёте каждый 1 Мбит/с постоянного потока — это около 10,8 ГБ в сутки. Дальше умножаю на число камер и нужное количество дней хранения.
Этот расчёт намеренно делаю до выбора диска. Иначе легко купить «4 ТБ, потому что много», а затем обнаружить, что при текущем битрейте и количестве камер это совсем не тот срок архива, который ожидался.
Непрерывный архив и события — не одно и то же
NVR полезен как скучный и предсказуемый регистратор: пишет камеры постоянно и циклически перезаписывает старое. Frigate решает другую задачу — понимает события и помогает сохранить именно тот фрагмент, который потом нужен человеку.
В рабочем контуре «Дом без магии» эти роли разделены. Непрерывная запись остаётся отдельным слоем, а для важных событий создаются короткие клипы: человек у калитки, открытие ворот, обнаружение автомобиля. Это уменьшает время поиска и не заставляет вручную листать многочасовую ленту.
Почему отдельный HDD под события удобен
У событийного архива есть своя политика: папки по дням, понятные имена файлов и циклическое удаление при заполнении. Его можно открыть по локальной сети с телефона, а удалённо — через VPN. Такой архив должен оставаться простым файловым хранилищем, а не зависеть от интерфейса одного конкретного NVR.
Отдельный диск также изолирует интенсивную запись от системного SSD. Даже если объём событий со временем вырастет, это не должно влиять на место, которое нужно Proxmox и виртуальным машинам.
Что проверяю у HDD
- SMART и отсутствие растущих переназначенных/нестабильных секторов;
- температуру в реальном месте установки;
- ошибки файловой системы после аварийных отключений;
- предсказуемое монтирование после перезагрузки;
- скорость не в синтетическом тесте, а во время одновременной записи и чтения клипа;
- работу политики удаления до того, как свободное место станет нулём.
SSD и NVMe: где они действительно полезны
Для VM и баз данных SSD даёт то, что HDD дать сложнее: низкие задержки при большом количестве небольших операций. NVMe имеет ещё больший запас производительности, но в домашнем сервере часто раньше упираешься в объём RAM, интерфейсы или охлаждение, чем в последовательную скорость хорошего SATA SSD.
Поэтому NVMe не покупаю «для Frigate потому что быстрее». Сначала определяю, какой именно поток данных должен туда попасть и почему HDD с ним не справится.
Запас свободного места — часть архитектуры
Циклическая запись должна удалять старые данные заранее. Если логика очистки срабатывает только на 100% заполнения, ошибка в одном процессе способна остановить другой. Я оставляю технический запас и отдельно контролирую свободное место.
Для событийного архива это особенно важно: лучше удалить самый старый клип по понятному правилу, чем потерять свежую запись именно в момент события из-за ENOSPC.
Что не является резервной копией
RAID, второй раздел того же диска и ещё одна папка на том же сервере не защищают от всех сценариев. Резервная копия конфигураций и действительно важных файлов должна иметь отдельную судьбу: другой носитель, другой хост или внешний контур.
Кандидаты проекта
Минимальный тест перед переносом архива
- проверить SMART и файловую систему;
- смонтировать диск по стабильному идентификатору;
- перезагрузить сервер и убедиться, что путь появился автоматически;
- записать тестовые клипы параллельно с обычной работой Frigate;
- открыть их по SMB/VPN тем же способом, которым архив будет использоваться каждый день;
- проверить автоматическое удаление старых данных.
Продолжить
Дальше — реальная схема событийного архива и разбор самого N100-сервера.
