Добавление внешнего жесткого диска в устройство NVR | Ubiquiti форум UBNT: инструкции, настройка

Добавление внешнего жесткого диска в устройство NVR

Статус
В этой теме нельзя размещать новые ответы.

fAntom

Super Moderator
Команда форума
24 Ноя 2017
6.189
377
5.065
ubnt.su
ПРЕДУПРЕЖДЕНИЕ. Внешнее хранилище предназначено только для опытных пользователей и требует опыт администрирования системам. Это не входит в сферу нашей поддержки и наши сотрудники не смогут Вам помочь. Вы делаете это на свой страх и риск.


Содержание
  1. Типы хранилищ
  2. Инструменты
  3. Перед началом
  4. Последовательность действий по добавлению внешнего жесткого диска в устройство NVR
  5. Обслуживание
Типы хранилищ
Имеется 4 основных типа внешних хранилищ, которые можно использовать:
  • Samba (служба совместного использования файлов по стандарту Windows). Не везде применим из-за ограничений по пропускной способности (по сравнению с другими типами).
  • NFS - протокол сетевого доступа к файловым системам
  • iSCSI (Internet Small Computer System Interface)
  • 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 ГБ очень близко к этому значению и по нему легко обнаружить свой диск.

4. Теперь отредактируем разделы диска с помощью следующей команды:
parted /dev/sdb

5. Далее, зададим для таблицу разделов GPT, например, так:
(parted) mklabel gpt

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

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


7. Затем убедитесь, что все сделано правильно. Для этого напечатайте таблицу разделов командой 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
 
Автор
fAntom

fAntom

Super Moderator
Команда форума
24 Ноя 2017
6.189
377
5.065
ubnt.su
8. И в завершение, запишем эти изменения, выдав команду `quit` (выход), после чего должен произойти возврат в комнадную оболочку.

9. Теперь создадим файловую систему:
mkfs.ext4 /dev/sdb1

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

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

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

mkdir /exthd

11. Смонтируйте раздел:
mount -t ext4 /dev/sdb1 /exthd

12. Сделайте так, чтобы монтирование происходило во время загрузки. Если Вы ориентируетесь в 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» на клавиатуре.

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

14. После того, как система возобновит работу, снова зайдите 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)

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

15. Теперь изменим права для точки монтирования /exthd:
chown unifi-video:unifi-video /exthd

16. Зайдите в web-интерфейс UniFi-Video.

17. Перейдите в поле Settings (Настройки) в левом нижнем углу экрана.

18. Щелкните кнопку NVR SETTINGS (НАСТРОЙКИ NVR) в левом верхнем углу экрана.



19. Раскройте вкладку CONFIGURE, если она еще не раскрыта.

20. Измените Recording Path (Путь для записи) на «/exthd» (без кавычек).

21. Измените значение Space To Keep Free (Пространство, оставляемое свободным) на примерно 5% от общего пространства на диске.

22. Сохраните эти настройки.

23. Чтобы следить за своими записями в web-интерфейсе и/или папке /exthd, с помощью команды ls:
ls /exthd
чтобы убедиться, что там хранятся данные.

24. На этом все закончено!

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