Технические особенности Linux-версии🔗

Местонахождение файлов сервера

Местонахождение важных файлов сервера Macroscop на диске:

  • Папка с сервером: /opt/MacroscopServer

  • Логи сервера: /opt/MacroscropServer/Macroscop/Logs_MacroscopServer

  • Конфигурация сервера: /opt/MacroscropServer/MacroscopServerConfigs

Автоматическое монтирование дисков при запуске сервера

При старте сервер Macroscop автоматически монтирует все подходящие разделы дисков из /dev в папку /mnt/{uuid}, где uuid — универсальный уникальный идентификатор раздела диска. Это сделано для того, чтобы при перезагрузке системы сервер Macroscop мог записывать архив даже в ситуации, когда разделы не были примонтированы пользователем заранее. Не рекомендуется самостоятельно, без необходимости, монтировать разделы дисков и настраивать на них запись архива.

Автоматическое монтирование дисков не производится для системных и загрузочных дисков, LVM-томов, дисков из состава программных RAID и т.д. То есть диски, помеченные нижеследующими флагами, не будут автоматически монтироваться:

  • boot

  • esp

  • bios_grub

  • legacy_boot

  • msftres

  • irst

  • root

  • swap

  • raid

Macroscop работает только с устройствами из /dev, поэтому в качестве сетевого хранилища можно использовать только iSCSI. NFS или SMB работать не будут.

Список флагов для раздела можно получить при помощи команды:

parted -l

Поддерживаются следующие файловые системы:

  • ext2

  • ext3

  • ext4

  • btrfs

  • reiserfs

  • ntfs (с использованием ntfs-3g)

Узнать файловую систему можно при помощи команды:

df -Th | grep "^/dev"
Добавление новых дисков в систему

При ручном добавлении нового диска в систему необходимо подключить и отформатировать диск, затем создать на нём раздел. При запуске сервера Macroscop произойдёт автоматическое монтирование диска, как описано в пункте выше.

Ручное добавление дисков осуществляется при помощи утилиты fdisk:

  1. Проверьте информацию о диске:

    sudo fdisk -l
    
    ../_images/check-disk.png
  2. Создайте на нужном диске раздел:

    sudo fdisk /dev/sdb
    

    Для дальнейшей настройки диска по умолчанию введите ключ n, затем нажмите четыре раза Enter и введите ключ w.

    При необходимости можно настроить разделы и сектора на ваше усмотрение, соблюдая требования из раздела выше «Автоматическое монтирование дисков при запуске сервера».

    ../_images/create-disk-partition.png

    Обратите внимание, что утилита fdisk по умолчанию использует MBR (Master Boot Record), что не позволяет создать раздел объёмом более 2 Тб. Для создания раздела объёмом более 2 Тб необходимо использовать GPT (GUID Partition Table), то есть указать ключ g в самом начале работы с диском.

    ../_images/create-disk-partition-gpt.png
  3. Проверьте, что раздел корректно создался:

    sudo fdisk -l
    
    ../_images/check-disk-partition.png
  4. Создайте в новом разделе файловую систему ext4:

    sudo mkfs.ext4 /dev/sdb1
    
    ../_images/create-disk-file-system.png
  5. Перезапустите Macroscop:

    sudo systemctl restart macroscop
    
  6. После перезапуска настройте архив в приложении Macroscop Конфигуратор.

Примечание

Описание работы с дисками посредством gnome-disk.

Примечание

При добавлении в систему диска с уже существующим разделом в дополнительных настройках нет необходимости.

Предупреждение

Сервер Macroscop работает только с дисками, на которых созданы разделы. На дисках, на которых отсутствуют разделы, но при этом может присутствовать файловая система, корректная работа приложения и архива не гарантируется. Для использования такого диска следует выполнить действия, описанные выше, как при добавлении нового диска в систему. При этом данные диска не сохранятся.

Особенности работы базы данных Firebird

После установки сервера Macroscop может возникнуть ситуация, когда запись в архив ведётся, но база данных при этом отсутствует (то есть, не сохраняются события в журнале). Это может произойти после того, как диск для записи архива был примонтирован в папку пользователя. Для решения данной проблемы необходимо пользователю операционной системы, от имени которого осуществляется доступ к базе данных (пользователь firebird), предоставить доступ на чтение в точке монтирования диска, на который производится запись архива.

Это можно сделать двумя способами:

  • Перемонтировать диск для записи в архив в папку системы, а не в папку текущего пользователя.

  • Проверить путь от корня (/) до точки монтирования диска. У пользователя firebird должно быть право на чтение каждого каталога. Просмотреть права на каталог можно по команде:

    sudo ls -l
    

    Примечание

    Пользователь firebird относится к прочим пользователям.

    Дать пользователю firebird права на чтение текущего каталога можно по команде:

    sudo chmod o+r
    

Предупреждение

Второй способ следует использовать только в том случае, когда нужно монтировать диск в выбранную папку, либо когда нельзя изменять точку монтирования.

Сохранение кадров на диск

В настройках сохранения кадров на диск (по расписанию, в ответ на системное событие, либо по команде пользователя) необходимо указывать полный путь к каталогу, в который будут сохраняться кадры..

Предупреждение

Сохранение кадров разрешено на любой диск, кроме системного.

Если кадры не сохраняются, нужно убедиться, что выбранный для сохранения диск не является системным (см. раздел Автоматическое монтирование дисков при запуске сервера выше).

Например, для сохранения кадров на архивный диск потребуется узнать полный путь до него при помощи команды:

ls -la /mnt/

В списке будет каталог с названием UUID диска:

../_images/saveframe-archivedisk.png

Далее необходимо создать каталог для сохранения кадров, например camframes:

sudo mkdir /mnt/1aa5a91e-4456-4e6e-842e-3ef45946581e/camframes

Получившийся путь добавить в настройки действия Сохранить кадр:

../_images/saveframe-configurator.png
Доступ к камерам по доменным именам

По умолчанию в Linux при разрешении доменного имени приоритет отдается IPv6-адресам. Некоторые плагины камер в Macroscop могут не работать по IPv6-адресам.

Для решения данной проблемы нужно добавить в файл /etc/gai.conf следующую запись:

precedence ::ffff:0:0/96 100

В результате при разрешении всех доменных имён предпочтение будет отдаваться IPv4-адресам.

Если нужно задать IPv4-адрес для определенного имени, можно добавить соответствующую запись в файл /etc/hosts. Например:

192.168.100.1 cam-1.mycompany.com
Перезапуск и остановка сервера

Ниже приведены команды, управляющие состоянием сервера Macroscop.

Остановка сервера:

systemctl stop macroscop.service

Запуск сервера:

systemctl start macroscop.service

Перезапуск сервера:

systemctl restart macroscop.service

Проверка статуса сервера (активен/не активен):

systemctl status macroscop.service