Структура Комплекста

На уровне сервисов в РОСА Миграция задействованы следующие компоненты:

  • NGINX — веб-сервер, который обслуживает подключение внешние подключения по протоколу HTTP(s) со стороны администраторов и Агентов, а также запросы к API от других сервисов Контроллера. За работу компонента отвечает сервис nginx.service, параметры запуска сервиса описаны в файле /lib/systemd/system/nginx.service. Настройка Nginx выполняется через конфигурационные файлы /etc/nginx/sites-enabled/controller.conf и /etc/nginx/nginx.conf.
  • TaskWorker — отвечает за установку и настройку Агентов на машинах, а также за отслеживание их состояния. За работу компонента отвечает сервис mind_taskworker.service, параметры запуска сервиса описаны в /etc/systemd/system/mind_taskworker.service. Настройка TaskWorker выполняется через конфигурационный файл /opt/mind/etc/config.yml.
  • JobWorker — управляет первичной синхронизацией и репликацией данных, отслеживает состояние заданий. За работу компонента отвечает сервис mind_jobworker.service, параметры запуска описаны в /etc/systemd/system/mind_jobworker.service. Основной конфигурационный файл расположен в /opt/mind/etc/config.yml.
  • SiteWorker — управляет задачами автоматизации создания приёмников и импорта источников с платформы виртуализации. За работу компонента отвечает сервис mind_siteworker.service, параметры запуска описаны в /etc/systemd/system/mind_siteworker.service. Настройка SiteWorker выполняется через конфигурационный файл /opt/mind/etc/config.yml.
  • HealthManager — выполняет мониторинг работы Контроллера, включая сбор и передачу метрик в InfluxDB. За работу компонента отвечает сервис mind_healthmanager.service, параметры сервиса описаны в /etc/systemd/system/mind_healthmanager.service. Настройка HealthManager выполняется через конфигурационный файл /opt/mind/etc/config.yml.
  • API — обеспечивает взаимодействие с Контроллером с помощью RESTful API. За работу компонента отвечает сервис mind_api.service, параметры запуска описаны в /etc/systemd/system/mind_api.service. Настройка API выполняется через конфигурационный файл /opt/mind/etc/config.yml.
  • Scheduler — планировщик заданий, который отвечает за управление планами миграций и репликаций. Подключается к брокеру сообщений RabbitMQ для получения и разбора задания с последующей публикацией заданий для сервиса Jobworker. За работу компонента отвечает сервис mind_scheduler.service, параметры запуска описаны в /etc/systemd/system/mind_scheduler.service.
  • RabbitMQ — брокер сообщений, используемый для передачи данных между компонентами Контроллера. RabbitMQ запускается внутри контейнера mind-rabbitmq. За запуск контейнера отвечает сервис mind_rabbitmq.service, параметры запуска описаны в /etc/systemd/system/mind_rabbitmq.service. Настройка RabbitMQ выполняется через конфигурационный файл /opt/mind/etc/config.yml.
  • PostgresPRO — база данных Контроллера, хранящая конфигурацию заданий, тенантов, юнитов, пользователей и других объектов. Экземпляр PostgresPRO запускается в контейнере mind-postgres. За запуск контейнера отвечает сервис mind_postgres.service, параметры запуска описаны /etc/systemd/system/mind_postgres.service. Настройка PostgresPRO выполняется через конфигурационный файл /opt/mind/etc/config.yml.
  • InfluxDB — база данных, хранящая метрики компонента мониторинга HealthManager. Экземпляр InfluxDB работает в контейнере mind-influxdb. За запуск контейнера отвечает сервис mind_influxdb.service, параметры запуска описаны в /etc/systemd/system/mind_influxdb.service. Настройка InfluxDB выполняется через конфигурационный файл /opt/mind/etc/config.yml.
  • VictoriaLogs — компонент для сбора и хранения журналов событий. Экземпляр VictoriaLogs работает в контейнере mind-logs. За запуск контейнера отвечает сервис mind_logs.service, параметры запуска описаны в /etc/systemd/system/mind_logs.service. Настройка VictoriaLogs выполняется через конфигурационный файл /opt/mind/etc/config.yml.
  • Vault — компонент для интеграции с внешними системами хранения секретов на базе SecMan. За работу компонента отвечает сервис mind_vaults.service, параметры запуска описаны в /etc/systemd/system/mind_vaults.service.
  • ROSA System – сервис отвечает за первоначальную настройку Контроллера, считывание и сохранение настроек Контроллера через веб-интерфейс. За работу компонента отвечает сервис mind_system.service, параметры запуска описаны в /etc/systemd/system/mind_system.service.
  • mind-ctrl.target – отвечает за запуск и перезапуск сервисов Комплекса: mind_taskworker.service, mind_jobworker.service, mind_siteworker.service, mind_healthmanager.service, mind_api.service, mind_scheduler.service, mind_vaults.service, mind_system.service на Контроллере в правильном порядке. Параметры запуска описаны в /etc/systemd/system/mind-ctrl.target.
  • Backup – выполняет резервное копирование конфигурации Контроллера по расписанию и удаляет устаревшие копии. За работу компонента отвечает сервис mind_backup.service, параметры запуска сервиса описаны в /etc/systemd/system/mind_backup.service. Настройка Backup выполняется через утилиты /opt/mind/bin/mind_backup.
  • ROSA drworker – компонент управления планами аварийного восстановления. За работу компонента отвечает сервис mind_drworker.service, параметры запуска описаны в /etc/systemd/system/mind_drworker.service.

В портфель решений программного комплекса РОСА Миграция на данный момент входят модули по переносу рабочей нагрузки между платформами: РОСА Миграция – для миграции и ROSA Guard – для репликации данных, а также драйверы и Агент, необходимые для выполнения заданий на миграцию и репликацию.