Резервное копирование и восстановление
Резервное копирование и восстановление
Что нужно сохранять
| Данные | Где | Критичность |
|---|---|---|
| PostgreSQL | БД portal | Обязательно |
| Файлы библиотек | S3 bucket portal-files | Обязательно |
| Лицензия / trial | PORTAL_DATA_DIR | Рекомендуется |
| Конфигурация | .env / portal.env / Helm values | Рекомендуется |
| Valkey | Кэш | Не обязательно (пересоздаётся) |
PostgreSQL
Backup
# Dockerdocker compose exec postgres pg_dump -U portal portal > portal-backup-$(date +%F).sql
# Nativepg_dump -h localhost -U portal portal > portal-backup.sql
# Сжатыйpg_dump -Fc -h localhost -U portal portal > portal-backup.dumpRestore
# Остановите API и Worker перед восстановлениемpsql -h localhost -U portal -d portal < portal-backup.sql# илиpg_restore -d portal portal-backup.dumpS3 / MinIO / SeaweedFS
MinIO client (mc)
mc alias set portal http://localhost:9000 portal_minio SECRETmc mirror portal/portal-files ./backup/portal-files/Восстановление
mc mirror ./backup/portal-files/ portal/portal-files/Kubernetes
# Snapshot PVC PostgreSQL (зависит от StorageClass / CSI)kubectl exec -n portal portal-postgresql-0 -- pg_dump -U portal portal > backup.sql
# Velero / корпоративный backup PVC — по политике клиентаКонфигурация
Сохраните копии:
deploy/docker/.env/etc/portal/portal.envdeploy/helm/portal/portal-values.generated.yamlLICENSE.key
Процедура обновления с backup
- Backup PostgreSQL + S3
portal-cli upgrade --mode <канал>- Проверка
/healthи/api/v1/system/version - При проблемах — restore БД и откат образов/пакетов
RPO / RTO (ориентиры)
| Профиль | RPO | RTO |
|---|---|---|
| Пилот | 24 ч | 4 ч |
| Production | 1 ч | 1 ч |
| Enterprise | 15 мин | 30 мин |
Настройте cron/systemd timer для pg_dump и синхронизации S3 по политике клиента.