Genel Storage Özellikleri–Bölüm1(Snapshot ve Clone)

Bu makalede marka marka değilde genel olarak storage özelliklerine bir bakış yapalım istedim. Çünkü bu anlatacaklarım, tüm storagelarda üç aşağı beş yukarı birbirine benzeyen özelliklerdir. Bundan sonraki storage makalelerimde, tüm hâkim olduğum ürünlerin yapılandırılmasından da teker teker bahsetmeye çalışacağım. İçerik olarak; Snapshot(Copy-on-Write, Redirect-on-Write), Clone, Thin-Clone, Replication(RTO/RPO, Synchronous Replication, Asynchronous Replication), ALUA, Thin Provisioning, Cache, SSD Read Cache, Virtualization Storage, Dynamic Pool, Automatic Tiering, Deduplication, Compression, VAAI, ODX gibi konularını her bir bölümde işliyor olacağım.

NOT: Daha önceki makalemde genel bir IOPS hesaplamasından bahsetmiştim. Burada kısa da olsa RAID yapılandırılmasından ve penaltı değerlerinden bahsettiğim için tekrar RAID konusunu daha sonra detaylı olarak anlatacağım. Ama genel bilgi olarak şu linkten http://www.selcuk.savasal.com/?p=72 bir fikir edinebilirsiniz.

Snapshot Nedir?

Snapshot (Anlık Görüntü) varolan yapınızın o andaki bilgilerinin pointerını oluşturup bunları koruyarak tekrar o ana geri dönmenizi sağlayan bir teknolojidir. Ama sakın yanlış anlaşılmasın bu bir backup değildir. Çünkü bir yapının backup’ının olabilmesi için birebir aynısının bir başka yerde olması demektir. Snapshot’da böyle bir durum söz konusu değildir. Aslında birçok sistemci snapshot kavramını Vmware veya Hyper-V’de kullanmıştır ya da en azından duymuştur. Sanallaştırma platformlarında snapshot teknolojisini copy-on-write diye adlandırdığımız bir metot ile kullanıyoruz. Birçok storage’da bu teknolojiyi kullanarak snapshot alıyor fakat çalışma prensipleri biraz farklılık gösteriyor. Bunun dışında şuan daha çok tercih edilen diğer bir metodun adı da Redirect-on-Write’tır. Gelin snapshot modelleri üzerinden bunları sizlere anlatmaya çalışayım.

Copy-on-Write Modeli

Bu method çalışırken snapshot alındıktan sonra ilk önce yapının pointerlarını alır ve LUN’un bir block’u değişecekse önce bu block’u Snapshot volume’ne kopyalayıp pointer bilgisini değiştirir. Daha sonra da LUN’daki block’un üzerine değişen block yazılır. Kısacası önce kopyalayıp sonra yazıldığından bu modele copy-on-write modeli diyoruz. Öncelikle bu tip snapshot metodlarını kullanabilmek için snapshot için storage üzerinde ekstra bir volume oluşturmanız gerekmektedir. Bunu da ortalama LUN’unuzun %20 değişimi gibi düşünürseniz; 100GB’lık bir LUN için 20GB’lık bir volume ayırmanız lazım. Aşağıdaki şekilde de bunu açıklamaya çalıştım. Gördüğünüz gibi snapshotlara backup diyemiyoruz. Çünkü Volume’u kaybedersek verilerimizi kurtarabilecek kadar bilgiye snapshot alanında sahip değiliz.


Ayrıca bu metotta önce kopyalama yapıldığından snapshot alınmış bir volumede yazma işlemi yapıldığında bir performans kaybı oluşacaktır. O yüzdendir ki birçok storage markası bu yöntemden Redirect-on-Write modelini kullanmaya başlamıştır. Ama halen Copy-on-Write modeli de geçerliliğini korumaktadır.

Redirect-on-Write

Copy-on-Write modelinde hatırlarsanız bir snapshot alanı oluşturuyorduk ve snapshotlar bu bölgelere yazılıyordu. Bu metotta da bu şekilde çalışan storage markaları bulunmakta biz bu tip storagelara geleneksel storagelar diyoruz. Fakat artık storage markaları virtualization storage olarak adlandırdığımız bir yapıya geçiyorlar burada snapshot alınırken zaten sadece Redirect-onWrite modelini kullanıyoruz. Çünkü burada blocklar yazılırken belli bir disk grubuna değilde bir disk havuzuna yazılıyorlar. Ama burada da snapshot için belirli block alanlarını rezerve etmeniz gerekiyor. Makalemin ilerleyen bölümlerinde virtualization storage kavramıyla ilgili detayları veriyor olacağım.

