UniFi Video — Как добавить внешний жесткий диск в устройство NVR

В данной статье описано, как добавить внешнее устройство хранения данных в устройство NVR (аппаратное устройство Ubiquiti)

Содержание

  1. Тип хранилища данных
  2. Инструменты
  3. Перед тем, как начать
  4. Шаги процедуры: Как добавить внешний жесткий диск в устройство NVR
  5. Поддержка эксплуатации
  6. Другие статьи по этой теме

Тип хранилища данных

Имеется 4 основных типа внешних хранилищ, которые Вы можете использовать:

  • Samba (служба совместного использования файлов под Windows). Этот тип может использоваться не в любой точке вследствие ограничений по пропускной способности (по сравнению с другими типами).
  • NFS (Network File Sharing — Совместное использование файлов по сети)
  • iSCSI (Internet Small Computer System Interface — интерфейс интернет-SCSI)
  • USB 3.0

Samba, NFS и iSCSI применяются в большинстве случаев и являются протоколами для хранилищ, основанными на NAS. USB 3.0 может использоваться для выделенных, индивидуальных устройств хранения данных. По скорости, протоколы можно упорядочить следующим образом: Самым быстрым протоколом является NFS, затем идет iSCSI, USB 3.0 последним — Samba (зависит от версии протокола). Однако, в зависимости от сети и хранилища, эти скорости могут изменяться. Дополнительную информацию об альтернативных опциях хранилищ см. в других статьях по этой теме, перечисленных ниже.

Для получения наилучшей производительности рекомендуется использовать «механический» жесткий диск с USB 3.0, так как USB 1.1 является слишком медленным, а USB 2.0 пригоден только для нескольких камер.

UVC-NVR/airVision-C поставляется оснащенным, в общей сложности, 6 портами USB; 2 порта USB 3.0 находятся спереди устройства и 4 порта USB 2.0 — сзади.  Внешний жесткий диск с USB 3.0 следует подключить к одному из двух передних портов USB 3.0.

Вследствие того, что NVR выполняет высокоскоростной обмен данными и большое число циклов чтения/записи, не рекомендуется использовать флэш-карты памяти, например, USB-карты памяти, твердотельные приводы (SSD), SD- и  microSD-карты и т.п.

Инструменты

Для выполнения процедуры Вам потребуется:

  1. UVC-NVR или airVision-C с поданным на них электропитанием, подключенные к коммуникационной сети. В этой статье, для краткости, мы будем ссылаться на используемое устройство, как на «NVR».
  2. IP-адрес NVR.
  3. Внешнее устройство хранения данных с интерфейсом USB.
  4. Клиент SSH.  Для пользователей Linux и Mac, этот клиент встроен в приложение Terminal (Терминал). Для пользователей Windows: необходимо загрузить клиент SSH, например, можно использовать PuTTy.
  5. По времени установка занимает около 15 минут.

Перед тем, как начать

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

Один из шагов, описанных ниже предполагает перезагрузку NVR, чтобы убедиться в том, что внешнее устройство хранения данных будет правильно смонтировано после перезагрузки.  Если Ваша система является критичной для работы организации, рекомендуется выполнять такие шаги в нерабочее время.

Для демонстрационных целей, в примерах ниже используется USB-карта памяти емкостью 16 ГБ, однако процедура останется той же самой безотносительно к емкости Вашего носителя данных.

Шаги процедуры: Как добавить внешний жесткий диск в устройство NVR

  1. Подключите внешний накопитель к соответствующему порту USB. Два порта USB 3.0 находятся спереди устройства.
  2. Войдите в NVR, используя SSH. Пользователи Linux и Mac используют приложение TerminalПользователи Windows используют приложение PuTTy.  Параметры для регистрации следующие — Username (Имя пользователя): root  Password (Пароль): ubnt
  3. Отыщите идентификатор диска.  Это можно сделать, введя следующую команду:

fdisk -l
Образец вывода:
root@UniFi-NVR:~# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x0008ce59
Device Boot      Start         End      Blocks   Id  System /dev/sda1   *        4096     1957887      976896   83  Linux /dev/sda2         1957888   976773119   487407616    f  W95 Ext’d (LBA)
/dev/sda5         1959936     9771007     3905536   82  Linux swap / Solaris
/dev/sda6         9773056    15624191     2925568   83  Linux /dev/sda7        15626240   976773119   480573440   8e  Linux LVM

Disk /dev/mapper/lvm-data0: 492.1 GB, 492105105408 bytes
255 heads, 63 sectors/track, 59828 cylinders, total 961142784 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/lvm-data0 doesn’t contain a valid partition table

