ZFS Anlık Görüntüleri: Nasıl Oluşturulur, Geri Yüklenir ve Otomatikleştirilir

10 dakikalık okuma - 5 Mayıs 2026

hero section cover
İçindekiler
  • ZFS Anlık Görüntüleri: Nasıl Oluşturulur, Geri Yüklenir ve Otomatikleştirilir
  • ZFS anlık görüntüleri nasıl çalışır?
  • Anlık görüntüler oluşturma
  • Anlık görüntülerden geri yükleme
  • Anlık görüntüleri yönetme ve budama
  • Sanoid ile elde tutmayı otomatikleştirme
  • Zfs send ile site dışı replikasyon
  • Fidye yazılımı koruması hakkında bir not
  • Video önerisi
  • Son düşünceler
Paylaş

Linux'ta ZFS anlık görüntülerinin nasıl oluşturulacağını, geri yükleneceğini ve otomatikleştirileceğini öğrenin. Sanoid ile komutlar, geri alma, saklama politikaları ve tesis dışı replikasyonu kapsar

ZFS Anlık Görüntüleri: Nasıl Oluşturulur, Geri Yüklenir ve Otomatikleştirilir

ZFS anlık görüntüsü, dosya sisteminizin salt okunur, zaman içinde bir kopyasıdır. Anında oluşturulur, veriler değişene kadar yer kaplamaz ve saniyeler içinde dosyaları geri almanızı veya kurtarmanızı sağlar. Sunucuları, VPS örneklerini veya kaybetmeyi göze alamayacağınız veriler içeren herhangi bir şeyi yönetiyorsanız, anlık görüntüler iş akışınızın bir parçası olmalıdır.

Bu yazı, ZFS anlık görüntülerinin nasıl çalıştığını, nasıl kullanılacağını ve yığılmamaları için saklama işleminin nasıl otomatikleştirileceğini ele almaktadır.

ZFS anlık görüntüleri nasıl çalışır?

ZFS bir copy-on-write (CoW) modeli kullanır. Bir anlık görüntü aldığınızda, ZFS herhangi bir veriyi çoğaltmaz. Sadece blok işaretçi ağacının mevcut durumunu kaydeder. Anlık görüntü orijinalleri referans almaya devam ederken, yeni yazmalar boş bloklara gider.

Bu, anlık görüntülerin veri kümesi boyutundan bağımsız olarak mikrosaniyeler içinde oluşturulduğu ve oluşturma sırasında sıfır ek alan tükettikleri anlamına gelir. Yalnızca canlı veri kümesi değiştikçe alan kullanmaya başlarlar, çünkü anlık görüntü aksi takdirde serbest bırakılacak orijinal blokları tutar.

Bu, tüm dosyaları tarayan ve kopyalayan rsync veya tar gibi dosya düzeyinde yedekleme araçlarından temelde farklıdır. Eğer 10GB'lık bir dosyanın 4KB'ını değiştirirseniz, rsync tüm dosyayı kopyalar. ZFS yalnızca 4KB'lık bloğu kaydeder.

Anlık görüntüler de değişmezdir. Çekirdek seviyesinde salt okunur olarak zorlanırlar, bu nedenle kullanıcı alanı işlemleri (fidye yazılımı dahil) bunları değiştiremez. ZFS'nin yerleşik sağlama toplamı ile birlikte bu, geri yüklemede veri bütünlüğünü doğrulayabileceğiniz anlamına gelir.

Anlık görüntüler oluşturma

Ön Koşullar

ZFS'nin kurulu ve bir havuzun ayarlanmış olması gerekir. Ubuntu 20.04+ üzerinde:

sudo apt update && sudo apt upgrade -y
sudo apt install zfsutils-linux -y
sudo modprobe zfs

