Резервное копирование и восстановление
Регулярное резервное копирование данных и конфигурации, и восстановление из копии той же установки.
Термины этого руководства
- Обратный прокси-сервер (reverse proxy) принимает внешние запросы и передаёт их службам MassAccess.
- Защита транспортного уровня (Transport Layer Security, TLS) шифрует соединение с публичным адресом.
- Проверка состояния (health check) подтверждает готовность службы отвечать на запросы.
- Регистрация экземпляра (enrollment) связывает установленный экземпляр с созданной лицензией.
Резервное копирование
Пакет включает backup.sh и restore.sh. Cold backup сохраняет owned application/transport volumes, private .env, metering/transport PKI, credentials, identities и exact release metadata. Архивы 0600 и каталог 0700 содержат secrets; при передаче/хранении вне local private store требуется утверждённое шифрование.
Рекомендуемый график
Ежедневные копии — минимум за последние 7 дней; еженедельные — минимум за последний месяц; ежемесячные — минимум за последний год.
Состав томов хранения данных
Данные хранятся в томах:
- postgres_data
- clickhouse_data
- kafka_data
- kafka_secrets
- kafka_shared_config
- redis_data
- broker_data
- receiver_state
- agent_state
Не сохраняйте резервные копии в Git, issue, CI-артефактах или открытых каталогах.
Порядок резервного копирования
Убедитесь, что хватает места. Скрипт под общим lock остановит Receiver admission, завершит Agent drain и остановит всех writers перед копированием:
bash backup.shДля isolated restore оставьте исходную установку выключенной. Сохраните путь private backup, состав и время; исходные volumes остаются на месте:
bash backup.sh --leave-stoppedОбычный backup сам возобновляет ранее работавшие контейнеры. Успешное архивирование не доказывает restore; проверьте состояние отдельно:
Настройка входящих сообщений MAX и Telegram для этой установки. После готовности ingress повторите подключение бота и отдельно проверьте доставку настоящего сообщения.
Восстановление
Восстановление выполняется только из резервной копии этой же установки. Перед началом остановите приложение и убедитесь, что копия не повреждена.
Порядок восстановления
Исходная установка должна быть выключена. Сохраните её private backup и failing/current state; не удаляйте исходные volumes.
bash backup.sh --leave-stoppedВыполните restore из доверенного lifecycle package в пустой каталог и новый project. Existing volumes не перезаписываются. Повтор той же команды продолжает только journal-bound operation с тем же backup.
mkdir -m 700 /srv/massaccess-restored
bash restore.sh --root /srv/massaccess-restored \
--backup /secure/backup/offline-UTC-pid --project ms-onprem-restoredcomplete_offline не запускает actors. Подтвердите source off, свободные host ports и штатный license HW binding; затем запустите полный model и проверьте реальные retained messages, idempotency, route receipts и application data.
cd /srv/massaccess-restored
docker compose -p ms-onprem-restored --env-file .env \
-f docker-compose.onprem.yml -f docker-compose.transport.yml up -d --pull never
python3 transport.py local-ready --timeout 300