Действия

BSS. Руководство администратора

Материал из Флора AI

BSS. Руководство администратора

Общее описание

Сервис Backup Service System (BSS) предназначен для резервного копирования данных сервисов Флора AI.


Термины и определения

Сервис Backup Service System (BSS) – сервис резервного копирования.


Системные требования

Для нормальной работы сервиса необходимо обеспечить не менее 2 потоков CPU >= 2.20 GHz.

Оперативной памяти необходимо не менее 2 GB.


Установка/обновление сервиса

Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.

Перед установкой непосредственно сервиса необходимо установить сервисный пакет окружения.

  • Установка/обновление BSS осуществляется скриптом chmod +x ./bss-<версия>-<релиз>.sh && ./bss-<версия>-<релиз>.sh -i с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор ./bss-<версия>-<релиз>.sh без ключей.
  • Загрузить последнюю версию продукта curl -s "https://repo.connect2ai.net/api/bss/new" --user '[user]:[pass]' 2>&1 | bash или в интерактивном режиме bash -c "$(curl -s https://repo.connect2ai.net/api/bss --user '[user]:[pass]' 2>&1)".
  • Обновить BSS /opt/bss/inupdate в интерактивном режиме. Или запустить с ключом:
    • /opt/bss/inupdate -b – обновить до последней beta версии;
    • /opt/bss/inupdate -r – обновить до последней release версии;
    • /opt/bss/inupdate -n – обновить до последней версии (неважно beta или release).
  • Проверить актуальную версию продукта curl -s "https://repo.connect2ai.net/api/bss/version.
  • Посмотреть лог изменений curl -s "https://repo.connect2ai.net/api/bss/changelog" --user '[user]:[pass]'.
  • Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api. [user]:[pass] – это тот же логин и пароль, что и от Nextcloud.
  • В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):
    • echo -n "[user]:[pass]" > /opt/bss/.userapi (это файл авторизации в API, нужен для обновления)
    • echo -n "http://example.com:3128 [user] [password]" > /opt/bss/.proxy (это файл конфигурации proxy? необходим для обновления, при отсутствующем прямом подключении к интернету)

При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.

Не забудьте запустить сервис и включить в автозапуск в системе:

sudo systemctl enable bss.service && sudo systemctl start bss.service

Удостоверьтесь, что сервис стартовал:

systemctl status bss.service

Разрешите доступ к порту 6199 на нужном интерфейсе по протоколу tcp.


Конфигурирование параметров сервиса

Настройка параметров сервиса bss производится в файле /opt/bss/config.json. Кроме настройки параметров, необходимо для пользователей (servers.username) обеспечить ssh-доступ по ключу. Бэкап-сервер по ssh согласно расписаниям раз в сутки забирает с рабочих серверов папки с данными и складывает их в виде tar.gz-архивов в локальную директорию. Также через lsyncd готовые архивы зеркалируются на другие сервера из раздела mirror конфига.

Описание параметров приведено в таблице.

Параметр По умолчанию Назначение
logs.path "logs/" Директория для хранения логов. Примеры абсолютного пути: "/var/log/bss/"
logs.backups 10 Количество файлов ротации.
logs.maxSize 5242880 Максимальный размер файла в байтах, триггер для ротации.
local_destination "/tmp" Директория хранения резервных копий.
cleanup_time "0 20 * * *" Время старта очистки устаревших копий.
Раздел servers — серверы с данными.
servers.ip_address "1.2.3.4" Адрес сервера, данные сервисов которого необходимо резервировать. Серверов в списке может быть несколько.
servers.username "root" Пользователь сервера с правами на резервируемые данные. Для этого пользователя должен быть прописан доступ по SSH-ключу.
servers.remote_paths ["/tmp/xxx"] Список каталогов и файлов для резервирования с полными путями.
servers.schedule_time "0 19 * * *" Время старта задания резервного копирования. Для каждого сервера целесообразно установить разное время.
servers.retention_days 7 Глубина хранения резервных копий в сутках.
Раздел mirror — серверы, на которые будут распространяться готовые резервные копии, и параметры работы lsyncd.
mirror.logfile "logs/sync.log" Расположение лог файла синхронизации.
mirror.statusFile "logs/sync.status" Расположение файла статуса lsyncd.
mirror.nodes {"1.2.3.4":"/storage/backups"} Ноды, на которые с мастер-сервера будут распространяться изменения. В словаре IP-адрес и путь хранения зеркала бэкап-сервера. Серверов может быть несколько. Для каждого должен быть настроен SSH-доступ по ключу.


Сбор данных об ошибках

Логи сервиса по умолчанию находятся в файле /opt/bss/logs/log.txt


Удаление

Для удаления выполните команду: /opt/bss/uninstall. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.