Bir havuz oluşturun. Tek bir disk için (VPS'de tipiktir):

sudo zpool create tank /dev/sdb

Ayrılmış bir sunucuda yansıtılmış bir kurulum için, yeniden başlatmalardan sonra sorunları önlemek için aygıt adları yerine disk kimliklerini kullanın:

sudo zpool create tank mirror /dev/disk/by-id/ata-DISK1 /dev/disk/by-id/ata-DISK2

Sıkıştırmayı etkinleştirin (LZ4 hızlı ve etkilidir):

sudo zfs set compression=lz4 tank

Ardından iş yükleriniz için veri kümeleri oluşturun:

sudo zfs create tank/web
sudo zfs create tank/databases

Anlık görüntü alma

Temel komut:

sudo zfs snapshot tank/web@before-update

Zaman damgalı isimler için (cron ile kullanışlıdır):

sudo zfs snapshot tank/db@$(date +%Y%m%d_%H%M%S)

Tüm alt veri kümelerini bir kerede yakalamak için özyinelemeli bayrağını kullanın:

sudo zfs snapshot -r tank@daily_backup

Doğrulayın:

sudo zfs list -t snapshot

Anlık görüntülerden geri yükleme

Dosyaları tek tek geri yükleme

Her ZFS veri kümesinin bağlama noktasında gizli bir .zfs/snapshot dizini vardır. Ls'de görünmeyecektir, ancak doğrudan ona gidebilirsiniz:

ls /tank/web/.zfs/snapshot/before-update/

Tek bir dosyayı geri yüklemek için:

cp -p /tank/web/.zfs/snapshot/before-update/config/app.conf /tank/web/config/

P bayrağı izinleri ve zaman damgalarını korur.

Tüm bir veri kümesini geri alma

Örneğin başarısız bir yükseltmeden sonra her şeyi geri almanız gerekiyorsa:

sudo zfs rollback tank/web@before-update

Bu neredeyse anlıktır çünkü ZFS verileri kopyalamak yerine blok işaretçilerini günceller. Ancak yıkıcıdır: anlık görüntüden sonra yapılan tüm değişiklikler kalıcı olarak kaybolur.

Hedef ve mevcut durum arasında daha yeni anlık görüntüler varsa, ZFS geri alma işlemini engelleyecektir. Bunu zorlamak ve bu ara anlık görüntüleri kaldırmak için -r kullanın:

sudo zfs rollback -r tank/db@20260426_090000

İyi bir alışkanlık: geri almadan önce mevcut (bozuk) durumun anlık görüntüsünü alın, böylece gerekirse bir geri dönüşünüz olur.

Kurtarma yöntemiHızVeri kaybı riskiİçin en iyisi
.zfs aracılığıyla dosya geri yüklemeDosya boyutuna göre değişirHiçbiriYanlışlıkla silme, tek dosya kurtarma
Tam geri almaAnındaYüksek (anlık görüntü sonrası tüm değişiklikleri kaybeder)Başarısız yükseltmeler, sistem genelinde sorunlar
Test için klonlamaAnındaYok (paralel bir veri kümesi oluşturur)Geri alma işlemi yapmadan önce doğrulama

Anlık görüntüleri yönetme ve budama

Anlık görüntüler sıfır boyutta başlar ancak altlarındaki canlı veriler değiştikçe büyür. Alan kullanımını kontrol etmek için:

zfs list -t snapshot -o name,used,refer,creation

KULLANILAN sütunu, o anlık görüntüye özgü ne kadar alan olduğunu gösterir. REFER, anlık görüntü alındığında veri kümesinin toplam boyutunu gösterir.

Bir anlık görüntüyü silmek için:

sudo zfs destroy tank/web@before-update

Desene göre de silebilirsiniz:

sudo zfs destroy tank/web@daily-2026-04-%

Her zaman önce kuru çalışma yapın:

sudo zfs destroy -nv tank/web@daily-%

ZFS teknik olarak milyonlarca anlık görüntüyü işleyebilir, ancak performans veri kümesi başına birkaç binden sonra düşer. Zfs list ve zfs destroy gibi komutlar gözle görülür şekilde yavaşlar. Saklama süresini sıkı tutun.

Sanoid ile elde tutmayı otomatikleştirme

Sanoid, ZFS snapshot oluşturma ve budama işlemlerini otomatikleştirmek için kullanılan standart bir araçtır. Siz sanoid.conf dosyasında saklama politikalarını tanımlarsınız ve gerisini o halleder.

Tipik bir üretim yapılandırması şöyle görünebilir:

İş yükü tipiSaatlikGünlükHaftalıkAylık
Standart üretim24-4830812
Veritabanı (yüksek kayıp)72301224
Günlükler / düşük öncelik12-24703
Statik medya0703

Sanoid ayrıca frequently parametresi aracılığıyla saatlik anlık görüntüleri de destekler. Frequently = 96 ve frequent_period = 15 olarak ayarlandığında her 15 dakikada bir anlık görüntü alırsınız.

Sanoid'i cron aracılığıyla her dakika veya her 15 dakikada bir çalışacak şekilde programlayın; anlık görüntüleri otomatik olarak oluşturacak ve budayacaktır.

Zfs send ile site dışı replikasyon

Tek bir sunucudaki anlık görüntüler, yanlışlıkla yapılan değişikliklere ve yazılım arızalarına karşı koruma sağlar, ancak donanım kaybına karşı koruma sağlamaz. Bunun için SSH üzerinden zfs send ve zfs receive kullanarak site dışına replike edin:

zfs send tank/web@backup | ssh user@remote zfs receive backup/web

Artımlı aktarımlar için (yalnızca son anlık görüntüden bu yana değişenleri gönderme):

zfs send -i tank/web@old_snap tank/web@new_snap | ssh user@remote zfs receive backup/web

Sanoid'in tamamlayıcı aracı syncoid, bu süreci otomatikleştirir ve artımlı gönderimler, hata kurtarma ve günlük tutma işlemlerini gerçekleştirir.

Fidye yazılımı koruması hakkında bir not

ZFS anlık görüntüleri çekirdek düzeyinde salt okunurdur, bu da standart kötü amaçlı yazılımların bunları değiştiremeyeceği veya şifreleyemeyeceği anlamına gelir. Bu güçlü bir savunma katmanıdır. Ancak kurşun geçirmez değildir: Bir saldırgan root erişimi elde ederse, verilerinizi şifrelemeden önce anlık görüntüleri silebilir.

Anlık görüntüler daha geniş bir stratejinin bir katmanı olmalıdır. Bunları tesis dışı replikasyon, kısıtlı kök erişimi ve ağ düzeyinde güvenlik ile birleştirin. Yalnızca anlık görüntülere güvenmeyin.

Video önerisi

Son düşünceler

ZFS snapshot'ları hızlıdır, alan verimlidir ve temellerini anladıktan sonra kullanımı kolaydır. Tesis dışı yedeklemelerin yerine geçmezler, ancak geleneksel yedekleme araçlarının yapamadığı bir boşluğu doldururlar: ihtiyaç duyduğunuz sıklıkta alabileceğiniz anında, sıfır ek yük kurtarma noktaları.

ZFS'yi bir VPS ya da özel sunucuda çalıştırıyorsanız Sanoid'i kurun, bir saklama politikası tanımlayın ve replikasyonu otomatikleştirin. Yapılandırması 30 dakika sürer ve bir şeyler ters gittiğinde saatler kazandırır. Bir FDC VPS veya özel sunucu üzerinde deneyin.

Blog

Bu hafta öne çıkanlar

Daha fazla makale
ZFS Anlık Görüntüleri: Nasıl Oluşturulur, Geri Yüklenir ve Otomatikleştirilir

ZFS Anlık Görüntüleri: Nasıl Oluşturulur, Geri Yüklenir ve Otomatikleştirilir

Linux'ta ZFS anlık görüntülerinin nasıl oluşturulacağını, geri yükleneceğini ve otomatikleştirileceğini öğrenin. Sanoid ile komutlar, geri alma, saklama politikaları ve tesis dışı replikasyonu kapsar

10 dakikalık okuma - 5 Mayıs 2026

Bir VPS'de Redis nasıl kurulur ve kullanılır

9 dakikalık okuma - 7 Ocak 2026

Daha fazla makale
background image

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?

icon

Esnek seçenekler

icon

Küresel erişim

icon

Anında dağıtım

icon

Esnek seçenekler

icon

Küresel erişim

icon

Anında dağıtım