Snapshot

Eş anlamlılar: Anlık Görüntü

Snapshot, bir disk veya sanal makinenin belirli bir andaki durumunun hızlı bir kaydıdır. Full backup gibi tüm veriyi kopyalamaz; copy-on-write ile değişiklikleri tracke eder. Hızlıdır ama uzun dönem yedek için uygun değildir. Güncelleme öncesi güvenlik için idealdir.

Snapshot Nedir?

Snapshot (anlık görüntü), bir disk, dosya sistemi veya sanal makinenin belirli bir andaki durumunun hızlıca oluşturulan sabit referansıdır. Geleneksel full backup'ın aksine tüm veriyi kopyalamaz — copy-on-write (CoW) mekanizması ile yalnızca snapshot sonrası yapılan değişiklikleri yeni bloklarda tutar. Saniyeler içinde oluşturulur, anında geri dönüş (revert) imkanı sunar.

Nasıl Çalışır?

Snapshot alındığında veri "dondurulur". Sonraki yazma işlemleri:

  1. Yeni veri farklı bir bloka yazılır
  2. Eski blok snapshot referansı olarak kalır
  3. Mevcut durum pointer'ı yeni bloğa işaret eder
  4. Revert ederseniz pointer eski bloklara döner

Snapshot Teknolojileri

  • LVM Snapshot: Linux Volume Manager
  • ZFS Snapshot: En güçlü, instant, unlimited
  • Btrfs Snapshot: Linux filesystem
  • VMware VM Snapshot: vSphere
  • KVM qcow2: Internal / external snapshot
  • Hyper-V Checkpoint
  • AWS EBS Snapshot: Cloud
  • Storage array snapshots: NetApp, Pure Storage

Snapshot vs Backup

  • Snapshot: Hızlı, aynı sistemde, disk arızasında işe yaramaz
  • Backup: Yavaş, farklı medyada, felaket kurtarma için

Snapshot backup değildir — yalnızca hızlı geri alma mekanizmasıdır. 3-2-1 kuralı uygulanmalı.

Snapshot Kullanım Senaryoları

  • Güncelleme öncesi: Kernel, uygulama update öncesi güvenlik
  • Test ortamı: Test sonrası hızla clean state'e dön
  • Deployment: Başarısız deploy'da anında rollback
  • Training: Her öğrenci temiz ortamdan başlar
  • Forensik analiz: Güvenlik olayında delil
  • Stage → Production: Staging'ten prod'a clone

Snapshot Sınırlamaları

  • Zaman geçtikçe değişiklikler birikir, disk kullanımı artar
  • Performans etkisi (write penalty CoW)
  • Uzun süreli snapshot tutma tehlikelidir
  • Disk tamamen arızalanırsa snapshot da gider
  • Bazı DB'lerde tutarlılık için quiesce gerekir

Snapshot Yönetim İpuçları

  • Maksimum 24-72 saat tut — sonra sil veya backup'a dönüştür
  • Her zaman snapshot alırken "neden" belgele
  • VM snapshot sayısını 3 ile sınırla (VMware önerisi)
  • DB snapshot öncesi quiesce yap (FLUSH TABLES WITH READ LOCK)
  • Snapshot + backup birlikte kullan

LVM Snapshot Örneği

lvcreate -L 10G -s -n db_snap /dev/vg0/db_lv
# snapshot kullan, test et
lvremove /dev/vg0/db_snap  # snapshot sil
# veya:
lvconvert --merge /dev/vg0/db_snap  # revert

ZFS Snapshot

ZFS snapshot'ları instant ve gerçekten ücretsiz (disk yazılan kadar yer):

zfs snapshot tank/db@before-upgrade
zfs rollback tank/db@before-upgrade
zfs list -t snapshot

VMware Snapshot

vSphere Client üzerinden tek tıkla alınır. Önerilen:

  • 72 saatten fazla tutma
  • 3'ten fazla zincirleme snapshot oluşturma
  • Production DB VM'lerde dikkatli kullan
  • Delete/Consolidate ile temizle

Cloud Snapshot (AWS EBS)

EBS snapshot'ları S3'te saklanır, incremental, coğrafi replikasyon destekli:

aws ec2 create-snapshot --volume-id vol-abc123 --description "pre-deploy"
aws ec2 describe-snapshots --owner-ids self

Consistent Snapshot

Uygulama çalışırken alınan snapshot tutarlı olmayabilir. Çözümler:

  • Uygulama quiesce (DB lock, flush)
  • VSS (Windows Volume Shadow Copy)
  • Application-consistent agent'lar
  • Snapshot öncesi DB dump

MeoHost ve Snapshot

MeoHost VDS paketleri KVM snapshot destekler — müşteri panelinden tek tıkla alınabilir. VMware vCenter ile enterprise VM snapshot, haftalık otomatik snapshot + günlük JetBackup full backup kombinasyonu standart yedekleme stratejisidir.

İlgili Terimler