Резервное копирование и восстановление¶
Инструкция соответствует НайсСофт — ИИ Студии 0.3.66.
Что изменилось по сравнению с 0.3.61¶
Начиная с 0.3.62 резервирование стало отдельным продуктовым контуром. В текущем выпуске есть внутренняя служба nicesoft-ai-studio-backup-manager, административная вкладка «Параметры → Резервное копирование», зашифрованный формат .nsbackup, проверка целостности и штатное восстановление. В 0.3.63 исправлена проверка/восстановление, а в 0.3.64 добавлена видимая индикация длительных операций.
Главное изменение
Старые инструкции про tar.gz и отсутствие команды restore для текущего выпуска больше не применимы. В 0.3.66 аварийный путь ./nicesoft.sh restore <файл.nsbackup> существует и использует ту же защищённую службу, что и веб-интерфейс.
Архитектура¶
Резервированием занимается отдельная внутренняя служба:
ADMIN в браузере
↓
административный шлюз Студии
↓
nicesoft-ai-studio-backup-manager
↓
MongoDB / pgvector / файлы / YC / TLS / состояние модели
backup-manager:
- не публикует порт на хост;
- не получает Docker socket;
- доступен только через административные серверные маршруты;
- включён в общую проверку состояния и внутренний мониторинг.
Обычный USER не должен видеть вкладку резервного копирования и не может выполнять её серверные операции.
Что входит в .nsbackup¶
В копию включаются авторитетные данные, необходимые для восстановления рабочей Студии:
- MongoDB: пользователи, диалоги, проекты и состояние основной платформы;
- PostgreSQL/pgvector: векторное хранилище и состояние поиска по знаниям;
data/uploadsиdata/images;- база интеграции с Яндекс Облаком;
- загруженный авторизованный ключ Яндекс Облака;
- состояние службы управления моделями;
- сертификаты, локальный центр доверия и состояние Let's Encrypt;
- навыки и расширения;
librechat.yaml,compose.yml,.env,VERSION,UPSTREAM.lockиconfig/как аварийный комплект развёртывания;- перечень локальных моделей и их объём.
По умолчанию намеренно не дублируются:
- веса локальных моделей;
- Redis;
- Meilisearch;
- история Prometheus;
- журналы контейнеров.
Веса моделей считаются воспроизводимыми по сохранённому модельному состоянию. Для полностью изолированного контура организация должна отдельно резервировать сами модельные артефакты.
Формат и криптографическая защита¶
Файл резервной копии имеет расширение:
Содержимое шифруется AES-256-CTR, а целостность шифротекста защищается HMAC-SHA256. Для конкретной установки создаётся уникальный 256-битный ключ восстановления.
Ключ восстановления не хранится внутри архива. Его нужно скачать отдельно и хранить вне сервера.
Потеря ключа = потеря возможности расшифровать резерв
Если одновременно потеряны сервер и ключ восстановления, штатно расшифровать .nsbackup невозможно. Храните не менее одной актуальной копии архива и ключа восстановления в отдельной защищённой зоне.
Перед восстановлением служба проверяет:
- HMAC всего шифротекста;
- безопасную структуру tar-контейнера после расшифрования;
- SHA-256 каждого объекта по манифесту;
- совместимость версии резервной копии.
Повреждённая копия отклоняется до изменения рабочих данных.
Где хранятся копии¶
Локальный каталог:
В интерфейсе показываются:
- последняя резервная копия;
- количество архивов;
- свободное место;
- суммарный объём копий;
- состояние текущей операции;
- расписание;
- глубина хранения.
По умолчанию:
расписание: ежедневно в 03:00
хранение: последние 7 копий
минимум свободного места перед запуском: 2 ГиБ
Минимальный запас диска задаётся NICESOFT_BACKUP_MIN_FREE_BYTES.
Локальная копия на том же диске полезна против логической ошибки или неудачного изменения, но не защищает от потери ВМ или диска.
Действия в «Параметры → Резервное копирование»¶
Администратору доступны:
- Создать копию сейчас;
- Проверить;
- Скачать;
- Загрузить копию;
- Восстановить;
- Удалить;
- Скачать ключ восстановления;
- изменение расписания и числа хранимых копий.
Для длительных действий 0.3.64+ показывает текущую фазу и процент. Конфликтующие операции блокируются, пока активная операция не завершена.
Командный аварийный путь¶
Если веб-интерфейс недоступен:
Это не отдельная «упрощённая» реализация: команды используют тот же backup-manager и тот же формат.
Как выполняется восстановление¶
В веб-интерфейсе восстановление требует явного ввода:
После подтверждения Студия:
- полностью проверяет архив;
- запрещает восстановление копии, созданной более новой версией продукта;
- включает режим обслуживания для обычного интерфейса;
- даёт активным запросам короткое время завершиться;
- восстанавливает MongoDB с заменой содержимого;
- восстанавливает PostgreSQL/pgvector;
- восстанавливает базу и ключ Яндекс Облака;
- возвращает загрузки, изображения, состояние моделей, TLS, навыки и расширения;
- выполняет контроль восстановленного состояния;
- снимает режим обслуживания.
Административный канал резервного контура остаётся доступным для наблюдения за ходом операции.
Почему .env и compose.yml не заменяются автоматически¶
Они находятся внутри резервной копии для полного аварийного восстановления, но при восстановлении работающего экземпляра текущие host-файлы запуска не подменяются скрытно.
Это защищает от неожиданного возврата:
- старой сетевой конфигурации;
- старых секретов;
- старой схемы публикации портов;
- несовместимого compose-профиля.
Если потерян весь сервер, эти файлы можно использовать как эталон для ручной сверки нового экземпляра.
Полная потеря сервера¶
Рекомендуемый порядок:
развернуть поддерживаемую версию Студии
↓
задать сохранённый NICESOFT_BACKUP_ENCRYPTION_KEY
↓
запустить инфраструктуру
↓
загрузить .nsbackup
↓
выполнить восстановление
↓
повторно получить локальные модели
↓
health + функциональные проверки
Не накатывайте резервную копию более новой версии на старую Студию. Сначала приведите программную часть к поддерживаемой совместимой версии.
Что проверить после восстановления¶
./nicesoft.sh healthпроходит;- ADMIN может войти;
- USER не получил административные права;
- история и проекты доступны своим владельцам;
- файлы и RAG работают;
- активная модель соответствует ожидаемой;
./nicesoft.sh yc-doctorпроходит, если используется Яндекс Облако;- браузер получает ожидаемый сертификат;
- интернет-поиск и подключённые сервисы соблюдают прежние политики;
- отрицательные тесты безопасности проходят.
Что хранить вне сервера¶
Минимальный промышленный комплект:
актуальная .nsbackup
+ отдельный ключ восстановления
+ версия продукта
+ SHA-256 файла резервной копии/учётная запись хранилища
+ инструкция аварийного запуска
Для повышенной устойчивости добавьте immutable/offline-копию и регулярно выполняйте проверочное восстановление на отдельном стенде.