Перейти к содержанию

Подготовка к обновлению#

Убедитесь в том, что вы являетесь root-пользователем перед тем, как начать обновление!

Перед обновлением LUNA Index Module необходимо выполнить следующие действия:

Перенос хранилища индексов#

По умолчанию хранилище индексов располагается в директории "/var/lib/luna/lim_storage" без привязки к версии LIM. Необходимо переместить хранилище индексов в директорию "/var/lib/luna" если в предыдущих версиях директория располагалась в ином месте.

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

rm -f /var/lib/luna/lim-current

Распаковка дистрибутива#

Дистрибутив представляет собой архив lim_v.5.86.0, где v.5.86.0 это числовой идентификатор, обозначающий версию LIM.

Архив включает в себя конфигурационные файлы, требуемые для установки и использования. Он не включает в себя Docker образы сервисов, их требуется скачать из Интернета отдельно.

Переместите дистрибутив в директорию на вашем сервере перед установкой. Например, переместите файлы в директорию /root/. В ней не должно быть никакого другого дистрибутива или файлов лицензии кроме целевых.

Переместите дистрибутив в директорию /var/lib/luna/.

mv /root/lim_v.5.86.0.zip /var/lib/luna/

Установите приложение для распаковки архива при необходимости

yum install -y unzip

Откройте папку с дистрибутивом

cd /var/lib/luna/

Распакуйте файлы

unzip lim_v.5.86.0.zip

Создайте символическую ссылку. Она показывает, что актуальная версия файла дистрибутива используется для запуска LIM.

ln -s lim_v.5.86.0 lim-current

SELinux и Firewall#

SELinux и Firewall необходимо настроить так, чтобы они не блокировали сервисы LUNA PLATFORM.

Конфигурация SELinux и Firewall не описываются в данном руководстве.

Если SELinux и Firewall не настроены, дальнейшая установка невозможна.

Миграция настроек LIM#

Выполните следующую команду для миграции настроек LIM в сервисе LUNA Configurator.

docker run \
-v /etc/localtime:/etc/localtime:ro \
--rm \
--entrypoint='' \
--network=host \
dockerhub.visionlabs.ru/luna/lim-configs:v.0.6.1 python3 -m configs.migrate head --config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator

--config_db_url postgres://luna:luna@127.0.0.1:5432/luna_configurator — флаг указания адреса БД luna_configurator

Обновление настроек в Configurator#

Далее необходимо включить использование сервиса Python Matcher Proxy и добавить плагин сравнения в список плагинов, используемых сервисом Python Matcher Proxy.

Скопируйте файл с необходимыми настройками в контейнер Configurator:

docker cp /var/lib/luna/lim-current/example-docker/configs/lim_settings.json luna-configurator:/srv/lim_settings.json

Обновите настройки в сервисе Configurator:

docker exec -it luna-configurator python3 ./base_scripts/db_create.py --dump-file /srv/lim_settings.json

В результате в сервисе Configurator будут обновлены следующие настройки:

LUNA_MATCHER_PROXY_ACTIVE_PLUGINS = ["indexed_matcher"]
ADDITIONAL_SERVICES_USAGE = "luna_matcher_proxy":true

Удаление старых контейнеров#

Перед запуском контейнеров текущей минорной версии необходимо остановить все контейнеры, относящиеся к предыдущей минорной версии LIM.

Например, для удаления контейнеров LIM используйте следующую команду:

docker container rm -f lim-indexer lim-manager lim-matcher luna-python-matcher-proxy

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

docker ps -a

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

Если на сервере достаточно места, рекомендуется выполнить это действие только после успешного запуска новой версии LIM.

Данная команда удаляет все неиспользуемые образы, а не только образы, относящиеся к LIM.

docker image prune -a -f

Дополнить построенные индексы информацией о версии БШ#

Примечание. Выполняйте данные действия только если обновляетесь с версии 5.32.0.

В версии LIM 5.34.0 добавлен учет версий биометрических шаблонов индексов, задаваемых в настройке "DEFAULT_FACE_DESCRIPTOR_VERSION" сервиса Index Manager.

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

Для того, чтобы не выполнять длительный процесс перестроения индекса, нужно добавить поле "descriptor_version" с соответствующей версией биометрического шаблона в файлы "meta.json" всех созданных ранее индексов перед запуском сервиса Index Manager.