Bu yöntem çalışırken yine önce blockların pointerları kaydelir ve değişen block’u geleneksel storagelarda direk olarak snapshot alanına kopyalayıp pointer bilgisini de değiştirmemiş olur. Virtualization storagelarda da zaten bir havuz mantığı olduğu için direk olarak havuzdaki rezerve edilmiş olan block alanına yazılıyorlar ve burada da pointer bilgisi değişmemiş oluyor. Ayrıca burada Copy-on-Write modelinde ki kopyalama sürecini de beklememiş oluyorsunuz.

Geleneksel Storage

           Virtualization Storage

Clone Nedir?

Clone bir Volume’mün T zamanında ki birebir kopyasını oluşturma işlemine verilen addır. Burada da yine geleneksel ve Virtualization storage kavramları devreye giriyor. Geleneksel Storagelarda volume bilgisi clone volume’me geçerken clone olan volume’mün içeriğinin kopyalaması bittikten sonra kullanılmaya başlanıyor. Fakat Virtualization storagelarda önce var olan volume’mün pointerları alınıyor ve clone volume bilgileri buraya kopyalana kadar burada ki pointerları kullanıp Clone oluşmadan kullanabilmesi sağlanıyor. Kopyalama işi bittikten sonra iki adet Volume oluşmuş oluyor ve Clone olan volume pointerları değişmiş oluyor. Her iki modelde de bir volume’mün kapladığı yer kadar yer kaplıyorlar. O yüzden clonelara backup diye adlandırabiliriz. Genelde kullanım alanlarına örnekler vermek gerekirse var olan volume korumak için,  varolan volumeden bir tane daha ihtiyacınız olduğunda veya volume üzerinde test yapmak istediğinizde gerçek volume yerine clone üzerinde test etmek için kullanılabilir.

Thin-Clone Nedir?

Thin-Clone; bir volume’mü template haline sokup, sonra burayı read-only hale getirip bu volume’e bağlı olarak oluşturulan volumelere Thin-Clone diyoruz. Thin-Clonelar Template volume üzerinde ki bilgileri ortak olarak kullanırlar ve Template olan volume read-only olduğu için bir thin-clone buradaki bir block’u değiştirmek istediğinde veya farklı bir block yazmak istediğinde kendi alanında ki yere yazarlar. Böylece diğer thin-clonelar için ortak olan bilgiler template’ten kullanılacağından storage’da yer tasarrufu da yapmış oluruz. Eğer template volume bir işletim sistemi ise ve üzerinde belli başlı uygulamalar varsa thin-clonelarıda boot from SAN yaparak tekrar tekrar kurulum yapmanın da önüne geçmiş oluruz. Bu yöntem desktop sanallaştırma için de tercih edilebilir. Bazı sanallaştırma firmaları (Vmware View, Citrix ZenDesktop, vb.) için storage firmaları kendi plug-inlerini yazarak sanallaştırma platformlarının üzerinden storage yönetimi yapıp buradaki thin-cloneları da yönetebiliyorlar. Böylece bir kullanıcı için ayrı ayrı kurulum yapmak yerine tek bir kurulum yapıp buradan kullanıcılara thin-client gibi cihazlarla dağıtım yapılarak storage ve bilgisayar masrafını azaltmış oluyorlar. Tabi ister sanallaştırma da isterseniz de direk olarak storage üzerinden thin-clone kullanın, böyle bir yapı için mutlaka iyi bir IOPS hesaplanması yapmak zorundasınız. Çünkü yer tasarrufu yapmaya çalışırken aynı anda 100 kullanıcı buraya veri yazmaya çalışması ister istemez bir performans kaybına sebep verebilir. Kısacası yararları olduğu kadar dikkat edilmezse çok fazla kullanıcı problemiyle de karşılaşabilirsiniz.

Bir sonraki makalemde storagelarda yine önemli bir yeri olan Replication konusunu anlatıyor olacağım. Görüşmek üzere…

5 thoughts on “Genel Storage Özellikleri–Bölüm1(Snapshot ve Clone)

  1. Zühtü Hanedar says:

    Güzel makale olmuş Selçuk hocam. Teşekkürler. Devamını bekliyoruz.

  2. Kenan Güneş says:

    Elinize saglık hocam çok güzel ve yararlı.Daha fazla yazı bekliyoruz.

  3. Hakan says:

    Çok güzel bi yazı teşekkürler.

    Web’de sayfalarca yayınlanan ama aslında içi bomboş olan makalelerden çok farklı ve anlaşılır olmuş. Devamını da görürüz inşallah.

Leave a Reply to Atilla Celiloğlu Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.