Backup & Restore (PITR)
Este runbook restaura um banco a partir dos backups no R2, inclusive PITR (recuperação para um instante exato).
Quando usar
Seção intitulada “Quando usar”- Perda do nó
rke-db-00(disco local). - Corrupção lógica de dados (restaurar para antes do incidente).
- Migração do banco para um novo nó.
Passos (restore via CNPG)
Seção intitulada “Passos (restore via CNPG)”- Garantir o nó de banco —
rke-db-00Ready, com StorageClassnvme-local. Se necessário, recrie-o pelo runbook de nó. - Criar um novo
ClusterCNPG combootstrap.recoveryapontando para obarmanObjectStoreno R2:spec:bootstrap:recovery:source: nextcloud-backup# Para PITR, especifique o alvo:recoveryTarget:targetTime: "2026-06-14 12:00:00+00"externalClusters:- name: nextcloud-backupbarmanObjectStore:destinationPath: s3://serigy-backups/nextcloudendpointURL: https://<accountid>.r2.cloudflarestorage.coms3Credentials:accessKeyId: { name: r2-credentials, key: ACCESS_KEY_ID }secretAccessKey: { name: r2-credentials, key: SECRET_ACCESS_KEY } - Aplicar e acompanhar o CNPG baixar o base backup e reaplicar os WALs até o alvo.
- Validar os dados (contagens, registros recentes esperados).
- Religar a aplicação ao novo
Service-rw.
flowchart LR
R2["🪣 R2 (base + WAL)"] --> Rec["CNPG recovery"]
Rec -->|reaplica WAL até targetTime| New[("Novo PostgreSQL<br/>rke-db-00")]
New --> App["Aplicação religada"]
Pós-restauração
Seção intitulada “Pós-restauração”- Verificar o reinício do backup contínuo para o novo cluster.
- Registrar o evento (causa, alvo de PITR, RTO real) para auditoria.