Руководство по установке и первичной настройке MIND Suite 2.16-1
Назначение документа
Документ описывает подготовку окружения, установку, первичную настройку, обновление и удаление контроллера MIND Suite 2.16-1. Документ предназначен для администраторов, которые выполняют установку и обслуживание контроллера MIND Suite на сервере с совместимой ОС контроллера.
Термины и сокращения
- Агент MIND
Сервис, который запускается на источнике или приёмнике и взаимодействует с контроллером в процессе настройки и запуска заданий на миграцию или репликацию. Агент получает и выполняет команды с контроллера, ведёт журнал событий, запускает хост-утилиты и отправляет контроллеру информацию о статусе заданий. Может устанавливаться в ручном режиме или автоматически.
- Контроллер
Центральный компонент MIND Suite, который устанавливается на выделенный сервер, управляет сервисами платформы и предоставляет веб-интерфейс для первичной настройки и дальнейшей работы.
- Контрольная сумма
Значение, которое используется для проверки целостности установочного файла перед распаковкой и запуском встроенных скриптов.
- Непривилегированная учётная запись контроллера
Учётная запись ОС Linux, от имени которой запускаются сервисы контроллера MIND Suite в rootless-режиме. По умолчанию используется учётная запись mindctrl.
- Непривилегированный режим запуска (rootless)
Режим запуска сервисов и контейнеров без использования учётной записи root. В MIND Suite применяется для запуска сервисов контроллера от имени выделенной непривилегированной учётной записи и использует механизмы изоляции Linux для непривилегированного запуска.
- Пространство имён (namespace)
Механизм изоляции ресурсов Linux, при котором процессам предоставляется отдельное представление системных ресурсов. В MIND Suite для изоляции сервисов контроллера используется отдельное сетевое пространство имён.
- Установочный файл
Единый файл mind_2.16-1.run, который содержит зависимости, скрипты подготовки операционной системы и установочные файлы контроллера MIND Suite.
- УЦ
Удостоверяющий центр, который выпускает и подписывает сертификаты, используемые для проверки подлинности сторон и защиты сетевых соединений.
- API
Application Programming Interface — программный интерфейс приложения, который используется для взаимодействия между программными компонентами.
- KTMU
Kernel Tools with MIND Utilities — загрузочный образ, содержащий базовую ОС, драйверы и утилиты MIND, используемый для выполнения служебных операций при миграции и репликации.
- LKTMU
Linux Kernel Tools with MIND Utilities — загрузочный образ временной ОС Linux (lktmu.iso), используемый при подготовке и запуске служебных операций.
- NTP
Network Time Protocol — сетевой протокол синхронизации времени между устройствами.
- SELinux на сервере контроллера
Механизм разграничения доступа в ОС Linux. Контроллер MIND Suite поддерживает работу на сервере с включённым SELinux в режиме enforcing.
- SSH
Secure Shell — сетевой протокол для защищённого удалённого доступа и выполнения команд.
- TLS
Transport Layer Security – криптографический протокол защиты сетевых соединений. Обеспечивает аутентификацию, конфиденциальность и контроль целостности передаваемых данных.
- WKTMU
Windows Kernel Tools with MIND Utilities — загрузочный образ временной ОС Windows (wktmu.wim и wktmu.sdi), используемый при подготовке и запуске служебных операций.
Подготовка окружения
Предварительные условия
Перед установкой контроллера MIND Suite проверьте, что выполнены следующие условия:
подготовлен выделенный сервер с совместимой ОС контроллера;
у администратора есть права для запуска команд от имени пользователя root;
получен доступ к Личному кабинету Пользователя для скачивания установочного файла и драйверов;
установочный файл mind_2.16-1.run соответствует ОС, на которой выполняется установка;
если установка выполняется с собственными TLS-сертификатами, подготовлен каталог с файлами сертификатов;
Получение установочного файла
Установочный файл для выбранной операционной системы можно скачать из Личного кабинета Пользователя в разделе Загрузки. Файл представляет собой единый установочный файл mind_2.16-1.run, содержащий:
все необходимые зависимости;
скрипты подготовки операционной системы к установке контроллера и обновлению существующих установок;
установочные файлы контроллера MIND Suite.
Все зависимости поставляются внутри установочного файла и не требуют доступа к внешним репозиториям, что позволяет устанавливать контроллер в закрытых контурах.
Системные требования
Для установки контроллера MIND Suite необходима виртуальная машина со следующими ресурсами:
CPU — не менее 4;
оперативная память — не менее 8 ГБ;
дисковое пространство — не менее 50 ГБ.
Виртуальная машина для контроллера MIND Suite должна работать под управлением операционной системы из списка совместимости. Полный перечень совместимых ОС приведён в документе «Матрица совместимости MIND Suite».
Необходимые пакеты и параметры ОС
Перед установкой проверьте обязательные пакеты и параметры ОС:
для ОС Ubuntu и Astra Linux должен быть установлен пакет iptables;
при наличии на сервере настроенного и работающего SELinux в системе должна быть установлена утилита semanage.
При установке контроллера на ОС на базе RHEL под непривилегированной учётной записью проверьте значение параметра max_user_namespaces:
cat /proc/sys/user/max_user_namespaces
Если значение max_user_namespaces равно нулю, увеличьте его, выполнив команду:
sudo sh -c 'echo user.max_user_namespaces=10000 > /etc/sysctl.d/42-rootless.conf && sysctl --system'
Настройка межсетевого экрана
По умолчанию контроллер принимает входящие подключения по протоколам HTTP и HTTPS:
Источник трафика |
Порт и протокол |
Назначение |
|---|---|---|
Рабочая станция администратора |
TCP 80, HTTP |
Подключение к веб-интерфейсу контроллера и доступ к REST API |
Рабочая станция администратора |
TCP 443, HTTPS |
Подключение к веб-интерфейсу контроллера и доступ к REST API |
Машина с агентом MIND |
TCP 80, HTTP |
Подключение агента к контроллеру |
Машина с агентом MIND |
TCP 443, HTTPS |
Подключение агента к контроллеру |
Для работы контроллера и ОС могут использоваться общесистемные сервисы:
Сервис |
Порт и протокол |
Назначение |
|---|---|---|
DNS |
TCP/UDP 53 |
Разрешение доменных имён |
NTP |
UDP 123 |
Синхронизация системного времени |
SSH |
TCP 22 |
Удалённый доступ с шифрованием соединения |
Полный перечень протоколов и портов приведён в разделе Протоколы и порты документов «Руководство администратора MIND Migrate #guest» и «Руководство администратора MIND Guard #guest».
Для подключения агента MIND к контроллеру используйте опубликованный адрес контроллера и разрешённые сетевые порты.
Для синхронизации времени в инфраструктуре используйте NTP, а для защищённого удалённого администрирования — SSH.
Если на сервере с ОС на базе RHEL (РЕД ОС, SberLinux OS Server, РОСА Хром Сервер) используется межсетевой экран firewalld, разрешите подключение к контроллеру по протоколам HTTP и HTTPS:
sudo firewall-cmd --add-service=http
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --add-service=https
sudo firewall-cmd --permanent --add-service=https
Установка
Важно
установка контроллера и запуск его сервисов под учётной записью root не поддерживаются, все новые установки выполняются в rootless-режиме;
контроллер MIND Suite устанавливается только с использованием единого установочного файла mind_2.16-1.run.
Установочный файл mind_2.16-1.run должен запускаться от имени пользователя с правами root. Он настраивает запуск всех сервисов контроллера в непривилегированном режиме запуска (rootless) под отдельной непривилегированной учётной записью контроллера mindctrl.
Если требуется работа контроллера под другой непривилегированной учётной записью, укажите её имя с помощью параметра встроенного скрипта установки -u / --username. Параметры встроенного скрипта установки передавайте после разделителя --.
Дополнительная информация о работе под непривилегированной учётной записью приведена в документе «Руководство по обеспечению безопасности MIND Suite».
Примечание
При запуске установочного файла mind_2.16-1.run автоматически выполняется:
проверка целостности архива по контрольной сумме;
удаление ранее установленных пакетов контроллера MIND Suite формата .deb/.rpm, если такие пакеты присутствуют в системе;
распаковка файлов в каталог / и запуск скрипта /opt/mind/bin/install.sh.
Установка или обновление контроллера из отдельных .deb/.rpm-пакетов начиная с версии 2.16 не поддерживаются.
Сценарии установки
Выберите сценарий установки в зависимости от требований к окружению:
установка с настройками по умолчанию — контроллер устанавливается в rootless-режиме под учётной записью mindctrl;
установка с другой непривилегированной учётной записью — имя учётной записи передаётся в параметре
-u/--username;установка с выделенным пространством имён — используется параметр
--namespace;установка с собственными TLS-сертификатами — путь к каталогу с сертификатами передаётся в параметре
-c;
Установка с настройками по умолчанию
Скопируйте файл mind_2.16-1.run на сервер контроллера.
Сделайте файл исполняемым:
sudo chmod +x ./mind_2.16-1.runЗапустите установку контроллера с настройками по умолчанию:
sudo ./mind_2.16-1.runПосле запуска файла mind_2.16-1.run система автоматически определит операционную систему, подготовит окружение, установит все зависимости и компоненты MIND Suite, настроит запуск сервисов в rootless-режиме под учётной записью mindctrl и запустит необходимые сервисы.
Установка с дополнительными параметрами
Единый установочный файл поддерживает запуск с дополнительными параметрами встроенного скрипта установки. Указывайте такие параметры после разделителя --:
-u <user_name>,--username <user_name>— имя учётной записи для установки контроллера в непривилегированном режиме. Сервисы контроллера MIND Suite будут запускаться от указанного пользователя вместо учётной записи mindctrl.-c <cert_dir>— путь к каталогу с сертификатами, которые должны быть установлены во время установки контроллера.--namespace— включить использование выделенного пространства имён для новой установки контроллера. Для уже существующих установок включение пространства имён по-прежнему выполняется командойnamespace.sh enable.
Разделитель -- не требуется для параметров распаковки установочного файла, например --noexec и --target.
Примеры запуска:
Установка контроллера с использованием непривилегированной учётной записи mindctrl по умолчанию:
sudo ./mind_2.16-1.runУстановка контроллера с использованием непривилегированной учётной записи mindctrl2:
sudo ./mind_2.16-1.run -- --username mindctrl2Установка контроллера с использованием краткой формы параметра для указания непривилегированной учётной записи:
sudo ./mind_2.16-1.run -- -u mindctrl2Установка контроллера с использованием выделенного пространства имён:
sudo ./mind_2.16-1.run -- --namespaceУстановка контроллера с сертификатами из каталога /root/mind_certs:
sudo ./mind_2.16-1.run -- -c /root/mind_certsСовместное использование нескольких параметров встроенного скрипта установки:
sudo ./mind_2.16-1.run -- --namespace --username mindctrl2 -c /root/mind_certs
Список всех поддерживаемых параметров встроенного скрипта установки можно получить командой:
./mind_2.16-1.run --help
Проверка содержимого установочного файла
Для аудита, анализа содержимого установочного файла или проверки безопасности распакуйте mind_2.16-1.run без установки контроллера.
Для распаковки используйте служебные параметры установочного файла:
--noexec— распаковать архив без выполнения встроенных скриптов;--target <dir>— указать каталог, в который будут распакованы файлы.
Пример распаковки без установки:
./mind_2.16-1.run --noexec --target /tmp/mind_unpack
Проверка результата установки
В результате выполнения установочного файла mind_2.16-1.run с выбранными параметрами:
компоненты контроллера MIND Suite будут установлены в каталоге /opt/mind/;
будут установлены необходимые зависимости;
будут настроены и запущены сервисы контроллера MIND Suite в rootless-режиме под непривилегированной учётной записью mindctrl или учётной записью, указанной в параметре
-u/--username.
Проверьте состояние основных сервисов контроллера:
# Состояние группы сервисов контроллера
sudo systemctl status mind-ctrl.target
# Состояние инфраструктурных сервисов
sudo systemctl status nginx.service
sudo systemctl status mind_postgres.service
sudo systemctl status mind_rabbitmq.service
sudo systemctl status mind_influxdb.service
sudo systemctl status mind_logs.service
# Состояние компонентов контроллера
sudo systemctl status mind_taskworker.service
sudo systemctl status mind_jobworker.service
sudo systemctl status mind_siteworker.service
sudo systemctl status mind_healthmanager.service
sudo systemctl status mind_api.service
sudo systemctl status mind_scheduler.service
sudo systemctl status mind_vaults.service
sudo systemctl status mind_system.service
sudo systemctl status mind_backup.service
sudo systemctl status mind_drworker.service
Проверьте, что веб-интерфейс контроллера доступен по адресу:
https://<ip_адрес_контроллера>
После завершения установки можно переходить к первичной настройке контроллера в соответствии с документами «Руководство администратора MIND Migrate #guest» и «Руководство администратора MIND Guard #guest».
Настройка контроллера
Настройка параметров подключения
После установки ПО MIND Suite выполните настройку контроллера:
Подключитесь к интерфейсу: введите в браузере адрес контроллера, например https://<ip_адрес_контроллера>.
В окне предварительной настройки заполните следующие поля:
Публичный адрес;
Логин;
Пароль;
Повторный ввод пароля;
Почтовый адрес администратора.
Нажмите кнопку Применить. Откроется окно авторизации.
Для входа укажите учётные данные, введённые ранее.
Настройка TLS-соединения с агентами
Контроллер и агенты MIND поддерживают два варианта взаимодействия:
Шифрованное соединение по TLS.
Нешифрованное соединение.
Выбор режима работы зависит от протокола, указанного в поле Публичный адрес. Если указан https://, агенты подключаются по HTTPS. Если указан http://, агенты подключаются по HTTP.
Настройка сертификатов
В интерфейсе администрирования доступны генерация самоподписанных TLS-сертификатов и загрузка сертификатов, выданных доверенным УЦ.
Формы для генерации новых самоподписанных сертификатов и замены существующих отображаются в разделе Администрирование > Общие настройки.
Подробная информация по работе с сертификатами приведена в документах «Руководство администратора MIND Migrate #guest» и «Руководство администратора MIND Guard #guest».
Добавление драйверов
Драйверы MIND можно добавить на контроллер вручную или установить пакет драйверов с помощью скрипта.
Импорт драйверов
Скачайте драйверы из Личного кабинета Пользователя в разделе Загрузки.
Выбирайте драйверы в зависимости от типа операционной системы и версии ядра, установленных на источнике.
Важно
При выборе драйвера в Личном кабинете учитывайте совместимую версию API: для MIND Suite 2.16-1 в имени драйвера должен быть указан код версии 102-10xx, например 102-1008, 102-1009 или 102-1010.
Если необходимые драйверы отсутствуют, обратитесь в Службу технической поддержки MIND.
Специалисты подготовят драйверы для вашей конфигурации.
Импортируйте драйверы на контроллер.
Каждый драйвер представляет собой отдельный архив формата ZIP. Во время импорта система автоматически проверяет драйверы и регистрирует их в платформе. Извлекать файлы из архивов не требуется.
Образы KTMU (Kernel Tools with MIND Utilities) — WKTMU (wktmu.zip) для миграции машин на ОС Windows и LKTMU (lktmu.zip) для ОС Linux — поставляются в установочном файле mind_2.16-1.run. При необходимости их также можно скачать из Личного кабинета Пользователя в разделе RAM-диски.
Подробная информация по использованию собственных образов KTMU приведена в документах «Руководство администратора MIND Migrate #guest» и «Руководство администратора MIND Guard #guest».
Установка пакета драйверов
Чтобы установить полный пакет драйверов для операционных систем, выполните следующие действия:
Скачайте скрипт из Личного кабинета Пользователя в разделе Загрузки, на вкладке Установочные пакеты.
Загрузите скрипт во временный каталог контроллера MIND.
Назначьте права на запуск:
sudo chmod +x ./mind_drivers_102-1018.shЗапустите скрипт:
sudo ./mind_drivers_102-1018.shЕсли отображается сообщение
no packages found matching unzip, выполните следующую команду:sudo apt install unzipПосле этого снова запустите скрипт:
sudo ./mind_drivers_102-1018.sh
Обновите страницу интерфейса контроллера MIND.
Обновление
MIND Suite поддерживает обновление существующих установок контроллера путём установки более новых версий ПО. Если podman был установлен ранее, рекомендуется удалить его перед выполнением обновления.
В таблице ниже показаны поддерживаемые прямые переходы между версиями MIND Suite. Версии в первом столбце — это версии, с которых выполняется обновление. Версии в заголовках столбцов — это версии, на которые выполняется обновление. Значение Да на пересечении строки и столбца означает, что прямое обновление поддерживается.
Если в таблице недоступно прямое обновление, удалите контроллер согласно разделу Удаление контроллера, затем установите нужную версию.
Версия |
2.14 |
2.14-1 |
2.15 |
2.15-1 |
2.16 |
2.16-1 |
|---|---|---|---|---|---|---|
2.13-X и более ранние версии |
||||||
2.14 |
Да |
Да |
Да |
Да |
Да |
|
2.14-1 |
Да |
Да |
Да |
Да |
||
2.15 |
Да |
Да |
Да |
|||
2.15-1 |
Да |
Да |
||||
2.16 |
Да |
Примечания к обновлению
При обновлении контроллера с предыдущих версий, если на контроллере был изменён пароль для подключения к СУБД, проверьте учётные данные БД в файлах config.yml и mind_system_config.yml. Для смены паролей в контейнерах используйте скрипт /opt/mind/bin/password_changer.sh.
Дополнительная информация по замене пароля для БД приведена в документе «Руководство по обеспечению безопасности MIND Suite».
Стандартная процедура обновления
Для обновления существующей установки контроллера MIND Suite с поддерживаемых версий до версии 2.16-1 используйте установочный файл mind_2.16-1.run на уже установленном контроллере.
Скопируйте файл mind_2.16-1.run на сервер с установленным контроллером.
Сделайте файл исполняемым:
sudo chmod +x ./mind_2.16-1.runЗапустите установку обновления:
sudo ./mind_2.16-1.runили с указанием непривилегированной учётной записи:
sudo ./mind_2.16-1.run -- --username mindctrl2Параметр
--namespaceпри обновлении не изменяет существующие настройки пространства имён; для включения этого режима на уже установленном контроллере по-прежнему используется командаnamespace.sh enable.По окончании обновления убедитесь, что внизу страницы интерфейса отображается версия контроллера 2.16-1.
При обновлении:
устанавливается версия контроллера 2.16-1 с сохранением данных и конфигурации;
если до обновления контроллер был установлен в режиме root, все сервисы переводятся в rootless-режим и начинают запускаться от учётной записи mindctrl или от учётной записи, указанной в параметре
-u/--username;сохраняется режим работы контроллера в rootless-режиме с использованием выделенного пространства имён, если он был включён до обновления.
Примечание
После перехода на новую версию продукта очистите файлы cookie и кэш браузера.
Если перед обновлением контроллера были повторно сгенерированы самоподписанные сертификаты, замените их ранее сохранёнными файлами сертификатов или сертификатами, выданными доверенным УЦ.
Подробная информация по работе с сертификатами приведена в документах «Руководство администратора MIND Migrate #guest» и «Руководство администратора MIND Guard #guest».
Удаление контроллера
Удаление контроллера требуется перед установкой новой версии ПО, если прямое обновление с установленной версии не поддерживается.
Информация об удалении контроллера представлена в статье Базы знаний Удаление контроллера MIND.
Поиск и устранение неисправностей
Если установка завершилась с ошибкой или веб-интерфейс контроллера недоступен, проверьте состояние сервисов контроллера:
# Состояние группы сервисов контроллера
sudo systemctl status mind-ctrl.target
# Состояние инфраструктурных сервисов
sudo systemctl status nginx.service
sudo systemctl status mind_postgres.service
sudo systemctl status mind_rabbitmq.service
sudo systemctl status mind_influxdb.service
sudo systemctl status mind_logs.service
# Состояние компонентов контроллера
sudo systemctl status mind_taskworker.service
sudo systemctl status mind_jobworker.service
sudo systemctl status mind_siteworker.service
sudo systemctl status mind_healthmanager.service
sudo systemctl status mind_api.service
sudo systemctl status mind_scheduler.service
sudo systemctl status mind_vaults.service
sudo systemctl status mind_system.service
sudo systemctl status mind_backup.service
sudo systemctl status mind_drworker.service
Проверьте журналы сервисов:
# Журнал группы сервисов контроллера
sudo journalctl -u mind-ctrl.target
# Журналы инфраструктурных сервисов
sudo journalctl -u nginx.service
sudo journalctl -u mind_postgres.service
sudo journalctl -u mind_rabbitmq.service
sudo journalctl -u mind_influxdb.service
sudo journalctl -u mind_logs.service
# Журналы компонентов контроллера
sudo journalctl -u mind_taskworker.service
sudo journalctl -u mind_jobworker.service
sudo journalctl -u mind_siteworker.service
sudo journalctl -u mind_healthmanager.service
sudo journalctl -u mind_api.service
sudo journalctl -u mind_scheduler.service
sudo journalctl -u mind_vaults.service
sudo journalctl -u mind_system.service
sudo journalctl -u mind_backup.service
sudo journalctl -u mind_drworker.service
Для диагностики работы контроллера используйте журналы в каталогах /var/log/nginx и /var/log/mind.
Если ошибка связана с подключением к веб-интерфейсу, проверьте:
доступность контроллера по портам TCP 80 и TCP 443;
правила межсетевого экрана на сервере контроллера;
корректность значения поля Публичный адрес: должен быть указан тот же адрес, который был задан при настройке контроллера и используется для подключения в формате http(s)://<ip_or_fqdn>.
Если ошибка связана с запуском сервисов MIND Suite, проверьте:
наличие свободного дискового пространства в /opt;
наличие пакета iptables для ОС Ubuntu и Astra Linux;
наличие утилиты semanage, если на сервере включён SELinux;
значение параметра
max_user_namespacesдля ОС на базе RHEL при установке под непривилегированной учётной записью.
Если проблему не удалось устранить, обратитесь в Службу технической поддержки MIND.
Ссылки
Сайт MIND Software: mindsw.io.
Личный кабинет Пользователя: https://my.mindsw.io.