Ugrás a tartalomhoz
← Blog'a dön

Uygulamada 3-2-1 yedekleme: gerçekte nasıl yapıyoruz

3 kopya, 2 farklı ortam, 1 tesis dışı. İşte tam olarak nasıl yaptığımız — ve bir şey bozulduğunda neler olduğu.

Test etmediğiniz yedek, yedek değildir. Bir dilektir.

3-2-1 kuralı 1987'den beri var ve neredeyse kimse onu doğru uygulamıyor. Biz uyguluyoruz — çünkü bir RAID yeniden oluşturma sırasında 18 aylık müşteri verisini neredeyse kaybediyorduk. O günden beri katıyız. 3 kopyamız: (1) canlı veritabanı replikası (ikinci düğüm, akışlı replikasyon), (2) yerel fiziksel diske günlük pg_dump, (3) günlük tesis dışı senkronizasyon (başka bir veri merkezi, rsync + zfs anlık görüntüsü). 2 ortamımız: hızlı geri yükleme için NVMe SSD, arşiv için SATA HDD. 1 tesis dışı kopyamız: farklı bir fiziksel lokasyon.

Haftalık geri yükleme testi

Her cuma saat 16:00'da otomatik bir geri yükleme testi çalışır: rastgele bir müşteri veritabanı bir test sunucusuna geri yüklenir, bir duman testi betiği çalışır (temel sorgular) ve sonuç yeşilse başarı kaydedilir. Kırmızı → ekip anında uyarılır. 14 ayda 3 geri yükleme sorunu ortaya çıktı — hiçbiri canlı veride değil, hepsi yedek bozulmasıydı. Üçü de 6 saat içinde çözüldü.

RPO ve RTO hedefleri

  • 1. seviye (Netorigo Financial): RPO 15 dk, RTO 2 saat
  • 2. seviye (ERP, Logistics): RPO 1 saat, RTO 4 saat
  • 3. seviye (pazarlama, bloglar): RPO 24 saat, RTO 24 saat
  • Aylık felaket kurtarma tatbikatı — bir test sistemini gerçekten yıkıp yeniden kuruyoruz
  • Tatbikat tam bir gün değil, 30 dakika sürer — tutturulamıyorsa yedekleme iyi değildir

Bir konuyu ele almamızı ister misiniz?

Bize yazın — bu konuda gerçek deneyimimiz varsa yayımlarız.