Перейти к основному содержимому

Установка через мастер (wizard)

Мастер установки (install) — это интерактивный установщик с текстовым интерфейсом (TUI) для развёртывания Пересвет-СТ на сервере под управлением Ubuntu 24.04. Он работает полностью офлайн: не обращается в интернет и не выполняет apt-get — все пакеты и артефакты находятся внутри поставляемого тарбола peresvet-st-deploy-*.tar.gz.

Предварительные требования

ТребованиеМинимумРекомендуется
ОСUbuntu 24.0424.04 LTS
RAM4 GB32+ GB
CPU2 ядра16+ ядер
Свободно на /8 GB32+ GB
Сетьне нужнане нужна
Доступrootroot
Терминал60×24100×30+
Примечание

Мастер выдаёт предупреждения при недостатке RAM, CPU или места на диске, но не блокирует установку.

Что внутри тарбола

install                                       бинарь мастера (TUI)
assets/manifest.yaml каталог компонентов и версий
assets/peresvet/*.pa пакеты controller и agent
assets/dpdk/dpdk-runtime-*.tar.xz prebuilt DPDK userspace
assets/thirdparty/ubuntu-24.04/*/*.deb PostgreSQL, ClickHouse, Grafana, runtime-зависимости

Это один self-contained пакет; доступ в интернет на целевом сервере не требуется.

Быстрый старт

  1. Перенесите тарбол на целевой сервер:
scp peresvet-st-deploy-0.1.0-amd64.tar.gz root@<target-ip>:/root/
  1. Распакуйте и запустите мастер:
ssh root@<target-ip>
mkdir -p /root/sti && cd /root/sti
tar xzf /root/peresvet-st-deploy-0.1.0-amd64.tar.gz
./install
  1. В открывшемся TUI выберите «Установить компоненты» и пресет:
  • Контроллерcontroller + postgres + clickhouse + grafana (типовая инсталляция: сервер для приёма метрик от агентов).
  • Агентagent + dpdk (на машине, которая генерирует трафик).
  • Кастом — произвольный набор (Space — отметить компонент).
  1. Заполните форму конфигурации и нажмите Enter — запустится установка (≈ 1 минута).
Внимание

В полях Grafana URL и Controller API URL нельзя указывать localhost или 127.0.0.1 — ядро это валидирует, и сервис не стартует. Указывайте внешний IP-адрес сервера.

Навигация в форме: Tab/↑↓ — переключение между полями, Ctrl+R — показать пароль, Ctrl+G — перегенерировать, Ctrl+U — очистить, Enter — сохранить и запустить.

Пароли PostgreSQL, ClickHouse и администратора Grafana генерируются мастером случайно.

Что делает мастер под капотом

Установка выполняется как последовательность шагов (pipeline):

  1. prereqs — проверка версии ОС, RAM, CPU и свободного места (только чтение, без изменений).
  2. pkginstall — установка .deb-пакетов через dpkg -i и распаковка внутренних .pa-пакетов; systemd-юниты копируются в /etc/systemd/system/.
  3. dpdk-runtime (для агента) — распаковка prebuilt DPDK в /opt/dpdk/, настройка ld.so.conf и ldconfig.
  4. servicessystemctl enable --now для установленных сервисов.
  5. configure — запись .env в /opt/peresvet/{controller,agent}/, создание пользователя и базы PostgreSQL, применение миграций ClickHouse, провижининг Grafana (datasource и дашборды), перезапуск сервисов.

Дополнительно через меню «Инструменты» доступны настройки hugepages, vfio-pci (привязка сетевой карты к DPDK) и mlx-flap.

Устанавливаемые компоненты: controller, agent, postgres (16), clickhouse, grafana, dpdk (24.11.5), mlx-ofed.

Примечание

Мастер не использует Docker, не компилирует ничего на сервере и не выполняет автоматическую перезагрузку. После изменения GRUB (1 GB hugepages или включение IOMMU для vfio-pci) перезагрузку нужно выполнить вручную — мастер выводит соответствующую инструкцию.

Проверка установки

После установки контроллера:

systemctl is-active postgresql clickhouse-server grafana-server peresvet-controller
# все четыре → active

curl -s http://127.0.0.1:3000/api/health
# {"database":"ok",...}

Веб-интерфейсы:

  • Grafanahttp://<ip>:3000 (логин admin, пароль из формы установки), 25+ дашбордов.
  • Контроллерhttp://<ip>:8080.

Состояние компонентов также можно проверить из главного меню → Проверить состояние.

Частые проблемы

СимптомКуда смотреть
peresvet-controller бесконечно в activatingjournalctl -u peresvet-controller — обычно отсутствует .env или указан localhost в URL
Падает dpkg -iпоследняя запись pkginstall в /var/log/peresvet-wizard.log
Ломается TUIтерминал уже минимума 60×24
Grafana пустаяперезапустить grafana-server, проверить /etc/grafana/provisioning/

Логи и диагностика:

cat /var/log/peresvet-wizard.log        # журнал мастера (JSON-Lines)
journalctl -u peresvet-controller -n 50
journalctl -u peresvet-agent -n 50
cat /opt/peresvet/controller/.env

CLI-флаги и темы

./install                            # интерактивный TUI
./install --version # версия
./install --help # справка
./install --theme=auto|light|dark # цветовая тема (по умолчанию auto)
./install --print-theme # напечатать выбранную тему и выйти
./install --update-dashboards # обновить дашборды Grafana и патчи без переустановки

Переменные окружения:

  • STI_THEME=light|dark|auto — то же, что --theme.
  • NO_COLOR=1 — отключить цвет (см. https://no-color.org).