Backup, restore ve felaket kurtarma
Geliştirme · 0.0.0-dev
Yayın
- Doküman
- 0.0.0-dev
- Uygulama
- 0.0.0
Bu sayfa
- Uygulama
- 0.0.0
- Şema
- munderecat-backup-recovery-v1
- Veri
- tr-latn-1
Bu runbook, kabul edilmiş tr-latn-1 veritabanının PostgreSQL custom-format
logical snapshot’ını alır ve ikinci bir fresh PostgreSQL 17 hedefinde doğrular.
Backup schema ve data içeren tam archive’dır; corpus package veya deterministik
build çıktısı değildir. Her capture
ayrı artifact kimliğine, byte sayısına ve SHA-256 değerine sahiptir.
Kapsam
Bölüm başlığı “Kapsam”Backup allowlist’i public, migration_control ve provenance_control
şemalarıdır. Pinned Supabase image’ındaki auth, storage ve diğer platform
şemaları dump’a girmez. Current v1 drill immutable Latin core’u, migration
control state’ini ve shared provenance yapısını taşır. Osmanlıca, lexical,
heading, haşiye, tekrar ve alignment release’leri bağımsız artifact/release
kapılarını tamamladıklarında allowlist ve restore witness’ı birlikte
genişletilmelidir.
Derived projection ve cache’ler backup otoritesi değildir. Accepted source root’larından yeniden üretilebilen bu katmanlar restore sonrasında ayrı builder kapısıyla hazırlanır.
Kavram ayrımı
Bölüm başlığı “Kavram ayrımı”| İşlem | Veritabanına etkisi |
|---|---|
| Public rebuild | Release artifact’larını fresh DB’ye import eder; F10-007 yoludur |
| Logical restore | Exact retained backup satır ve nesnelerini yeni recovery hedefinde kurar |
| Application rollback | Uyumlu eski uygulama deployment’ını açar; migration history’yi değiştirmez |
| Forward fix | Yeni reviewed migration/release ekler; uygulanmış geçmişi silmez |
| Disaster activation | Restore hedefini yeni recovery epoch ve dış authorization ile trafiğe alır |
Restore, kabul edilmiş satırların anlamını düzeltme yolu değildir. Böyle bir değişiklik successor release, curation işlemi veya forward fix gerektirir.
Önce hızlı manifest ve bozulma testini çalıştırın:
make backup-restore-checkGerçek küçük PostgreSQL lifecycle testi:
MUNDERECAT_RECOVERY_OUTPUT=/external/path/sample-recovery \ make backup-restore-sample-checkRelease öncesi tek full drill:
MUNDERECAT_RELEASE_ROOT=/external/path/tr-latn-1 \MUNDERECAT_RECOVERY_OUTPUT=/external/path/tr-latn-1-recovery \ make backup-restore-full-drillOutput dizini önceden var olmamalı ve repository dışında bulunmalıdır. Başarılı
dizinde custom-format dump, backup-manifest.json ve recovery-report.json
yer alır. Manifest source commit/release/core kimliğini, explicit schema
allowlist’ini, kabul edilmiş release ve materialization root’larını, PostgreSQL
tool sürümlerini, backup byte/hash değerini ve source reconstruction witness’larını
bağlar. Report ikinci DB’deki schema/data/role fingerprint’ini, core fingerprint’i
ve sentence/paragraph/chapter sonuçlarını gösterir.
Restore sırası
Bölüm başlığı “Restore sırası”- Backup basename, byte count ve SHA-256 manifest’e karşı doğrulanır. Fark varsa target oluşturulmaz veya restore başlamaz.
- Digest-pinned PostgreSQL 17 image’ıyla fresh, networkless ve host portsuz hedef başlatılır.
- Accepted migrations exact schema, owner, ACL ve sealed role state’ini kurar.
pg_restore --data-onlyrestore SQL’ini üretir. USER trigger disable, FK drop, truncate, data yükleme, FK revalidation ve trigger state restoration adımlarının tamamı tekpsqltransaction’ında çalışır; herhangi bir hata bütün data değişikliğini geri alır. Geçici owner üyelikleri transaction sonrasında kaldırılır.- Üç allowlisted schema’nın deterministic schema ve data dump fingerprint’leri, parola içermeyen rol/membership fingerprint’i, core release/fingerprint, routine catalog ve bütün exact reconstruction witness’ları source ile karşılaştırılır.
- Hedef yalnız doğrulama için kullanılır ve drill sonunda kaldırılır.
Herhangi bir adım başarısızsa output publish edilmez. Partial staging, source ve target container’ları cleanup kapsamındadır.
RPO, RTO ve aktivasyon
Bölüm başlığı “RPO, RTO ve aktivasyon”Bu logical snapshot’ın RPO sınırı capture anıdır. Capture sonrasındaki accepted curation veya operational olaylar backup içinde değildir; gerçek incident’ta lost tail açıkça listelenmelidir. Bu runbook WAL arşivleme veya PITR iddiasında bulunmaz.
Drill report’undaki stage süreleri ölçülen restore süresidir; production RTO garantisi değildir. Kaynak büyüklüğü, artifact transferi ve altyapı provisioning süresi ayrıca bütçelenmelidir.
Doğrulanmış clone kendiliğinden production olmaz. ADR-012 uyarınca operatör yeni target identity/recovery epoch tahsis eder; backup ve manifest roots, restore authorization, restore edilen roots, mevcut external head ve lost-tail envanteri append-only dış ledgera yazılmadan trafik aktive edilmez. İmzalı retention ve incident drill’leri F10-019/F10-020 kapılarıdır.