Skip to content

Бэкап и восстановление

Состояние 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)

Восстановление

Обратная операция — до старта брокера:

  1. Распаковать архив метаданных обратно в том roxa-data.
  2. mc mirror бакета из бэкапа обратно в MinIO.
  3. docker compose up -d.

Внешнее S3 вместо MinIO

Если хранилищем выступает внешний S3-сервис с собственной репликацией/версионированием — бэкап сегментов обеспечивается его средствами, остаётся только том метаданных.