Оглавление
Резервное копирование и восстановление
Регулярное резервное копирование данных и конфигурации, и восстановление из копии той же установки.
Резервное копирование
Сохраняйте данные приложения, конфигурацию установленной версии и файл лицензии. Копии храните отдельно от сервера установки, с доступом только уполномоченных сотрудников, с шифрованием при передаче и хранении. Резервное копирование и восстановление выполняются штатными средствами операционной системы и Docker Compose; скрипты резервного копирования в поставочный пакет не входят.
Рекомендуемый график
Ежедневные копии — минимум за последние 7 дней; еженедельные — минимум за последний месяц; ежемесячные — минимум за последний год.
Состав томов хранения данных
Данные хранятся в томах:
- postgres_data
- clickhouse_data
- kafka_data
- redis_data
Не сохраняйте резервные копии в Git, issue, CI-артефактах или открытых каталогах.
Порядок резервного копирования
Убедитесь, что на сервере достаточно свободного места, и остановите приложение штатной командой Docker Compose:
docker compose -p ms-onprem -f docker-compose.onprem.yml --env-file .env stopСкопируйте данные (тома приложения) и конфигурацию в защищённое хранилище:
# Копирование тома PostgreSQL
docker run --rm -v ms-onprem-postgres-data:/data -v /backup:/backup \
alpine tar czf /backup/postgres-data.tar.gz -C /data .
# Копирование тома ClickHouse
docker run --rm -v ms-onprem-clickhouse-data:/data -v /backup:/backup \
alpine tar czf /backup/clickhouse-data.tar.gz -C /data .
# Копирование тома Kafka
docker run --rm -v ms-onprem-kafka-data:/data -v /backup:/backup \
alpine tar czf /backup/kafka-data.tar.gz -C /data .
# Копирование тома Redis
docker run --rm -v ms-onprem-redis-data:/data -v /backup:/backup \
alpine tar czf /backup/redis-data.tar.gz -C /data .
# Копирование конфигурации установки
cp -a .env manifest.json docker-compose.onprem.yml clickhouse /backup/Запустите приложение, проверьте доступность страницы входа и зафиксируйте дату, состав и результат копирования:
docker compose -p ms-onprem -f docker-compose.onprem.yml --env-file .env startВосстановление
Восстановление выполняется только из резервной копии этой же установки. Перед началом остановите приложение и убедитесь, что копия не повреждена.
Порядок восстановления
Сохраните текущую конфигурацию и данные в отдельную копию, затем остановите приложение штатной командой Docker Compose:
docker compose -p ms-onprem -f docker-compose.onprem.yml --env-file .env stopВосстановите данные и конфигурацию из выбранной копии. Восстанавливайте manifest.json schema v2 вместе с .env:
# Восстановление тома PostgreSQL
docker run --rm -v ms-onprem-postgres-data:/data -v /backup:/backup \
alpine sh -c 'rm -rf /data/* /data/.[!.]* /data/..?* && tar xzf /backup/postgres-data.tar.gz -C /data'
# Восстановление тома ClickHouse
docker run --rm -v ms-onprem-clickhouse-data:/data -v /backup:/backup \
alpine sh -c 'rm -rf /data/* /data/.[!.]* /data/..?* && tar xzf /backup/clickhouse-data.tar.gz -C /data'
# Восстановление тома Kafka
docker run --rm -v ms-onprem-kafka-data:/data -v /backup:/backup \
alpine sh -c 'rm -rf /data/* /data/.[!.]* /data/..?* && tar xzf /backup/kafka-data.tar.gz -C /data'
# Восстановление тома Redis
docker run --rm -v ms-onprem-redis-data:/data -v /backup:/backup \
alpine sh -c 'rm -rf /data/* /data/.[!.]* /data/..?* && tar xzf /backup/redis-data.tar.gz -C /data'
# Восстановление конфигурации установки (manifest.json вместе с .env)
cp -a /backup/.env /backup/manifest.json /backup/docker-compose.onprem.yml /backup/clickhouse .Запустите приложение, откройте страницу входа и проверьте доступность данных:
docker compose -p ms-onprem -f docker-compose.onprem.yml --env-file .env start