Sales2 min read480 words

Snapshot Nedir? Yedekleme Alternatifi Olarak Kullanılabilir mi?

Alara Türkü

PlusClouds Author

Cloud & SaaS

Snapshot Nedir? Yedekleme Alternatifi Olarak Kullanılabilir mi?

Dilimizde “Anlık Görüntü” olarak da bilinen Snapshot, bir sanal makinanın belirli bir zaman diliminde belirli bir noktadaki durumunu gösterir. Eğer sanal makinanız varsa Snapshot teknolojisinden en iyi şekilde nasıl yararlanabileceğinizi merak ediyor olabilirsiniz. Bu yazımızda Snapshot’ın nasıl çalıştığını, hangi amaçlarla kullanıldığını ve nasıl kullanılmaması gerektiğini konuşacağız.

Snapshot Nedir?

Bilgisayar sistemlerinde Snapshot, bir sanal sunucu diskinin o anki görüntüsünü alarak verileri başka bir dosyaya yeniden yazan bir teknolojidir. Tek komutla gerçekleştirilebilen bu işlemde kritik bir detay ise Snapshot’ın yalnızca diskteki değişiklikleri almasıdır, yani diski bütün olarak yeniden yazmaz.

Snapshot sanallaştırma sürecinde oldukça sevilen bir mekanizmadır ancak sıklıkla yanlış amaçlarla kullanılmaktadır. Pratikliği sebebiyle sunucuda yedekleme yerine Snapshot alarak aynı işlemi gerçekleştirdiğinizi düşünüyor olabilirsiniz. Ancak bu yanlış anlaşılma büyük sorunlar doğurabilir.

Snapshot Yedekleme Alternatifi Olarak Kullanılabilir mi?

Snapshot bir yedekleme çözümü değildir, backup veya cloning işlemleri yerine kullanılamaz. Günümüzde Snapshot, geleneksel mimarilerde çalışan servislerde update gibi işlemler yapılacağı sırada bir sorun çıkması halinde 30-60dk öncesine geri dönebilmek için kullanılır. Yani elimizde bir hafta sürecek bir update takvimi varsa Snapshot almamızın bir anlamı olmayacaktır. Bunun yanında Snapshot alındığında sunucunun o anki durumu tamamen geri getirilmesi oldukça zordur ve efor ister. Bu durum tek bir detaya geri dönebilmek için gereksiz miktarda fazla veri saklanacağı anlamına gelir.

Yalnızca değişiklikleri kopyalayan Snaphot’lar chain yapısına sahiptir. Özetle, aldığınız her Snapshot’ı bir zincirin halkası olarak düşünebilirsiniz. Bu yapının zaafiyet oluşturmaması için takibinin iyi yapılması gerekmektedir. Aradaki halkalardan birinin silinmesi ve o anlık değişiklikleri barındıran dosyanın kaybolması durumunda sanal makineyi bütünüyle geri getirmek neredeyse imkansız olacaktır.

Gerçekten çalışan bir yedek almak için storage, backup veya cloning gibi çözümlere yönelmeliyiz. Örneğin bir Kubernetes ortamında yedekleme yapmak istiyorsak ilgili YML dosyalarının ve Docker imajlarının yedeklerini almak bütün sistemi yedeklemek anlamına gelir. Bu şekilde gerçekten kurtarıcı ve kullanışlı bir sistem oturtmuş oluruz.

Snapshot ile Uygun Maliyetli Yedekleme Mümkün mü?

Snapshot’ı yedekleme amaçlı kullanmak maliyet açısından da dezavantaj getirebilmektedir. Alınan Snapshot’lar hipervizörde çalışmaya hazır birer Virtual Machine (Sanal Makina) olarak görülmektedir. Yani her Snapshot alışınızda yeni bir VM oluşturmuş olursunuz. Anlık olarak geri dönmek isteyebileceğiniz her kopya gereksiz sayıda VM tutarak faturanıza olumsuz olarak yansıyacaktır. Snapshot’ların birkaç gün içerisinde silinmesi en uygunudur, aksi takdirde sanal makinede performans düşebilir. Daha uzun süreli Snapshot’ların silinme işlemi de daha uzun zaman almaktadır.

Yedekleme uzun süreli bir işlemdir. Snapshot ise uzun süre silinmeden beklediğinde düşük performansla başlayarak makinanın çökmesine kadar gidebilecek birtakım problemlere sebep olabilir. Yedekleme çözümü olarak sunulan ve bu amaçla geliştirilmiş ürünler hem teknik olarak yeterli ve hem de maliyet açısından daha uygun seçeneklerdir.

Sonuç olarak Snapshot kontrollü bir şekilde kullanıldığında saatlik işlemler için oldukça kullanışlıdır ancak uzun süreli bir yedekleme alternatifi olarak ele alınamaz. Sanal ortamda kullandığınız mekanizmalar hakkında temel bilgileri gözden geçirerek kaynaklarınızı boşuna harcamak gibi tehlikelerin önüne geçebilirsiniz. Bunun için blogumuza göz atarak almayı düşündüğünüz veya alıyor olduğunuz hizmetlerle ilgili diğer yazılara da göz atabilirsiniz.

Frequently Asked Questions

Snapshot nedir ve nasıl çalışır?

Snapshot, bir sanal sunucu diskinin o anki görüntüsünü alır ve yalnızca diskteki değişiklikleri kaydeder, diski tamamen yeniden yazmaz. Tek komutla gerçekleştirilebilen bu işlem, belirli bir zamanda sistemdeki durumu geri getirmeyi sağlar.

Snapshot yedekleme alternatifi olarak kullanılabilir mi?

Snapshot bir yedekleme çözümü değildir; backup veya cloning yerine kullanılamaz. Günümüzde genellikle update sırasında sorun çıkarsa 30-60 dk öncesine geri dönmek için kullanılır, ancak uzun vadeli yedekleme için uygun değildir.

Snapshot ile uygun maliyetli yedekleme mümkün müdür?

Snapshot’lar maliyet açısından dezavantaj oluşturabilir; her snapshot hipervizörde yeni bir VM olarak görülür. Bu nedenle birkaç gün içinde silinmesi önerilir, aksi halde performans sorunları ve maliyet artışları yaşanabilir.

Snapshot hangi durumlarda yararlı olur ve hangi durumlarda olmaz?

Snapshot saatlik işlemler için kullanışlıdır, ancak uzun süreli bir yedekleme alternatifi olarak ele alınamaz. Uzun vadeli planlarda yedekleme için başka çözümlere yönelmek gerekir.

Snapshot zinciri nedir ve neden dikkatli izlenmelidir?

Snapshotlar değişiklikleri kopyalayan bir zincir (chain) yapısına sahiptir. Aradaki halkalardan birinin silinmesi veya o anlık değişiklikleri barındıran dosyanın kaybolması durumunda sanal makineyi bütünüyle geri getirmek neredeyse imkansız olabilir.

Gerçek bir yedekleme için hangi çözümlere yönelmeliyiz?

Gerçek bir yedekleme için storage, backup veya cloning gibi çözümlere yönelmeliyiz. Örneğin Kubernetes ortamında yedekleme yaparken ilgili YML dosyalarının ve Docker imajlarının yedeklerini almak tüm sistemi yedeklemek anlamına gelir.

Snapshot yönetimini nasıl daha güvenli ve etkili kılabiliriz?

Snapshot’ları kontrollü kullanmalı ve mümkün olduğunca kısa süreyle tutmalıyız; birkaç gün içinde silinmesi önerilir. Uzun süreli saklama, performans düşmesi ve yönetim zorlukları yaratabileceği için yedekleme amaçlı kullanılmamalıdır.

Snapshot Nedir? Yedekleme Alternatifi Ola… | PlusClouds Blog