Быстрый старт
Краткая шпаргалка: поднять сервер LSUS (роль Master, в Docker-контейнерах) и клиент (пакет на управляемый хост) за минимум шагов. Минимальный контур для проверки — один Master + один клиент.
Серверные роли разворачиваются только в Docker — пакеты ОС LSUS сами установят Docker, загрузят образы и запустят контейнеры. Клиент lsus-client ставится на хост управляемой машины напрямую из пакета.
Полные сценарии с пояснениями: Развёртывание серверов. Требования к хосту (ОС, ресурсы, firewall, DNS SRV): Требования и подготовка. Справочник портов и переменных: Справочник.
Это шпаргалка
Здесь — только команды для быстрого старта. Объяснения, проверочные шаги, регистрация Site/Edge, настройка HTTPS и вынос дисков — в Развёртывании серверов.
Минимальные требования¶
| Сервер (Master) | Клиент | |
|---|---|---|
| ОС | Astra 1.7/1.8, Debian 13, Ubuntu 24.04+, РЕД ОС, Альт Сервер 11 | то же семейство, что и пакет |
| Ресурсы | 4 vCPU / 8 ГБ RAM (для пилота) | 1 vCPU / 1 ГБ RAM |
| Диск | от 120 ГБ под /opt/lsus-docker/data (для пилота; продуктив — см. Требования) |
~1 ГБ |
| Сеть | открытый порт 8443 (443 — при ручном развёртывании из .env.example) |
исходящий HTTPS до сервера |
Порядок установки сервера (любая роль)¶
Ролевой пакет LSUS (lsus-master, lsus-site, lsus-edge) через Depends/Requires автоматически тянет пакеты Docker-образов и сам Docker, после чего запускает сервер в контейнерах. На практике достаточно поставить только ролевой пакет — пакетный менеджер установит Docker, образы и все остальное. Полная раскладка по пакетам:
| № | Пакет | Назначение | Master | Site | Edge |
|---|---|---|---|---|---|
| 1 | lsus-image-postgres |
Образ контейнера PostgreSQL 15 | ✅ | ✅ | ✅ |
| 2 | lsus-image-pgbouncer |
Образ контейнера PgBouncer (пул соединений PG) | ✅ | ✅ | — |
| 3 | lsus-image-nginx |
Образ контейнера nginx (TLS-фронтенд) | ✅ | ✅ | ✅ |
| 4 | lsus-image-master / lsus-image-site / lsus-image-edge |
Образ приложения роли | ✅ | ✅ | ✅ |
| 5 | lsus-master / lsus-site / lsus-edge |
Ролевая установка: .env, данные, запуск контейнеров |
✅ | ✅ | ✅ |
PgBouncer нужен только Master и Site
Edge работает без пула соединений: к БД lsus_edge обращается только сам контейнер lsus-edge, нагрузка на соединения существенно ниже, чем у веб-процесса Master/Site. Поэтому пакет lsus-image-pgbouncer от Edge не зависит и при его установке не ставится.
Роль PXE (lsus-pxe + lsus-image-pxe + lsus-image-nginx) — отдельный exclusive-хост без PostgreSQL, ≥100 ГБ под ISO. Не входит в минимальный контур «Master + клиент». См. Установка PXE.
В командах ниже пакеты образов показаны явными шагами — для случаев, когда пакеты ставятся из локального каталога и зависимости автоматически не разрешаются. При установке из репозитория ОС с правильно настроенными Depends достаточно одного ролевого пакета.
Astra / Debian / Ubuntu (.deb)¶
cd /opt/lsus-pkgs # каталог с пакетами
sudo apt update
# Master (замените <версия> и суффикс дистрибутива: _astra / _debian / _ubuntu)
sudo apt install ./lsus-image-postgres_<версия>_all.deb
sudo apt install ./lsus-image-pgbouncer_<версия>_all.deb
sudo apt install ./lsus-image-nginx_<версия>_all.deb
sudo apt install ./lsus-image-master_<версия>_all.deb
sudo apt install ./lsus-master_<версия>_astra.deb
Проверка (ожидаемый ответ — {"status":"ok","role":"master"}):
# порт 8443 — дефолт пакетов ОС (443 — при ручном развёртывании из .env.example)
curl -k https://master.example.com:8443/api/v1/health
Смените пароль
Дефолтный пароль admin — !LsusAdminMaster2026@. Смените его сразу после первого входа. Подробности — в Развёртывании серверов.
РЕД ОС (.rpm)¶
cd /opt/lsus-pkgs
sudo dnf install ./lsus-image-postgres-<версия>-1.noarch.rpm
sudo dnf install ./lsus-image-pgbouncer-<версия>-1.noarch.rpm
sudo dnf install ./lsus-image-nginx-<версия>-1.noarch.rpm
sudo dnf install ./lsus-image-master-<версия>-1.noarch.rpm
sudo dnf install ./lsus-master-<версия>-1.noarch.rpm
Проверка — как для Astra.
Альт Сервер (.rpm, apt-rpm)¶
На Альт Сервере команды выполняются от root (su -, без sudo), установка — только через apt-get; Docker (docker-engine, docker-compose) подтянется из репозитория p11. Пакеты Альт-линейки имеют суффикс -alt1:
$ cd /opt/lsus-pkgs
$ su -
# apt-get update && # apt-get install ./lsus-image-postgres-<версия>-alt1.noarch.rpm \
./lsus-image-redis-<версия>-alt1.noarch.rpm \
./lsus-image-pgbouncer-<версия>-alt1.noarch.rpm \
./lsus-image-nginx-<версия>-alt1.noarch.rpm \
./lsus-image-master-<версия>-alt1.noarch.rpm \
./lsus-master-<версия>-alt1.noarch.rpm
Проверка (порт 8443 — дефолт Альт-пакетов; графику на сервер не ставьте, веб-интерфейс открывайте с рабочей станции):
# curl -k https://master.example.com:8443/api/v1/health
Полное руководство по установке на Альт — в Развёртывании серверов.
Для Site и Edge
Для Site замените lsus-image-master на lsus-image-site, а ролевой пакет — на lsus-site. Для Edge пакет lsus-image-pgbouncer не нужен (см. таблицу выше), а ролевой пакет — lsus-edge.
Порты при первой установке (опционально)¶
Если /opt/lsus-docker/.env ещё не существует, порты можно задать в той же команде:
# Master на нестандартном порту
sudo LSUS_INSTALL_MASTER_PORT=9443 apt install ./lsus-master_<версия>_astra.deb
# Edge
sudo LSUS_INSTALL_EDGE_PORT=9440 dnf install ./lsus-edge-<версия>-1.noarch.rpm
# Альт Сервер (от root, su -)
# LSUS_INSTALL_MASTER_PORT=9443 apt-get install ./lsus-master-<версия>-alt1.noarch.rpm
При обновлении пакета эти переменные не читаются — порты берутся из существующего .env. Полная таблица — в Справочнике.
Установка клиента¶
Клиент LSUS устанавливается на хост управляемой машины напрямую из пакета (без Docker) — в отличие от серверных ролей, которые работают в контейнерах. Клиент поставляется двумя пакетами: lsus-client (служба, обязательно на всех машинах) и lsus-client-gui (GUI-трей, опционально для рабочих станций).
cd /opt/lsus-pkgs
# Astra / Debian / Ubuntu
sudo apt install ./lsus-client_<версия>_all.deb
sudo apt install ./lsus-client-gui_<версия>_all.deb # опционально, для рабочих станций
# РЕД ОС
sudo dnf install ./lsus-client-<версия>-1.noarch.rpm
sudo dnf install ./lsus-client-gui-<версия>-1.noarch.rpm # опционально
# Альт Сервер (от root, su -)
# apt-get install ./lsus-client-<версия>-1.noarch.rpm
# apt-get install ./lsus-client-gui-<версия>-1.noarch.rpm # опционально
Настроить подключение к серверу и запустить службу:
sudo install -d -m 0755 /etc/lsus-client
printf '%s\n' '[server]' 'server_url = https://master.example.com' \
| sudo tee /etc/lsus-client/lsus-client-common.conf
sudo systemctl enable --now lsus-client.service
На Альт Сервере то же самое от root (su -):
# install -d -m 0755 /etc/lsus-client
# printf '%s\n' '[server]' 'server_url = https://master.example.com' \
> /etc/lsus-client/lsus-client-common.conf
# systemctl enable --now lsus-client.service
Проверка: хост появится в админке Master, heartbeat обновляется. Подробнее о конфиге, диагностике и DNS SRV — в Клиент LSUS.
DNS SRV для автообнаружения клиентов¶
Для корпоративного развёртывания — обязательный шаг
В любой организации с собственным DNS-сервером настройте SRV-запись до массовой установки агентов. Это избавит от необходимости вручную прописывать server_url на каждой машине: клиент сам найдёт сервер, а при наличии нескольких Master/Site — выберет ближайший по отклику. Без SRV администратору придётся либо заранее готовить конфиг каждого хоста, либо распространять его через систему управления конфигурацией.
Что нужно сделать на DNS-сервере¶
Добавьте SRV-запись в зону вашего домена (например, example.com):
# порт обязан совпадать с MASTER_PORT в .env (по умолчанию 443)
_lsus._tcp.example.com. 3600 IN SRV 10 5 443 master.example.com.
Если в инфраструктуре несколько серверов LSUS (Master + несколько Site) — добавьте SRV-записи для каждого. Клиент сам измерит отклик каждого endpoint'а (через зонд GET /api/v1/health) и выберет ближайший:
_lsus._tcp.example.com. 3600 IN SRV 10 5 443 master.example.com.
_lsus._tcp.example.com. 3600 IN SRV 20 5 443 site-msk.example.com.
_lsus._tcp.example.com. 3600 IN SRV 20 5 443 site-nsk.example.com.
priority (10, 20) задаёт предпочтение (меньше — выше), weight (5) — распределение внутри одного приоритета. Это стандартный для DNS SRV механизм, тот же, что использует Active Directory для поиска контроллеров домена.
Что произойдёт на клиенте¶
После установки lsus-client и пакета python3-dnspython (см. ниже) агент при первом запуске:
- Возьмёт домен автоматически из FQDN хоста — если машина называется
ws-007.example.com, домен для поиска будетexample.com. Никаких ручных настроек не требуется. - Запросит у DNS записи
_lsus._tcp.example.com. - Опросит каждый возвращённый endpoint по
/api/v1/health, измерит RTT. - Выберет сервер с минимальным RTT (если сервер ответил) или по priority+weight (если ни один не ответил).
- Запишет выбранный
server_urlв/etc/lsus-client/lsus-client-common.confи в дальнейшем использует его как назначение для heartbeat.
Приоритет источников URL на клиенте:
| Приоритет | Источник | Когда срабатывает |
|---|---|---|
| 0 | URL, назначенный Master-сервером (assigned_server_url) |
Master уже один раз переадресовал клиента на конкретный Site |
| 1 | DNS SRV _lsus._tcp.<домен> |
Основной способ для нового хоста |
| 2 | server_url из /etc/lsus-client/lsus-client-common.conf |
Если SRV не настроен или недоступен |
Если на клиенте задан server_discovery_domain явно — клиент использует его, а не домен из FQDN. Это полезно, когда FQDN машины не соответствует домену, в котором опубликована SRV-запись (например, машина в subdiv.example.com, а SRV — в example.com).
# /etc/lsus-client/lsus-client-common.conf
[server]
server_discovery_domain = example.com
Зависимость клиента¶
Для работы SRV-обнаружения на клиенте требуется пакет python3-dnspython:
| ОС | Способ установки |
|---|---|
| Astra / Debian / Ubuntu | sudo apt install python3-dnspython (обычно ставится автоматически с lsus-client через Recommends) |
| ALT Linux | входит в зависимости python3-module-dnspython — ставится автоматически |
| РЕД ОС / RHEL / CentOS | sudo dnf install python3-dnspython (если отсутствует в репозитории — dnf install python3-dns или pip3 install dnspython) |
Без этого пакета клиент напишет в лог «Модуль dnspython не установлен, DNS SRV недоступен» и будет использовать server_url из конфига.
Если у вас нет корпоративного DNS¶
В полностью изолированных средах без DNS-сервера SRV не настроить. Тогда:
- Либо поднимите минимальный DNS (например,
dnsmasqна самом LSUS-сервере) — это окупится удобством. - Либо задавайте
server_urlв/etc/lsus-client/lsus-client-common.confна каждой машине (вручную или через Ansible/Salt/ADMX).
Полная инструкция и примеры — в Требованиях.
Что сделать сразу после пилота¶
- Сменить пароли веб-входов и сохранить пароли БД из
credentials-*.txt. - Настроить доверенный TLS (заменить самоподписанный сертификат) — см. Развёртывание серверов.
- Спланировать диски под репозитории — см. Развёртывание серверов.
- Перейти к обзору системы и обновлению.