В статье описаны основные шаги, которые должен предпринять пользователь для использования дополнительного пространства файловой системы устройства NVR. Основное внимание в статье уделено установке iSCSI-инициатора (клиента), сконфигурированного для использования удаленного устройства хранения данных (мишени iSCSI LUN). В статью, содержащую ответы на вопросы "как выполнить..." не включены подробности устранения неполадок, связанных с доступом к сети, разрешениями файл-сервера, ошибками установки.
Начальная информация о хранилище данных
Имеется 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 (зависит от версии протокола). Однако, в зависимости от сети и хранилища, эти скорости могут изменяться. Дополнительную информацию об альтернативных опциях хранилищ см. в других статьях по этой теме, перечисленных ниже.
Шаги процедуры: как добавить сетевой том в устройство NVR
Шаг 1. Используя SSH, зарегистрируйтесь в устройстве NVR для доступа к нему из интерфейса командной строки (CLI). По умолчанию установлен пароль ubnt.
Шаг 2. Установите пакет iSCSI-инициатора.
# apt-get update ; apt-get install open-iscsi
Шаг 3. Обновите /etc/iscsi/iscid.conf для автоматического запуска инициатора при загрузке системы.
# vi /etc/iscsi/iscsid.conf
Измените следующее:
# Чтобы вручную запустить сессию, задайте значение"manual". По умолчанию задано manual (вручную).
#node.startup = manual
node.startup = automatic
Шаг 4. Перезапустите открытый iscsi-инициатор.
# /etc/init.d/open-iscsi restart
[....] Размонтирование файловых систем iscsi: Размонтирование всех устройств, помеченных _netde[.ok
[ ok ] Отсоединение мишеней iSCSI :.
[ ok ] Остановка службы iSCSI-инициатора:.
[ ok ] Запуск службы iSCSI-инициатора:iscsid.
[....] Настройка мишеней iSCSI:
iscsiadm: Записей не найдено
. ok
[ ok ] Монтируются файловые системы сети:.
Шаг 5. Создайте точку монтирования для сетевого тома.
# cd /srv
# mkdir /srv/synology
# chown airvision:airvision ./synology # <- Для airVision
# chown unifi-video:unifi-video ./synology # <- Для UniFi-Video
# ls -l
/srv
total 32
drwxr-xr-x 5 root root 4096 Jan 29 21:30 .
drwxr-xr-x 33 root root 4096 Jan 13 20:11 ..
drwx------ 2 root root 16384 Aug 12 21:07 lost+found
drwxr-xr-x 2 airvision airvision 4096 Jan 29 21:30 synology # <- Правильный вывод для airVision
drwxr-xr-x 2 unifi-video unifi-video 4096 Jan 29 21:30 synology # <- Правильный вывод для UniFi-Video
Шаг 6. Установите iSCSI LUN. Действия, перечисленные ниже, основаны на Synology:
- Зарегистрируйтесь в консоли администратора DSM Synology: http://<NAS_IP>:5000/
- Откройте диалоговое окно менеджера хранилища данных.
- Щелкните вкладку iSCSI LUN
- Создайте LUN (подробности этого здесь опущены)
- Щелкните вкладку iSCSI Target (Мишень iSCSI), чтобы подтвердить, что Service Status (Состояние службы) имеет значение Ready (Готова).
Шаг 7. Подтвердите, что удаленная мишень iSCSI может быть обнаружена устройством NVR. Например:
# iscsiadm -m discovery -t st -p <NAS_IP>:3260 <NAS_IP>:3260,0 iqn.2000-01.com.synology:av-office-nas.demo
Здесь порт 3260 зарегистрирован, как порт для iSCSI (или интернет-SCSI) и используется для контактов с Synology NAS по назначенному ему IP-адресу.
Шаг 8. Подключитесь к мишени iSCSI.
# iscsiadm -m node --targetname "iqn.2000-01.com.synology:av-office-nas.demo" --portal "<NAS_IP>:3260" --login
Logging in to [iface: default, target: iqn.2000-01.com.synology:av-office-nas.demo, portal: <NAS_IP>,3260] (multiple)
Login to [iface: default, target: iqn.2000-01.com.synology:av-office-nas.demo, portal: <NAS_IP>,3260] successful.
Шаг 9. Список текущих дисков и разделений. Например (здесь /dev/sdb это iSCSI LUN емкостью 1 ТБ):
# 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: 0x000a0551
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: 1099.5 GB, 1099511627776 bytes
255 heads, 63 sectors/track, 133674 cylinders, total 2147483648 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: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Шаг 10. Создайте разделение.
parted /dev/sdb
(parted) mklabel gpt
Итак, мы создали новое разделение. Для этого мы сначала задали единицы (измерения емкости) с которыми будем работать (ГБ или ТБ), а затем задали начало и конец разделения. Имейте в виду, что вторым размером здесь должен быть максимальный размер Вашего диска (16GB - это размер моего диска и он приведен только, как образец вывода). Например:
(parted) unit GB (parted) mkpart primary 0.00GB 16.00GB
Затем убедитесь, что все сделано правильно. Для этого напечатайте таблицу разделения командой 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
И в завершение, запишем эти изменения, выдав команду `quit` (выход), после чего должен произойти возврат в стандартную оболочку.
Шаг 11. Создайте для нового разделения файловую систему.
# mke2fs /dev/sdb1
Шаг 12. Смонтируйте сетевой том.
# mount -t ext4 /dev/sdb1 /srv/synology
# chown airvision:airvision /srv/synology # <- Для airVision
# chown unifi-video:unifi-video /srv/synology # <- Для UniFi-Video
Шаг 13. Обновите
/etc/rc.local чтобы шаги, сделанные при установке, сохранялись после перезагрузок.
# vi /etc/rc.local
Добавьте следующие строки:
# Установить внешнюю мишень iSCSI после перезагрузки системы.
# Для airVision
mount -t ext4 /dev/sdb1 /srv/synology
chown airvision:airvision /srv/synology
# Для UniFi-Video:
mount -t ext4 /dev/sdb1 /srv/synology
chown unifi-video:unifi-video /srv/synology
Шаг 14. Перезагрузите устройство NVR, зарегистрируйтесь, используя SSH, и убедитесь, что сетевой том смонтирован.
# mount -l
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=503449,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=403780k,mode=755)
/dev/disk/by-label/boot on /boot type ext2 (ro,noatime,errors=continue,user_xattr,acl) [boot]
/dev/loop0 on /mnt/.rofs type squashfs (ro,relatime)
/dev/disk/by-label/user.0 on /mnt/.rwfs type ext4 (rw,noatime,data=ordered) [user.0]
aufs-root on / type aufs (rw,relatime,si=3a448c58db75ada3)
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=1588660k)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime,nodiratime,size=807560k)
/dev/mapper/lvm-data0 on /srv type ext4 (rw,noatime,nodiratime,data=ordered) [data]
/dev/sdb1 on /srv/synology type ext4 (rw,relatime)
tmpfs on /srv/synology/videos/te
mp type tmpfs (rw,relatime,size=1048576k)
Также посмотрите конец журнала системы, нет ли там сообщений драйверов или ядра (kernel / driver):
# dmesg
... [ 18.053611] Loading iSCSI transport class v2.0-870.
[ 18.076880] iscsi: registered transport (tcp)
[ 18.444836] scsi4 : iSCSI Initiator over TCP/IP
[ 18.702584] scsi 4:0:0:0: Direct-Access SYNOLOGY iSCSI Storage 3.1 PQ: 0 ANSI: 5
[ 18.702882] sd 4:0:0:0: Attached scsi generic sg1 type 0
[ 18.703817] sd 4:0:0:0: [sdb] 2147483648 512-byte logical blocks: (1.09 TB/1.00 TiB)
[ 18.705417] sd 4:0:0:0: [sdb] Write Protect is off
[ 18.705428] sd 4:0:0:0: [sdb] Mode Sense: 3b 00 00 00
[ 18.706113] sd 4:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 18.726016] sdb: sdb1
[ 18.737119] sd 4:0:0:0: [sdb] Attached SCSI disk
[ 21.424863] EXT4-fs (sdb1): mounted filesystem without journal. Opts: (null)
Шаг 15
- Зарегистрируйтесь в UniFi Video и щелкните поле Settings > NVR Settings > Configure tab > Recording Path (Настройки > Настройки NVR > Вкладка конфигурации > Путь для записи).
- Измените путь и щелкните Save (Сохранить).
Примечание: Перед изменением пути для записи в настройках NVR должна быть создана папка с видеофайлами и назначены правильные разрешения в новой созданной файловой системе.
Поддержка эксплуатации
Если для записи используется внутренний жесткий диск NVR, важно, чтобы Вы знали следующее:
- Space to Keep Free (Storage based purging) (Пространство, оставляемое свободным (Удаление ненужных файлов)):Эта опция применяется только к текущему местоположению хранилищу и не может быть отключена. Будут стираться самые старые записи, чтобы на разделении хранилища всегда оставалось свободным пространство xGB (по умолчанию 10 ГБ). Имейте в виду, что если Вы используете внешний диск или хранилище данных емкостью более 500 ГБ, для этой опции следует задать значение 5% от общей емкости диска (общая емкость хранилища данных на диске * 0.05). Каждая файловая система требует своего конкретного "резервируемого пространства", которое должно сохраняться пустым, так чтобы файловая система могла использовать это пространство для удаления, копирования, перемещения данных и т.п.
- Time-Based Purging (Удаление ненужных файлов по времени):Эта опция применима ко всем записям, безотносительно к расположению их хранилища может быть включена или выключена (по умолчанию disabled (выключена)). Будут стираться все записи, давность которых превышает указанное время. Если для записи Вы использовали внутренний жесткий диск, а теперь перешли на работу с внешним хранилищем данных, то настоятельно рекомендуется временно использовать опцию Time-Based Purging, чтобы записи, оставшиеся на внутреннем диске, были стерты правильно. Хотя Вы и переместили (пользуясь материалом данной статьи) местоположение записей во внешнее хранилище, однако база данных продолжит использовать внутреннее хранилище. Поэтому Вам на постоянной основе будет требоваться обширное хранилище данных на внутреннем диске.
Другие статьи по этой теме