Установка через мастер (wizard)
Мастер установки (install) — это интерактивный установщик с текстовым интерфейсом (TUI) для развёртывания Пересвет-СТ на сервере под управлением Ubuntu 24.04. Он работает полностью офлайн: не обращается в интернет и не выполняет apt-get — все пакеты и артефакты находятся внутри поставляемого тарбола peresvet-st-deploy-*.tar.gz.
Предварительные требования
| Требование | Минимум | Рекомендуется |
|---|---|---|
| ОС | Ubuntu 24.04 | 24.04 LTS |
| RAM | 4 GB | 32+ GB |
| CPU | 2 ядра | 16+ ядер |
Свободно на / | 8 GB | 32+ GB |
| Сеть | не нужна | не нужна |
| Доступ | root | root |
| Терминал | 60×24 | 100×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 пакет; доступ в интернет на целевом сервере не требуется.
Быстрый старт
- Перенесите тарбол на целевой сервер:
scp peresvet-st-deploy-0.1.0-amd64.tar.gz root@<target-ip>:/root/
- Распакуйте и запустите мастер:
ssh root@<target-ip>
mkdir -p /root/sti && cd /root/sti
tar xzf /root/peresvet-st-deploy-0.1.0-amd64.tar.gz
./install
- В открывшемся TUI выберите «Установить компоненты» и пресет:
- Контроллер —
controller+postgres+clickhouse+grafana(типовая инсталляция: сервер для приёма метрик от агентов). - Агент —
agent+dpdk(на машине, которая генерирует трафик). - Кастом — произвольный набор (
Space— отметить компонент).
- Заполните форму конфигурации и нажмите
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):
- prereqs — проверка версии ОС, RAM, CPU и свободного места (только чтение, без изменений).
- pkginstall — установка
.deb-пакетов черезdpkg -iи распаковка внутренних.pa-пакетов; systemd-юниты копируются в/etc/systemd/system/. - dpdk-runtime (для агента) — распаковка prebuilt DPDK в
/opt/dpdk/, настройкаld.so.confиldconfig. - services —
systemctl enable --nowдля установленных сервисов. - 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",...}
Веб-интерфейсы:
- Grafana —
http://<ip>:3000(логинadmin, пароль из формы установки), 25+ дашбордов. - Контроллер —
http://<ip>:8080.
Состояние компонентов также можно проверить из главного меню → Проверить состояние.
Частые проблемы
| Симптом | Куда смотреть |
|---|---|
peresvet-controller бесконечно в activating | journalctl -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).