Ручная установка подразумевает самостоятельное выполнение всех этапов инсталляции программного обеспечения вручную без использования автоматических скриптов.
Этот способ позволяет гибко настраивать каждый компонент и устанавливать компоненты на различные серверы независимо друг от друга.
Ручная установка включает ряд шагов, таких как подготовка среды, загрузка необходимых файлов, конфигурирование приложений и проверку работоспособности установленных компонентов.
Этот метод рекомендуется опытным администраторам, поскольку требует знания особенностей каждого компонента и понимания зависимостей между ними.
Подготовка РЕД ОС к установке
Установка часового пояса
При установке РЕД ОС 8.0 не предлагается указать часовой пояс (по умолчанию устанавливается время UTC). Его нужно установить вручную (для корректной работы видеоархива, календарей доступа и т.д.), например:
sudo timedatectl set-timezone Asia/Novosibirsk
Как узнать имя своей timezone?
На примере города Новосибирск: timedatectl list-timezones | grep "Novosibirsk"
Обновление ОС
Перед началом установки необходимо обновить ОС:
sudo dnf update && sudo dnf upgrade -y
Скачивание установочных файлов
curl --insecure -O https://archive.eltex-co.ru/evi-raw/evi-1.5.0/evi-1.5.0_redos.tar
tar -xvf evi-1.5.0_redos.tar
Установка модуля Ядра для РЕД ОС
Evi-core — ядро платформы, предназначенное для конфигурирования модулей.
Общие требования для модулей
Требования для ядра платформы
Минимальная конфигурация необходимая для запуска ядра платформы evi-core и модуля СКУД на одном сервере:
| OS | CPU | RAM | SDD | HDD | LAN |
|---|---|---|---|---|---|
| RedOS 8.0 | 2 ядра 64-bit x86 | 4 GB | 100 GB | 100 GB | 100 Mb/s |
Установка модуля Ядра
Для установки ядра системы выполните следующую команду:
sudo dnf install evi-core-1.5.*.rpm
Установка баз данных для РЕД ОС
| Пакет | Описание |
|---|---|
postgresql-17 | База данных используется в сервисах EVI |
| clickhouse-common-static | Бинарный файл с основными библиотеками Clickhouse |
clickhouse-server | База данных используется в сервисах EVI |
clickhouse-client | Клиент для подключения к БД ClickHouse |
База данных Postgresql
Минимальная версия postgresql 17.
Все сервисы используют 1 базу данных для работы.
Рекомендуем размещать базу данных рядом с evi-core и evi-scud.
Для установки postgresql 17 необходимо выполнить следующие команды в терминале сервера:
sudo dnf install postgresql17-server
sudo dnf install postgresql17-contrib
sudo postgresql-17-setup initdb
sudo systemctl enable postgresql-17.service --now
sudo systemctl status postgresql-17.service
Для создания пользователя базы данных выполнить в терминале следующие команды:
sudo -u postgres createuser --interactive
core
y
Для создания базы данных выполните в терминале следующие команды:
sudo -u postgres psql
CREATE DATABASE core;
ALTER USER core WITH PASSWORD 'core';
ALTER USER core WITH SUPERUSER;
\quit
База данных ClickHouse
Для установки ClickHouse необходимо выполнить следующие команды в терминале сервера:
sudo tee /etc/yum.repos.d/clickhouse.repo << 'EOF' [clickhouse] name=ClickHouse Repository (RedOS 7.3) baseurl=https://mirror.yandex.ru/redos/7.3/x86_64/3rdparty/clickhouse/ enabled=1 gpgcheck=0 EOF
sudo dnf update
sudo dnf repolist | grep clickhouse
sudo dnf clean all sudo dnf makecache
sudo dnf search clickhouse
sudo dnf install clickhouse-common-static-25.1.4.53
sudo dnf install clickhouse-server-25.1.4.53
sudo dnf install clickhouse-client-25.1.4.53
sudo systemctl enable clickhouse-server.service
sudo systemctl restart clickhouse-server.service
sudo sed -i 's|<password></password>|<password>core</password>|g' /etc/clickhouse-server/users.xml
clickhouse-client --user=default --password=core --query="CREATE USER core IDENTIFIED WITH sha256_password BY 'core'" --query="GRANT CURRENT GRANTS on *.* TO core WITH GRANT OPTION"
Установка модуля web-интерфейса для РЕД ОС
EVI Core Web — графический web-интерфейс для управления системой.
Установка модуля web-интерфейса
Для установки модуля web-интерфейса выполните следующую команду:
sudo dnf install evi-core-web-1.5.*.rpm
Установка модуля СКУД для РЕД ОС
EVI Scud — модуль системы контроля и управления доступом, предназначен для организации пропускного режима в организации.
Требования для модуля СКУД
Для работы модуля требуется контроллер СКУД IPA-ER-020.
Версия прошивки контроллера должна быть не ниже 2.3.0 build 52.
Установка модуля СКУД
Для установки модуля СКУД выполните следующую команду:
sudo dnf install evi-scud-1.5.*.rpm
Установка модуля Видеонаблюдения для РЕД ОС
EVI Perimeter — объединение модулей (evi-live, evi-archive, evi-analyzer) видеонаблюдения, предназначенный для получения видеопотоков с камер и сохранения в архив.
| Пакет | Описание |
|---|---|
evi-live | Модуль для взаимодействия с камерами видеонаблюдения для платформы EVI |
evi-archive | Модуль для записи архивов с камер для платформы EVI |
evi-analyzer | Модуль детектора движения для платформы EVI |
Требования для модуля Видеонаблюдение
Для работы модуля требуются камеры с поддержкой подключения по ссылке RTSP.
Подготовительные действия
В конфигурационном файле сервиса evi-live, который находится по пути /opt/evi-live/evi-live.conf, в параметре extern_host должен быть указан IP-адрес или доменное имя, доступное для пользователей в вашей локальной сети.
Иначе просмотр видео с камер будет невозможен.
Параметр extern_ip в конфигурации /opt/evi-live/evi-live.conf
В случае установки доменного имени вместо IP-адреса может перестать работать видео в браузере Firefox.
Чтобы автоматически выставить адрес в конфигурационном файле, после установки выполните следующие действия в консоли сервера:
export EVI_LIVE_EXTERN_HOST=$(ip -br -4 a show $(ip ro get fibmatch 0.0.0.1 | grep -o "dev [^ ]\+") | grep -o "[^ \.]\+\.[^/]\+")
echo $EVI_LIVE_EXTERN_HOST
В консоли вы увидите IP-адрес сетевого интерфейса сервера, например, 192.168.50.15.
Чтобы убедиться, что IP-адрес верный, выполните команду:
ip -br a
Адрес должен соответствовать сетевому интерфейсу.
lo UNKNOWN 127.0.0.1/8 ::1/128 eno1 UP 192.168.50.15/24 metric 100 fe80::3eec:efff:fea0:9396/64
Можете приступать к установке видеонаблюдения. Переменная extern_host автоматически установится в конфигурационном файле.
Установка модуля Видеонаблюдения
Для установки модуля Видеонаблюдения выполните следующую команду:
sudo -E dnf install evi-live-1.5.*.rpm evi-archive-1.5.*.rpm evi-analyzer-1.5.*.rpm
Переменная extern_host автоматически установится в конфигурационном файле.
Проверка переменной после установки:
cat /opt/evi-live/evi-live.conf | grep "extern_host"
В консоли вы увидите:
extern_host=192.168.50.15 # External or proxy address (ENV: EVILIVE_GLOBAL_EXTERN_HOST)
Установка модуля Видеоаналитики для РЕД ОС
EVI Analytics — модуль видеоаналитики, предназначен для обнаружения, распознавания, подсчета, трекинга объектов согласно моделям.
Рекомендуется обновить ядро системы перед установкой видеодрайвера.
Системные требования для видеоаналитики
Перед началом работы необходимо ознакомиться с требованиями к модулю Видеоалитики в разделе Системные требования Платформы EVI.
Требования для модуля Видеоаналитика
Использование виртуализации
Система видеоаналитики требует наличия видеокарты.
Для работы в виртуальном окружении гипервизор должен поддерживать аппаратный проброс устройств PCI/PCI-E, включая видеокарту.
Совместимость с виртуализацией не обеспечивает стабильной работы модуля видеоаналитики.
Для работы модуля требуется дискретная видеокарта. Ниже приведена минимальная конфигурация для запуска:
| OS | GPU | SERIES | VRAM | DRIVER |
|---|---|---|---|---|
| RedOS 8.0 SE | NVIDIA | Quadro или RTX | 8 GB | 545 |
Пример установленных версий ядра и драйвера
Возможны проблемы установки драйвера из-за ядра Linux, ниже приведены примеры рабочих вариантов:
| OS | Kernel | Driver |
|---|---|---|
| RED OS 8.0 SE | GNU/Linux 6.12.37-1.red80.x86_64 | NVIDIA-SMI 570.144-1 |
Ручная установка docker и драйвера
Для работы с видеокартой необходимо установить драйвер:
sudo dnf install nvidia-drivers-3:570.144-1.red80.x86_64
Далее необходимо установить docker для работы с контейнером аналитики и nvidia-container-tookit для работы с видеокартой:
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \ sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo dnf install docker-ce sudo dnf install docker-compose
sudo dnf install nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker sudo nvidia-ctk runtime configure --runtime=containerd
sudo nano /etc/nvidia-container-runtime/config.toml
Изменить no-cgroups на true:
[nvidia-container-cli] no-cgroups = true
Cохранить файл нажав Ctrl+X, затем Y и Enter.
Добавить пользователя в группу docker:
sudo usermod -aG docker $(whoami)
sudo reboot
Необходимо проверить наличие запущенного драйвера в системе после его установки
nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.144.03 Driver Version: 550.144.03 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3080 Off | 00000000:01:00.0 Off | N/A |
| 0% 41C P2 113W / 370W | 3902MiB / 10240MiB | 5% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2144100 C tritonserver 1296MiB |
| 0 N/A N/A 2144155 C tritonserver 1296MiB |
| 0 N/A N/A 2144163 C tritonserver 1296MiB |
+-----------------------------------------------------------------------------------------+
Настройка доступа к базе данных для подключения контейнера
Перед началом настройки необходимо остановить сервисы EVI.
sudo systemctl stop evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service
Необходимо открыть доступ для подключения контейнера аналитики к базе данных.
sudo nano /var/lib/pgsql/17/data/pg_hba.conf
В раздел IPv4 local connections добавьте строку по примеру ниже и сохраните файл.
Так как контейнеры по умолчанию получают IP-адреса из подсети 172.16.0.0/12, необходимо указать его.
# IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256 host all all 172.16.0.0/12 md5
Откройте файл конфигурации базы данных. Уберите символ решётки (#), чтобы активировать параметр listen_addresses, и укажите в нем IP-адрес сервера. После этого сохраните изменения в файле.
sudo nano /var/lib/pgsql/17/data/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = 'localhost, 192.168.1.10' # what IP address(es) to listen on;
Для применения изменений перезапустите сервис базы данных postgresql:
sudo systemctl restart postgresql-17.service
sudo systemctl start evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service
Загрузка образа и запуск контейнера evi-analytics
Образы аналитики имеют большой объем, поэтому их загрузка может занять некоторое время.
После настройки доступа к базе данных необходимо загрузить на сервер аналитики скрипт evi-analytics_1.5.0.sh:
wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.5.0/evi-analytics_1.5.0_triton1.sh /или/ wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.5.0/evi-analytics_1.5.0_triton3.sh
bash evi-analytics_1.5.0_triton1.sh EFNRS_DB_HOST="IP-АДРЕС ВАШЕЙ БАЗЫ ДАННЫХ" /или/ bash evi-analytics_1.5.0_triton3.sh EFNRS_DB_HOST="IP-АДРЕС ВАШЕЙ БАЗЫ ДАННЫХ"
bash evi-analytics_1.5.0_triton1.sh EFNRS_DB_HOST="192.168.1.10" /или/ bash evi-analytics_1.5.0_triton3.sh EFNRS_DB_HOST="192.168.1.10"
Проверка работоспособности
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
Пример успешно запущенных контейнеров
CONTAINER ID NAMES STATUS
f01deee7d6a5 user-triton1-1 Up 23 hours
d70d9e7004ac user-triton3-1 Up 23 hours
c011105320e9 user-triton2-1 Up 23 hours
d17d6261648f user-evi-analytics-haproxy-1 Up 23 hours
fa2db6812f3b user-evi-analytics-1 Up 23 hours
Чек-лист установки для РЕД ОС
Проверка работоспособности
sudo systemctl is-active evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service
В выводе все компоненты должны быть активны:
active active active active active