Действия

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

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

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

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

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


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

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


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

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


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

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

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

  • Установка/обновление 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 "20:00" Время старта очистки устаревших копий
Раздел servers - серверы с данными
servers.ip_address "1.2.3.4" Адрес сервера, данные сервисов которого необходимо резервировать. Серверов в списке может быть несколько
servers.username "root" Пользователь сервера с правами на резервируемые данные. Для этого пользователя должен быть прописан доступ по ssh ключу.
servers.remote_paths ["/tmp/xxx"] Список каталогов и файлов для резервирования с полными путями.
servers.schedule_time "19:00" Время старта задания резервного копирования. Для каждого сервера время лучше изменить.
servers.retention_days 7 Глубина хранения резервных копий в сутках.
Раздел mirror - сервера на которые будут распространяться готовые резервные копии, и параметры работы lsyncd
mirror.logfile Расположение лог файла синхронизации
mirror.logfile logs/sync.status Расположение файла статуса lsyncd
mirror.nodes {"1.2.3.4":"/storage/backups"} Ноды на которые с мастер-сервера будут распространяться изменения. В словаре IP адрес и путь хранения зеркала бэкап сервера. Серверов может быть несколько. Для каждого должен быть настроен ssh доступ по ключу
Сбор данных об ошибках

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


Удаление

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