Disk /dev/sdb: 15.8 GB, 15846080512 bytes
255 heads, 63 sectors/track, 1926 cylinders, total 30949376 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2f08ac3c
Device Boot      Start         End      Blocks   Id  System /dev/sdb1           16065    30941189    15462562+   f  W95 Ext’d (LBA) /
dev/sdb5           16128    30941189    15462531    7  HPFS/NTFS/exFAT

Имейте в виду, что NVR работает под управлением ОС Linux и идентификаторы дисков Linux всегда начинаются с «/dev/sd» и обычно перечислены в алфавитном порядке. Первый подключенный диск будет именоваться как /dev/sda, второй — как /dev/sdb. Не забывайте о том, что с диском /dev/sda ничего делать нельзя. На нем хранится операционная система. Если на /dev/sda начнется беспорядок, то система может перестать работать! После /dev/sdb будет стоять число, являющееся номером разделения. Разделения нумеруются в порядке возрастания номеров. Это не является важным, так как Вам придется удалить все разделения на жестком диске и создать только одно разделение.

В приведенном выше образце вывода целевым диском является /dev/sdb; вероятнее всего он будет целевым и на Вашей системе.  Я выделил жирным шрифтом соответствующие секции вывода, чтобы Вам было легче обнаружить это.   Вследствие того, что я использую внешний диск емкостью 16 ГБ, число 15,8 ГБ очень близко к этому значению и по нему я легко обнаруживаю свой диск.

  1. Теперь отредактируем разделения диска; это можно сделать командой:

parted /dev/sdb

  1. Далее, зададим для таблицы разделения GPT, например, так:

(parted) mklabel gpt

и ответим «yes» (да), чтобы подтвердить свое согласие с появившимся предупреждением.

  1. Итак, мы создали новое разделение. Для этого мы сначала задали единицы (измерения емкости) с которыми будем работать (ГБ или ТБ), а затем задали начало и конец разделения. Имейте в виду, что вторым размером здесь должен быть максимальный размер Вашего диска (16GB — это размер моего диска и он приведен только, как образец вывода).  Например:

(parted) unit GB
(parted) mkpart primary 0.00GB 16.00GB
(parted)

  1. Затем убедитесь, что все сделано правильно. Для этого напечатайте таблицу разделения командой print (печать):

(parted) print
Model: Patriot Memory (scsi)
Disk /dev/sdb: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 0.00GB 15.8GB 15.8GB ext4 primary

  1. И в завершение, запишем эти изменения, выдав команду `quit` (выход), после чего должен произойти возврат в стандартную оболочку.
  2. Теперь создадим файловую систему:

mkfs.ext4 /dev/sdb1

  • Опции и некоторые факторы риска: Во всех файловых системах некоторое пространство резервируется для служебной информации. В данном случае оно составляет 5%. При 16 ГБ, это пространство является небольшим и вероятно, именно столько и необходимо.  Но если используется диск емкостью 1 ТБ и более, то вероятно нет необходимости резервировать более 51 ГБ. Если требуется, Вы можете уменьшить размер резервируемого пространства.   Однако делать его менее 2% не рекомендуется. Если же Вы все же решитесь на это, то сделать это можно командой:

tune2fs -m 2 /dev/sdb1

Число, стоящее за -m является резервируемыми процентами пространства.

  1. Теперь создайте точку монтирования, в которой будет смонтировано наше разделение. Для упрощения и прозрачности, рекомендуется вводить имена, уведомляющие о том, что это устройство является внешним; имена не должны вызывать недоразумения. Для демонстрационных целей назовем его /exthd. Итак:

mkdir /exthd

  1. Смонтируйте разделение:

mount -t ext4 /dev/sdb1 /exthd

  1. Сделайте так, чтобы монтирование происходило во время загрузки. Если Вы ориентируетесь в Linux, то можете использовать редактор vi, который уже установлен. Вы также можете установить редактор nano, который больше похож на notepad (Блокнот):

apt-get update; apt-get install nano

Затем:

nano /etc/rc.local

На шаге 11 вставьте Вашу команду монтирования, тогда весь файл будеть выглядеть примерно так:

#!/bin/sh -e
#
# rc.local
#
# Этот сценарий выполняется в всякий раз при завершении работы на многопользовательском уровне.
# Убедитесь, что в случае успеха, сценарий выдает «exit 0» и любое другое значение
# при ошибке.
#
# Чтобы включить или выключить сценарий просто измените исполняемые
# биты.
#
# По умолчанию этот сценарий не делает ничего.
mount -t ext4 /dev/sdb1 /exthd
exit 0

