Бэкап и восстановление
Состояние Roxa (в прод-стеке compose) — две части, бэкапить их надо согласованно (из одного момента времени):
| Что | Где | Содержимое |
|---|---|---|
| Сегменты | бакет MinIO roxa | сами данные (сообщения) |
| Метаданные | docker-том roxa-data | конфиги топиков, индекс сегментов, committed-offsets |
Бэкап
bash
# метаданные (том):
docker run --rm -v roxa_roxa-data:/data -v "$PWD:/backup" alpine \
tar czf /backup/roxa-meta-$(date +%F).tgz -C /data .
# сегменты: зеркалировать бакет MinIO во внешнее S3/диск:
docker compose exec minio mc mirror local/roxa /path/to/backup
# или mc mirror на внешний alias (другое S3)Восстановление
Обратная операция — до старта брокера:
- Распаковать архив метаданных обратно в том
roxa-data. mc mirrorбакета из бэкапа обратно в MinIO.docker compose up -d.
Внешнее S3 вместо MinIO
Если хранилищем выступает внешний S3-сервис с собственной репликацией/версионированием — бэкап сегментов обеспечивается его средствами, остаётся только том метаданных.