Копирование данных платформы
Все данные платформы astra-monitoring хранятся в базе данных Tantor(postgresql).
PostgreSQL предлагает несколько методов резервного копирования. В этой документации рассмотрим процесс бэкапа для:
Развертывания через Docker Compose
Развертывания через Helm в Kubernetes
Резервное копирование для Docker Compose
Подготовка Docker
Проверьте конфигурацию в docker-compose.yml:
services: postgres: volumes: - ./postgresql/init.sql:/docker-entrypoint-initdb.d/init.sql:ro - ./postgresql/postgresql.conf:/var/lib/postgresql/postgresql.conf:ro - ./postgresql/pg_hba.conf:/var/lib/postgresql/pg_hba.conf:ro - ./postgresql/data:/var/lib/postgresql/data # опциональное хранилище для бэкапов - /path/to/backups:/backups
Убедитесь, что volume для бэкапов подключен (/path/to/backups)
Установите утилиты для бэкапа:
Полный бэкап Docker
Использование pg_dump:
Использование pg_basebackup (для кластеров):
Инкрементальный бэкап Docker
Включите WAL архивирование в postgresql.conf:
Создайте директорию для WAL:
Выполните базовый бэкап:
Восстановление Docker
Из pg_dump:
Из basebackup + WAL:
Остановите контейнер
Восстановите базовый бэкап:
Создайте recovery.conf:
Запустите контейнер
Резервное копирование для Helm развертывания
В astra-monitoring при установке в кластер Kubernetes предусмотрено создание автоматических резервных копий базы данных PostgreSQL (CronJob).
Параметры резервного копирования:
Расписание: ежедневно в 2:00 UTC
Тип: полные резервные копии (pg_basebackup)
Срок хранения: 3 дня
Хранилище: PVC Kubernetes
pvc-{{ $.Release.Name }}-postgresql-backup
Отключение: параметр
postgresql.db_backup_enabled: false
Конфигурация работы сервиса в values.yaml: