İçindekiler
"Snapshot alıyorum, yedeğim var" cümlesi, bir sunucu kaybında en pahalıya mal olan yanılgıdır. Snapshot güçlü bir araçtır ama tek başına yedek değildir. Bu yazıda farkı, 3-2-1 kuralını ve bir Cloud VDS üzerinde bunun pratikte nasıl kurulduğunu anlatıyoruz.
Snapshot ile yedek arasındaki fark
Snapshot, sanal diskin o andaki halinin aynı depolama üzerinde dondurulmuş bir kopyasıdır. FiberVM panelinden bir tıkla alınır ve saniyeler içinde geri dönülür. Şunlar için idealdir: işletim sistemi güncellemesi, büyük bir uygulama sürümü, yapılandırma değişikliği. Şunlar için yeterli değildir:
- Aynı yerde durur: disk, depolama veya sanallaştırma katmanında bir sorun snapshot'ı da etkiler.
- Tutarlılık: çalışan bir veritabanının anlık görüntüsü, bellekteki yazılmamış işlemleri içermez; geri dönüşte kurtarma gerekebilir.
- Geçmiş: snapshot sayısı sınırlıdır; "üç hafta önceki halinden tek bir dosyayı" almak için uygun değildir.
- Silme senaryosu: sunucu iptal edilir, hesap ele geçirilir veya panelden yanlışlıkla silinirse snapshot'lar da gider.
3-2-1 kuralı
Verinizin 3 kopyası olsun, 2 farklı ortamda dursun, 1 kopya başka bir fiziksel lokasyonda bulunsun. VDS için karşılığı:
| Kopya | Nerede | Ne için | Sıklık |
|---|---|---|---|
| 1. Çalışan veri | VDS diski | Üretim | - |
| 2. Snapshot | FiberVM, aynı altyapı | Hızlı geri dönüş (dakikalar) | Her büyük değişiklik öncesi |
| 3. Dosya ve veritabanı yedeği | Başka lokasyonda VDS ya da nesne depolama | Felaket kurtarma, tekil dosya geri alma | Günlük, 30 gün saklama |
Lokasyon farkı için Fiberserver'ın üç lokasyonunu kullanabilirsiniz: Türkiye'deki üretim sunucunuzun yedeğini Fransa ya da KKTC lokasyonundaki küçük bir VDS'ye gönderin. 1 çekirdek, 25 GB NVMe'li en küçük paket çoğu site için yedek hedefi olarak yeter; tüm paketlerde trafik sınırsızdır.
Uygulama: veritabanı dökümü
Veritabanını dosya olarak değil, döküm olarak yedekleyin; tutarlı tek yol budur. Cron ile her gece:
mysqldump --single-transaction --quick --routines --all-databases | gzip > /var/backups/db/all-$(date +%F).sql.gz
find /var/backups/db -name "*.sql.gz" -mtime +7 -delete
PostgreSQL için pg_dumpall; Docker kullanıyorsanız docker compose exec db … ile aynı komutlar. WordPress sitelerinde ek olarak wp-content/uploads klasörü ve wp-config.php yedeğe dahil olmalı.
Uygulama: restic ile şifreli, artımlı, sunucu dışı yedek
restic açık kaynaklı bir yedekleme aracıdır: artımlı çalışır (yalnızca değişen bloklar gider), yedeği şifreler ve tekrar eden verileri tekilleştirir. Hedef SFTP ile başka bir VDS ya da S3 uyumlu nesne depolama olabilir.
apt install -y restic
export RESTIC_REPOSITORY=sftp:yedek@yedek-vds.ornek.com:/srv/restic/web1
export RESTIC_PASSWORD_FILE=/root/.restic-pass
restic init
restic backup /var/www /etc /var/backups/db --exclude /var/www/*/cache
restic forget --keep-daily 14 --keep-weekly 8 --keep-monthly 6 --prune
Komutları bir betiğe koyup cron'a ekleyin; restic snapshots ile geçmişi, restic restore latest --target /tmp/geri ile geri almayı deneyin. Parola dosyasını ayrıca saklayın; parola kaybolursa yedek de kaybolur.
Saklama süresi ne olmalı?
- Günlük 14 kopya: "geçen hafta silinen dosya" senaryosu.
- Haftalık 8 kopya: fark edilmesi geciken veri bozulmaları.
- Aylık 6 kopya: muhasebe ve uyumluluk ihtiyaçları.
Fidye yazılımı senaryosunu düşünün: saldırgan sunucuya girdiyse yedek hedefine de ulaşabilir. Yedek sunucusundaki SFTP kullanıcısına yalnızca kendi klasörüne yazma yetkisi verin, silme yetkisi vermeyin (append-only) ve yedek VDS'ye üretim sunucusundan SSH ile girişi kapatın; yalnızca restic'in kullandığı anahtar çalışsın.
Geri yükleme testi: asıl yedek budur
Test edilmemiş yedek, varsayımdır. Üç ayda bir: FiberVM'den küçük bir geçici VDS açın, restic ile en son yedeği içine geri yükleyin, veritabanı dökümünü içe alın, siteyi hosts dosyası üzerinden açıp kontrol edin, sonra geçici sunucuyu silin. Süreyi not edin; "kurtarma süresi" sizin gerçek RTO'nuzdur.
Kısa kontrol listesi
- Her büyük değişiklikten önce FiberVM snapshot.
- Her gece veritabanı dökümü ve restic yedeği, başka lokasyona.
- 14 günlük / 8 haftalık / 6 aylık saklama, otomatik budama.
- Yedek hedefi yalnızca ekleme yapabilen kullanıcı, ayrı anahtar.
- Üç ayda bir geri yükleme testi, süre kaydı.
- Yedek başarısız olunca e-posta bildirimi (cron çıktısını MAILTO ile yönlendirin).
Yedekleme kurulumunda yardım isterseniz destek talebi açın; yedek hedefi olarak ikinci lokasyonda VDS kurulumunu birlikte planlayalım.

Yorumlar0
Henüz Yorum Yok
İlk düşüncenizi paylaşan siz olun.
Yorum bırakmak için lütfen giriş yapın veya kaydolun.