- Главная
- Техинфо
- Инструкции по настройке Ubiquiti
- UniFi Video
- UniFi Video — Опции резервного копирования
Нажимая на кнопку, вы даете свое согласие на
обработку персональных данных
Нажимая на кнопку, вы даете свое согласие на
обработку персональных данных
24.04.2017
В данной статье описаны различные опции резервного копирования записей UniFi Video - для Windows, и для Linux (аппаратное устройство NVR).
Перед тем, как двигаться дальше, хотим предупредить Вас о существовании нескольких "подводных камней" (см. ниже).
Видеофайлы имеют большие размеры. Резервное копирование за пределы площадки будет затруднительным без достаточно большой скорости выгрузки и может потребовать на обеих сторонах широкополосного доступа (то есть для выгрузки с площадки, на которой установлен NVR и загрузки в хранилище данных за пределами площадки). С этой точки зрения, одна камера UVC-G3 имеет максимальную скорость передачи данных 6 мбит/с. Если запись постоянно ведется на максимальной скорости передачи с одной камеры, необходимо по меньшей мере 6 мбит/с при выгрузке, чтобы получить резервную копию без потерь данных.
Для хранения резервной копии нужно хранилище данных такого же размера, что и копия (отношение 1:1). Если на устройстве NVR максимальный объем записи составляет 1 ТБ, то для резервного копирования Вам потребуется хранилище данных такого же размера.
Могут быть ситуации, когда Вы будете записывать данные быстрее, чем идет перемещение данных при резервном копировании. Перед тем, как начинать резервное копирование, рассмотрите скорости работы сети и протоколы передачи данных. И снова, учитывая пункт #1, получается, что при постоянной записи с десяти UVC-G3 на полной скорости, на площадке устройства резервного копирования потребуется пропускная способность не менее 60 мбит/с.
IOPS, IOPS и еще раз IOPS (число операций ввода-вывода в секунду). Устройство хранения данных может писать и читать данные с определенной скоростью. Когда идет резервное копирование, скорость чтения значительно снижается. Рекомендуется использовать утилиты, ограничивающие полосу частот, но при этом надо учитывать пункт #3; необходима тонкая балансировка.
Безотносительно к используемой операционной системе (ОС), Вы можете быстро отыскать местоположение Вашего хранилища данных, посмотрев журнал в UniFi Video:
В Windows задано по умолчанию: C:\ProgramData\unifi-video\videos
В Linux задано по умолчанию: /var/lib/unifi-video/videos
В airVision-C/UVC-NVR по умолчанию задано: /srv/unifi-video/videos
Несмотря на то, что в нынешней версии Windows, к счастью, имеется возможность установить родной NFS-клиент, Вам следует рассмотреть использование диска с USB 3.0 (предполагается также, что Ваш сервер имеет не менее одного порта USB 3.0). NFS-клиент существенно быстрее в сравнении с Samba (служба совместного использования файлов Windows), но Microsoft не включает этот протокол в версии Windows с урезанным функционалом. Например, в Windows 7, 8.1 и 10, чтобы присутствовал NFS-клиент, необходима лицензия уровня предприятия (Enterprise) (для Windows 10 - Enterprise/Pro). Samba обладает наиболее дружественным пользовательским интерфейсом, проста в установке, но накладывает некоторые ограничения на скорости передачи.
Простой метод для Windows:
Пакетный сценарий должен выглядеть примерно так:
xcopy /E C:\ProgramData\unifi-video\videos\* “D:\UFV Backup\”
К счастью, в дистрибутивах Linux имеется и NFS, и iSCSI (может потребоваться их установка). Имеется несколько руководств, в которых приведена начальная информация по установке:
Добавление iSCSI: UniFi Video - Как добавить сетевой том в устройство NVR (Шаги 1-12)
Добавление USB: UniFi Video - Как добавить внешний жесткий диск в устройство NVR (Шаги 1-11)
Если Вы делаете это на airVision-C or UVC-NVR, то затем Вам потребуется выполнить шаг #13 из первой статьи или шаг #12 из второй статьи.
Если Вы делаете это на машине под Linux, но не на airVision-C или UVC-NVR, то затем Вам потребуется использовать /etc/fstab. В типичном случае, монтирование fstab выглядит подобно следующему:
/path/to/your/partition /backup/mount/path auto defaults,nodiratime,noatime,errors=continue 0 2
В Linux имеется утилита для копирования файлов, которая называется rsync. Копирование происходит достаточно быстро, команда имеет вид:
rsync -rltzhu --progress --delete /source/recording/path /destination/backup/path
Флаги, используемые в данной команде описаны на странице руководства rsync .
Здесь использованы ключи -r и --delete. Команда -r заставляет rsync выполнять копирование рекурсивно (в подпапки), а --delete заставляет rsync удалять файлы на назначении, которые не существуют в источнике. Команда --delete важна, в частности, если Вам требуется очищать старые данные. При отказе от использования --delete хранилище резервных копий быстро заполнится и в последующем не удастся выполнить синхронизацию файлов.
Рекомендуется, чтобы Вы выполнили эту команду подряд несколько раз до тех пор, пока время передачи не станет минимальным. Затем Вы можете с помощью планировщика запускать синхронизацию файлов (в определенные интервалы времени). В Linux это осуществляется с помощью crontab. Чтобы отредактировать crontab, выполните команду:
crontab -e
Затем введите строку внизу crontab.
В примере ниже, синхронизация файлов будет выполняться через каждые 5 минут:
*\5 * * * * rsync -rltzhu --delete /source/recording/path /destination/backup/path
В следующем примере синхронизация файлов будет выполняться каждую ночь, в 2 часа ночи.0 2 * * * rsync -rltzhu --delete /source/recording/path /destination/backup/path
Вы можете, конечно, изменить частоту выполнения этой команды. Первый символ-разделитель отделяет минуты, второй - час, третий - день месяца (например, 15 будет обозначать 15-й день месяца), четвертый - месяц (например, июнь обозначается 6), пятый - день недели (например, 0 - воскресенье, 6 - суббота).
Могут (а чаще всего и должны) использоваться символы-заместители. Во втором примере: минута = 0, час = 2, каждый день месяца, каждый месяц, каждый день недели.
Другой пример использования символов- заместителей - периоды работы при введенных ограничениях. В первом примере указано “*\5” для минут. Это означает, что выполнение будет происходить через каждые 5 минут. Подобным образом, настройка для часа могла бы иметь вид “*” - выполнение каждый час или “*\2” - выполнение через каждые два часа.
Имеются также ярлыки, например, “@daily” представляет собой псевдоним для “0 0 * * *” (другими словами - каждый день в полночь). Более подробное объяснение настройки cron см. в этом руководстве.
Альтернатива для rsync в Linux:
DRBD (обеспечивает создание точной копии всего разделения и синхронизацию в реальном времени).
lsync
UniFi Video - Как добавить сетевой том в устройство NVR
UniFi Video - Как добавить внешний жесткий диск в устройство NVR