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

Сценарии применения Storages#

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

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

Примеры команд для обновления и установки с нуля приведены в соответствующих документах. Даунгрейд фактически не отличается от обновления.

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

Запуск с нуля#

Общий порядок действий при установке с нуля следующий:

  1. Запустить и настроить СУБД PostgreSQL/Oracle и InfluxDB — создать пользователей, настроить права и т.д (см. раздел "Базы данных" в руководстве администратора).
  2. Скомпилировать библиотеку VLMatch для пользовательской версии БД PostgeSQL или Oracle (см. раздел "Базы данных" в руководстве администратора). Утилита Storages автоматически добавляет функцию VLMatch в базы данных Faces и Events на этапе подготовки окружения баз данных.
  3. Корректно заполнить конфигурацию Storages, указав все необходимые данные — адреса и аутентификационные данные БД, настройки подключения к S3 (при необходимости), адреса бакетов и пр.
  4. Подготовить окружение с помощью команды prepare.
  5. Убедиться, что окружение интересующей версии успешно подготовлено с помощью команды check.
  6. Корректно заполнить пользовательские настройки сервисов (соединение с сервисами, базами данных и пр.) одним из следующих способов:
    • Выполнить команду load_dump, загрузив дамп-файл с пользовательскими настройками *
    • Настроить и запустить сервис Configurator, указав в нем пользовательские настройки
    • Заполнить конфигурационные файлы сервисов, указав в них пользовательские настройки
  7. Запустить сервисы LUNA PLATFORM.

* можно отредактировать полный дамп-файл luna_platform_<version>_dump.json из комплекта поставки, либо использовать пользовательский дамп-файл (см. пример пользовательского дамп-файла platform_settings.json в комплекте поставки). См. подробную информацию про дампы в разделе "Сервис Configurator" в руководстве администратора

Обновление/даунгрейд#

Общий порядок действий при обновлении или понижении версии следующий:

  1. Корректно заполнить конфигурацию Storages, указав все необходимые данные — адреса и аутентификационные данные БД, настройки подключения к S3 (при необходимости), адреса бакетов и пр.
  2. Убедиться, что Storages поддерживает подготовку окружения для LUNA PLATFORM интересующей версии с помощью команды list.
  3. Проверить текущее окружение LUNA PLATFORM с помощью команды check.
  4. Настроить поведение сервисов во время подготовки окружения
  5. Подготовить окружение с помощью команды prepare.
  6. Убедиться, что окружение интересующей версии успешно подготовлено с помощью команды check.
  7. Актуализировать пользовательские настройки сервисов (соединение с сервисами, базами данных и пр.) одним из следующих способов (опционально):
    • Выполнить команду load_dump, загрузив дамп-файл с пользовательскими настройками *
    • Настроить и запустить сервис Configurator, указав в нем пользовательские настройки
    • Заполнить конфигурационные файлы сервисов, указав в них пользовательские настройки
  8. Запустить сервисы LUNA PLATFORM новой версии.

* можно отредактировать полный дамп-файл luna_platform_<version>_dump.json из комплекта поставки, либо использовать пользовательский дамп-файл (см. пример пользовательского дамп-файла platform_settings.json в комплекте поставки). См. подробную информацию про дампы в разделе "Сервис Configurator" в руководстве администратора

Рекомендации по поведению сервисов во время подготовки окружения#

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

Ниже представлены рекомендации по управлению сервисами в различных сценариях миграции.

  • Снижение нагрузки: Попробуйте сократить количество запросов до минимума во время подготовки окружения. Это поможет уменьшить вероятность возникновения конфликтов и проблем с целостностью данных.

  • Ограниченный доступ: Рассмотрите возможность временного ограничения доступа к сервисам для избежания несогласованных изменений во время миграции.

  • Остановка сервисов: Рассмотрите вариант остановки сервисов, активно взаимодействующих с БД. Это может способствовать уменьшению возможных конфликтов и упростить процесс миграции.

  • Осторожное обращение: Если оставляете сервис работающим во время миграции, будьте готовы к возможным задержкам в работе LUNA PLATFORM.

Конечное решение о выборе способа управления сервисами должно быть принято на основе конкретных требований вашей системы и бизнес-процессов.