Действия

BSS. Руководство администратора: различия между версиями

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

Строка 9: Строка 9:


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




===== '''Установка/обновление сервиса''' =====
===== '''Установка/обновление сервиса''' =====
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/bss&fileid=581 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом.
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/bss&fileid=581 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.


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


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


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


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


Описание параметров приведено в таблице.
Описание параметров приведено в таблице.
Строка 59: Строка 61:
|logs.backups
|logs.backups
|10
|10
|Количество файлов ротации
|Количество файлов ротации.
|-
|-
|logs.maxSize
|logs.maxSize
|5242880
|5242880
|Максимальный размер файла в байтах, триггер для ротации
|Максимальный размер файла в байтах, триггер для ротации.
|-
|-
|local_destination
|local_destination
|"/tmp"
|"/tmp"
|Директория хранения резервных копий
|Директория хранения резервных копий.
|-
|-
|cleanup_time
|cleanup_time
|"20:00"
|"20:00"
|Время старта очистки устаревших копий
|Время старта очистки устаревших копий.
|-
|-
| colspan="3" |'''Раздел servers -''' серверы с данными
| colspan="3" |'''Раздел servers -''' серверы с данными
Строка 77: Строка 79:
|servers.ip_address
|servers.ip_address
|"1.2.3.4"
|"1.2.3.4"
|Адрес сервера, данные сервисов которого необходимо резервировать. Серверов в списке может быть несколько  
|Адрес сервера, данные сервисов которого необходимо резервировать. Серверов в списке может быть несколько.
|-
|-
|servers.username
|servers.username
|"root"
|"root"
|Пользователь сервера с правами на резервируемые данные. Для этого пользователя должен быть прописан доступ по ssh ключу.
|Пользователь сервера с правами на резервируемые данные. Для этого пользователя должен быть прописан доступ по SSH-ключу.
|-
|-
|servers.remote_paths
|servers.remote_paths
Строка 107: Строка 109:
|mirror.nodes
|mirror.nodes
|{"1.2.3.4":"/storage/backups"}
|{"1.2.3.4":"/storage/backups"}
|Ноды на которые с мастер-сервера будут распространяться изменения. В словаре IP адрес и путь хранения зеркала бэкап сервера. Серверов может быть несколько. Для каждого должен быть настроен ssh доступ по ключу
|Ноды, на которые с мастер-сервера будут распространяться изменения. В словаре IP-адрес и путь хранения зеркала бэкап-сервера. Серверов может быть несколько. Для каждого должен быть настроен SSH-доступ по ключу.
|}
|}



Версия от 13:14, 20 февраля 2025

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 "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 "logs/sync.log" Расположение лог файла синхронизации
mirror.logfile "logs/sync.status" Расположение файла статуса lsyncd
mirror.nodes {"1.2.3.4":"/storage/backups"} Ноды, на которые с мастер-сервера будут распространяться изменения. В словаре IP-адрес и путь хранения зеркала бэкап-сервера. Серверов может быть несколько. Для каждого должен быть настроен SSH-доступ по ключу.


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

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


Удаление

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