Oracle ZFS Cihazı ve Çalışma Prensibi
Merhaba Herkese,
Bugünkü yazımda Oracle ZFS cihazı nedir? ZFS cihazının çalışma mantığı nasıldır? Cihaz arayüzü nasıldır? gibi sorulara yanıt vermeye çalışacağım. Hazırsanız başlıyoruz :)
Oracle ZFS Cihazını tanıyalım. Nedir Bu ZFS?
Zettabyte File System (ZFS), ilk olarak SunMicrosystems tarafından geliştirilen gelişmiş bir dosya sistemidir. Diğerlerinden ayıran en önemli özelliği yüksek depolama imkanı sunmasının yanında veri bozulmasına karşı koruma sağlamasıdır. ZFS ilk başta SunMicrosystems tarafından Solaris’in bir parçası olması amacıyla geliştirildi. OpenSolaris projesinin başlatılması sonrası ZFS açık kaynaklı yazılım olarak yayınlandı. 2010 yılında Oracle’nin SunMicrosystems’i satın alıp kendisine dahil etmesiyle ZFS kaynak kodunun yayınlanması durduruldu ve kapalı kaynağa dönüştürülmeye çalışıldı. Bunun üzerine açık kaynaklı Solaris’i devam ettirmek için Illumos projesi başlatıldı. ZFS dosya sisteminin mimarlarından Matt Ahrens ve bir grup insan ise ZFS formatının sürekli geliştirilmesi için OpenZFS projesini başlattı. OpenZFS günümüzde Unix tabanlı (Solaris, OpenSolaris) ve Unix benzeri çekirdeğe sahip (FreeBSD, Linux dağıtımları) sistemlerde kullanılabilmektedir.
Oracle ZFS Storage Ne İşe yarar?
Oracle ZFS Storage, Oracle tarafından sunulan bir depolama çözümüdür. Oracle ZFS Storage, yüksek performanslı, ölçeklenebilir, güvenilir ve veri bütünlüğü odaklı bir depolama altyapısı sunar.
ZFS, özellikle büyük veri depolama ortamlarında, yüksek performans, güvenilirlik ve veri bütünlüğü gerektiren sistemlerde tercih edilen bir dosya sistemi ve depolama yönetim sistemidir. Tek bir sunucuda çalışacak şekilde tasarlanmıştır ve potansiyel olarak yüzlerce hatta binlerce bağlı depolama sürücüsü ile kullanılabilir. Mevcut depolamayı birleştirir ve tüm diskleri tek bir birim gibi yönetir. Dosya sistemi ek kapasiteye ihtiyaç duyduğunda kullanıcı depolama sürücülerini havuza ekleyebilir. ZFS yüksek ölçeklenebilirlik sunar ve maksimum dosya boyutunu destekler.
ZFS, veri diske yazıldığında en az iki kopya metadata saklar. Metadata, verinin depolandığı disk sektörleri, veri bloklarının boyutu ve bir veri parçasının ikili rakamlarının checksum’ını içeren bilgileri içerir. Kullanıcı bir dosyaya erişim talep ettiğinde, bir checksum algoritması alınan verinin orijinal olarak diske yazılan bitlerle eşleşip eşleşmediğini doğrulamak için bir hesaplama yapar. Checksum, tutarsızlık tespit ederse hatalı veriyi işaretler. Ayna veri havuzu veya ZFS’nin RAID versiyonu olan sistemlerde ZFS, doğru kopyayı diğer sürücüden alabilir ve hasarlı veri kopyasını onarabilir.
ZFS genellikle bir kopya yazma dosya sistemi olarak adlandırılır, ancak Oracle onu yazma yönlendirme olarak tanımlar. ZFS verileri diske yazarken, veriyi yerinde üzerine yazmaz. ZFS yeni bir bloğu diskin farklı bir noktasına yazar ve metadata’yı yeni yazılan bloğa işaret edecek şekilde günceller, aynı zamanda verinin eski sürümlerini de korur.
Gerçek bir kopya yazma dosya sistemi, orijinal bloğu üzerine yazmadan önce ayrı bir konumda veri bloğunun tam bir kopyasını oluştururdu. Veriyi üzerine yazmadan önce sistem önceki değeri okumak zorunda kalır. Her veri yazımı için kopya yazma dosya sistemi üç giriş/çıkış işlemi gerektirir: okuma, değiştirme ve yazma. Buna karşılık, yönlendirme üzerine yazma sistemi yalnızca bir giriş/çıkış işlemi gerektirir, bu da daha fazla verimlilik ve daha yüksek performans sağlar.
ZFS Cihazının Temel Özellikleri Nelerdir?
Snapshot ve klonlar: ZFS ve OpenZFS, sistem tüm veri kopyalarını koruduğu için dosya sisteminin zamana bağlı kopyalarını son derece verimli ve hızlı bir şekilde oluşturabilir. Anlık görüntüler, dosya sisteminin değiştirilemez kopyalarıdır, klonlar ise değiştirilebilir. ZFS üzerinde Solaris’te anlık görüntüler ve klonlar boot ortamlarıyla entegre edilir, böylece kullanıcılar sistemlerini yamaladıklarında veya güncellediklerinde bir sorun olursa bir anlık görüntüye geri dönebilirler. ZFS’nin başka bir potansiyel faydası ise fidye yazılımlarına karşı bir kurtarma teknik olarak kullanılabilmesidir.
RAID-Z: RAID-Z, aynı verinin birden fazla konumda depolanabilmesini sağlayarak hata toleransını artırır ve performansı iyileştirir. Sistem, kaybedilen sürücüdeki verileri diğer sürücülerde depolanan bilgileri kullanarak yeniden oluşturur. RAID 5'e benzer şekilde, RAID-Z, her bir sürüce parite bilgilerini şeritler ve bir sürücü arızalanırsa bile depolama sistemini çalışır durumda tutar. Ancak RAID-Z’de şeritlenen veri tam bir bloktur ve boyutu değişkendir. RAID-Z genellikle RAID 5 ile karşılaştırılır, ancak bazı işlemleri farklı şekilde gerçekleştirerek geleneksel RAID’in bazı uzun süredir devam eden sorunlarını ele alır. RAID-Z’nin ele aldığı sorunlardan biri, bir güç kesintisi veya ciddi sistem kesintisi nedeniyle sistem veri veya parite bloklarının hangisinin diske yazıldığını belirleyememesi durumudur. Geleneksel RAID kullanan sistemlerin satıcıları genellikle kesintisiz güç kaynağı veya ayrılmış donanım kullanarak bu sorunu çözerler.
RAID-Z2, RAID 6'ya benzer şekilde iki depolama sürücüsünün kaybını desteklerken, RAID-Z3 üç depolama cihazının kaybına dayanabilir. Kullanıcılar, sürücüleri gruplar halinde düzenleme seçeneğine sahiptir, geleneksel RAID gibi. Örneğin, RAID-Z3 olarak yapılandırılan altı sürücüden oluşan iki gruplu bir sistem, her grupta üç sürücü kaybına dayanabilir.
Sıkıştırma: ZFS ve OpenZFS’te veri sıkıştırma, veriyi depolamak için gerekli bit sayısını azaltmak için yerleşik bir özelliktir. ZFS ve OpenZFS, bir dizi sıkıştırma algoritmasını destekler. Kullanıcılar yerleşik sıkıştırmayı etkinleştirme veya devre dışı bırakma seçeneğine sahiptir.
Veri Tekilleştirme: ZFS ve OpenZFS’te veri tekilleştirme, gereksiz verilerin ortadan kaldırılmasıyla depolama verimliliğini sağlayan bir yerleşik özelliktir. ZFS ve OpenZFS, bloğun checksum’una bakarak tekrarlayan verileri bulur, bu bloğun boyutu değişebilir. Kullanıcılar yerleşik veri tekilleştirmeyi etkinleştirme veya devre dışı bırakma seçeneğine sahiptir.
ZFS send/al: ZFS ve OpenZFS, dosya sisteminin bir anlık görüntüsünün farklı bir sunucu düğümüne gönderilmesini sağlar. Bu, kullanıcının verileri yedekleme veya bulut depolamaya veri taşıma gibi amaçlarla ayrı bir sisteme replike etmesine olanak tanır.
Güvenlik: ZFS ve OpenZFS, atanan izinleri ve daha ince detaylı erişim kontrol listelerini destekleyerek kimlerin yönetici görevlerini gerçekleştirebileceğini yönetmeyi sağlar. Kullanıcılar ZFS’yi salt okunur olarak ayarlayabilir, böylece hiçbir veri değiştirilemez. Oracle, Solaris üzerinde ZFS’de şifrelemeyi desteklemektedir.
ZFS Oracle interface aşağıdaki gibidir.
ZFS’nin Avantajları ve Sınırlamaları
ZFS, dosya sistemi ve birim yöneticisini entegre ettiği için kullanıcıların ayrı araçlar ve komut kümeleri edinmelerine ve öğrenmelerine gerek kalmaz. ZFS, zengin bir özellik seti ve veri hizmetleri sunar ve Oracle işletim sistemine dahil olduğu için herhangi bir maliyeti yoktur. Açık kaynaklı olan OpenZFS ise ücretsiz olarak kullanılabilir. Dosya sistemi, depolama havuzuna sürücüler eklenerek genişletilebilir. Geleneksel dosya sistemleri, kapasiteyi artırmak için disk bölümünün yeniden boyutlandırılmasını gerektirir ve kullanıcılar genellikle bunlara yardımcı olacak birim yönetimi ürünlerine ihtiyaç duyarlar.
Ancak ZFS, GPFS ve Lustre gibi dağıtılmış veya paralel dosya sistemleriyle karşılaştırıldığında yalnızca tek bir sunucuda çalışmak için sınırlıdır. Bu dosya sistemleri birden çok sunucuya ölçeklenebilirken, ZFS bunu desteklemez.
ZFS’nin sağladığı zengin özellik seti, yazılımın kullanımını ve yönetimini karmaşık hale getirebilir. Entegre ZFS checksum algoritmaları gibi özellikler ek işlem gücü gerektirebilir ve performansı etkileyebilir.
Linux topluluğunda, ZFS kodunun ve ikili çekirdek modüllerinin yeniden dağıtımıyla ilgili olarak lisanslama konusunda çeşitli görüşler vardır. Örneğin, Red Hat, CDDL ile genel kamu lisansı (GPL) altında korunan kodun dağıtımını sorunlu bulmaktadır. Buna karşılık, Ubuntu’yu dağıtan Canonical, CDDL ve GPL lisanslarının koşullarına uygun olduğunu belirlemiştir.
Vakit ayırıp okuduğunuz için Teşekkür Ederim.