Чтобы выйти, нажмите на клавиатуре Ctrl+x, Вам будет предложено сохранить изменения ( save), нажмите y, затем «enter» на клавиатуре.

  1. Перезагрузите NVR:

reboot

  1. После того, как система возобновит работу, снова зарегистрируйтесь по SSH. Введите команду монтирования:

mount

Вы увидите вывод, похожий на следующее:

root@UniFi-NVR:~# mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=503334,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=403736k,mode=755) /dev/disk/by-label/boot on /boot type ext2 (ro,noatime,errors=continue,user_xattr,acl) /dev/loop0 on /mnt/.rofs type squashfs (ro,relatime) /dev/disk/by-label/user.0 on /mnt/.rwfs type ext4 (rw,noatime,data=ordered) aufs-root on / type aufs (rw,relatime,si=8458a27b1bc70b71) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1588560k) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime,nodiratime,size=807468k) /dev/mapper/lvm-data0 on /srv type ext4 (rw,noatime,nodiratime,data=ordered) /dev/mapper/lvm-data0 on /var/lib/unifi type ext4 (rw,noatime,nodiratime,data=ordered) /dev/mapper/lvm-data0 on /var/lib/mfi type ext4 (rw,noatime,nodiratime,data=ordered) tmpfs on /var/cache/unifi-video type tmpfs (rw,noexec,noatime,nodiratime,size=524288k,mode=777,uid=104) /dev/sdb1 on /exthd type ext4 (rw,relatime,data=ordered)

Это означает, что разделение смонтировано после перезагрузки, на заключительном этапе.

  1. Теперь изменим разрешения для точки монтирования /exthd:

chown unifi-video:unifi-video /exthd

  1. Зарегистрируйтесь в Вашем web-интерфейсе UniFi-Video.
  2. Перейдите в поле Settings (Настройки) в левом нижнем углу экрана.
  3. Щелкните кнопку NVR SETTINGS (НАСТРОЙКИ NVR) в левом верхнем углу экрана.
  4. Раскройте вкладку CONFIGURE (КОНФИГУРАЦИЯ), если она еще не раскрыта.
  5. Измените Recording Path (Путь для записи) на «/exthd» (без кавычек).
  6. Измените значение Space To Keep Free (Пространство, оставляемое свободным) на примерно 5% от общего пространства на диске.
  7. Сохраните эти настройки.
  8. Чтобы держать на контроле свои записи в web-интерфейсе и/или папке /exthd , выдайте команду:

ls /exthd

гарантирующую, что данные там сохранены.

  1. На этом все выполнено!

Поддержка эксплуатации

Если для записи используется внутренний жесткий диск NVR, важно, чтобы Вы знали следующее:

  • Space to Keep Free (Storage based purging) (Пространство, оставляемое свободным (Удаление ненужных файлов)):Эта опция применяется только к текущему местоположению хранилищу и не может быть отключена. Будут стираться самые старые записи, чтобы на разделении хранилища всегда оставалось свободным пространство xGB (по умолчанию 10 ГБ).  Имейте в виду, что если Вы используете внешний диск или хранилище данных емкостью более 500 ГБ, для этой опции следует задать значение 5% от общей емкости диска (общая емкость хранилища данных на диске * 0.05).  Каждая файловая система требует своего конкретного «резервируемого пространства», которое должно сохраняться пустым, так чтобы файловая система могла использовать это пространство для удаления, копирования, перемещения данных и т.п.
  • Time-Based Purging (Удаление ненужных файлов по времени):Эта опция применима ко всем записям, безотносительно к расположению их хранилища может быть включена или выключена (по умолчанию disabled (выключена)). Будут стираться все записи, давность которых превышает указанное время.

Если для записи Вы использовали внутренний жесткий диск, а теперь перешли на работу с внешним хранилищем данных, то настоятельно рекомендуется временно использовать опцию Time-Based Purging, чтобы записи, оставшиеся на внутреннем диске, были стерты правильно.  Хотя Вы и переместили (пользуясь материалом данной статьи) местоположение записей во внешнее хранилище, однако база данных продолжит использовать внутреннее хранилище. Поэтому Вам на постоянной основе будет требоваться обширное хранилище данных на внутреннем диске.

 

Другие статьи по этой теме

Все авторские права и другие права интеллектуальной собственности на данные материалы являются собственностью Компании «Рутстор» (ROOTSTORE). При использовании данного материала ссылка на сайт rootstore.ru обязательна.

Авторизация
*
*
Регистрация
*
*
*
*
Генерация пароля
Заказать звонок



Купить в 1 клик