Подготовка к установке#
Важная информация по процессу установки:
- На виртуальной машине, на которую устанавливается сервис топологии, не должен быть установлен Визион.
- Пользователь обладает правами root.
- После запуска сервиса требуется порядка 5-10 минут, прежде чем в графическом интерфейсе станут отображаться данные.
- На первом этапе сервис запускается на искусственных данных (не требуется интеграция с внешними системами или устройствами) для того, чтобы убедиться в корректной работе самого сервиса. На втором этапе сервис переводится на использование реальных данных.
<topology_service_distrib>.tar.gz
— архив с дистрибутивом сервиса.<topology_service_ip>
— IP-адрес хоста, на котором устанавливается сервис.- Установка пакетов с зависимостями поддерживается только из репозиториев ОС.
- Для установки пакетов зависимостей из репозитория дистрибутива (offline-установка пакетов) применяется отдельный скрипт
alter_repo.sh
(см. шаг “Загрузка и инициализация локального репозитория с пакетами”).
Распаковка дистрибутива#
-
Загрузите архив с дистрибутивом сервиса и распакуйте его:
tar -xzf <topology_service_distrib>.tar.gz
-
Перейдите в директорию с распакованным файлами:
cd <topology_service_distrib>
Загрузка и инициализация локального репозитория с пакетами#
Обратите внимание, что выполнение этого шага требуется только при недоступности на хосте сетевых репозиториев и рассчитано на запуск только на Альт 8 СП Сервер 10.2 (c10f2). Также после завершения работы с
setup.sh
(шаг “Установка необходимых зависимостей и запуск установки”) нужно выполнить команду./alter_repo.sh -r
для восстановления исходной конфигурации репозиториев.
Загрузите архив с пакетами <topology_service_packages>.tgz
и запустите скрипт конфигурации репозитория:
./alter_repo.sh -i <topology_service_packages>.tgz
Установка зависимостей и запуск установки#
- Запустите скрипт
./setup.sh
. - Выберите опцию “Установить пакеты зависимостей из репозитория OC” (выполняется однократно).
- После успешной установки зависимостей выберите “Установить сервер Foliage”.
Если на шаге “Загрузка и инициализация локального репозитория с пакетами” запускался скрипт
./alter_repo.sh -i
, то необходимо выполнить команду./alter_repo.sh -r
.
Базовый тест работоспособности интерфейса пользователя#
Через 5-10 минут после завершения установки необходимо убедиться в наличии объектов на экранах топологии https://<topology_service_ip>/?view=hss&id=МБДП-001. Экраны (вкладки) не должны быть пустыми, между элементами на каждом экране должны отображаться связи.
Проверка запущенных сервисов#
Для проверки активности запущенных сервисов выполните команду:
cd /opt/skala-r/foliage && ./check_services.sh
Ожидается, что все сервисы (актуальный список хранится в services.list
) находятся в статусе active
.
Тестовая установка агента сервиса топологии (foliage_agent) локально и базовый интеграционный тест#
Для установки агента:
-
Перейдите в директорию
/opt/skala-r/foliage/maintenance/foliage_agent
:cd /opt/skala-r/foliage/maintenance/foliage_agent
-
В файле
foliage_agent_settings.yml
измените значение переменнойfoliage_agent_nats_host
сlocalhost
на внешний IP-адрес текущего хоста (<topology_service_ip
). -
Запустите плейбук:
ansible-playbook -i sample_inventory.yml install.yml
После установки необходимо убедиться в работоспособности агента командой systemctl status foliage_agent и передачи минимальных данных (ip и hostname) в CMDB (ниже <topology_service_ip>_shsi это ID вершины, сгенерированный на базе IP-адреса текущего хоста).
Ошибки вида “level=error msg=“Команда ‘pcs status xml’ завершилась с ошибкой” допустимы, т. к. консольная команда
pcs
доступна только на хостах, где развернут кластерcorosync
.
Информация в CMDB имеет вид графа, вершинами которого являются объекты.
Для проверки наличия информации о иерархии объектов выполните команду:
./foliage_cli_routes.sh scala_connectors_server-from-ip
Пример вывода команды:
scala_connectors_server-from-ip
└── [depth=1] OUT
...
├── [hss/<topology_service_ip>_shsi] hss/<topology_service_ip>_shsi
...
├── [hss/scala_connectors_server-command-output] hss/scala_connectors_server-command-output
...
Для получения информации о вершине выполните команду:
./foliage_cli_inspect.sh <topology_service_ip>_shsi
Пример вывода команды:
...
Body {
...
"hostname": "vision-ifedulov-monitoring-target",
"ip": "192.168.191.188"
}
Убедитесь, что минимальная информация с запущенного foliage_agent стала доступна в интерфейсе пользователя. Сервер и его IP-адрес должны быть видны в левой колонке на экране ПАК (связь с элементами в средней колонке Services не должна отображаться). При переходе на экран “Детальный вид” отображаются данные на панелях “Hardware subsystem > RAM”, “Network subsystem > BMC”. При переходе на экран “Подсистема хранения” показываются данные в колонках Partitions и Disks.
Перевод экземпляра сервиса топологии на реальные данные#
Перевод осуществляется через остановку всех компонентов, очистку jetstream, изменение конфигурационных файлов и повторный запуск сервисов.
Перед внесением правок в конфигурационные файлы, необходимо выполнить предусловия и подготовить следующую информацию:
-
В Визионе заполнена обьектная модель ПАКа (серверы, коммутаторы и др.).
-
Адрес Визиона
<vision_api>
(например,https://192.168.191.61
). -
Ключ авторизации Визиона
<vision_bearer_token>
.Для создания ключа авторизации пользователю должна быть назначена роль
vsn_config
.Для создания ключа перейдите на страницу
<vision_api>/vision/security/tokens
.Обратите внимание, что это не должен быть идентификатор токена (UUID). Длина токена составляет около 200 символов. Существующий токен нельзя скопировать — нужно или создать новый, или перегенерировать существующий. Для выполнения обеих операций используйте кнопку Сгенерировать.
-
Идентификатор ПАК (
<pak_id>
), для которого поднят текущий инстанс сервиса топологии (например,pl-mbd2
). -
Список серверов ПАК, на которых будет устанавливаться foliage_agent, чтобы отправлять данные в CMDB сервиса топологии.
-
Инвентори файл
<pak_inventory_file>
для установки агентов сервиса топологии. -
Данные о сетях и физическом размещении устройств ПАК (стойки, серверы, коммутаторы и др.). См. инструкцию по заполнению .
Все действия выполняйте в директории с установленным сервисом топологии (/opt/skala-r/foliage
).
-
Остановите сервисы:
./manage_services.sh stop
-
Очистите хранилище jetstream:
./drop_jetstream_storage.sh
-
В конфигурационном файле
deploy_settings.yml
задайте значения следующих параметров:pak_id
: идентификатор ПАК.vision_api
: адрес Визиона.vision_bearer_token
: ключ авторизации Визиона.snmp_port
:161
.
Пример заполнения:
pak_id: pl-mbd2 vision_api: https://192.168.191.61 vision_bearer_token: a9238912******23198d9sdj snmp_port: 161
-
Преобразуйте файл
deploy_settings.yml
в формат ENV:ansible-playbook convert_deploy_settings.yml
Эту операцию нужно выполнять при любых изменениях в файле
deploy_settings.yml
. -
Измените конфигурационные файлы для сетей и физического размещения устройств ПАК:
configs/common/nmrd/networks.json
;configs/common/nmrd/virtual_location.json
.
-
Запустите плейбук обновления конфигурационных файлов:
ansible-playbook disable_dumps.yml
-
Установите агенты на серверы ПАК:
cd maintenance/foliage_agent && ansible-playbook -i "<pak_inventory_file>" install.yml
-
Последовательно запустите сервисы:
systemctl start nats_server && sleep 5s && systemctl start main && sleep 5s && ./manage_services.sh start
После перевода на реальные данные адрес в UI изменится (на примере pak_id: pl-mbd2
):
https://<topology_service_ip>/?view=hss&id=<pak_id>.