SDS (software defined storage) hiç şüphesiz storage dünyasında yükselen trendler arasına girmeyi başardı. Birçok storage appliance (fiziksel storage + yazılım) üreticisi dahi bu önlenemez yükselişin karşısında duramıyor ve kan kaybediyor.
Öncelikle SDS nedir, isterseniz biraz bundan bahsedelim. Eski storage yaklaşımı çok uzun zamandan beri mevcut. Bu, temelde şu prensibe yaslanıyor; bir fiziksel donanım alıyorsunuz. Bu fiziksel donanımın içinde kendine has üretilmiş yazılımı barındırıyor. Yazılım katmanında storage’in yönetimi, disklerin yedekliliği, disklerin export mekanizması, (iSCSI, SAN, NFS vb), ve yüksek erişilebilir bir controller barınıyor. Böylelikle sadece bir storage alarak tüm bu dertlerinizden kurtuluyorsunuz.
Ancak her tercih de olduğu gibi bununda bir trade-off olduğunu bilmeniz gerekiyor. Tüm bu yönetim katmanını ve fiziksel yapıyı tek bir üretici altında birleştirdiğinizde aşağıdaki dezavantajlara sahip oluyorsunuz:
- Büyümeyi sadece bir üretici üzerinden yapmaya devam etmeniz gerekiyor (Vendor lock-in).
- Yeni teknolojilere adaptasyon gecikebilir. Büyük üreticiler her ürettikleri altyapı için hızlıca entegrasyon sağlayamıyor. Bu durum şirket olarak gelişmenin önünde bir engel oluşturuyor.
- Storage appliance üreticileri çok büyük bir oranla “kapalı kaynak” yazılımlar ile üretiyorlar. Yazılıma ve kontrol mekanizmasına müdahale şansınız olmuyor.
- Storage içindeki veriniz storage yönetiminde kullanılan controller’a bağlı durumda bulunuyor. Controller katmanını kaldırdığınızda veriye erişmeniz birçok açıdan imkansız hale geliyor.
- Storage büyütme ve destek yenileme maliyetleriniz oldukça yüksek oluyor. Vendor lock-in olduğunuz için, storage üreticisi bu durumu avantajına çeviriyor.
- Kapasite tahminlerinizi önceden hazırlamak ve yatırımı buna göre “henüz kullanmadan” yapmak zorundasınız. Bu da maliyet tablolarına eksi olarak yansıyor.
Bu gibi dezavantajlar uzun zamandır storage yöneticilerini storage appliance almak yerine yönetim katmanı ile fiziksel storage arasındaki ilişkiyi koparmaya zorluyor. İşte SDS bu ihtiyaçtan doğuyor.
SDS bir storage altyapısının fiziksel katmanının (disk, cpu, memory, cache vb) yazılım ve yönetim katmanından tamamen ayrışması ile oluşan, bir SDS yazılımının altında, kullanımına hazır bulunan fiziksel katmanları yönettiği bir storage anlamına geliyor. Tam olarak isminin açılımı olan Software Defined Storage, yazılım ile tanımlanmış storage manasına geliyor.
SDS, bir veya daha fazla farklı üreticinin fiziksel sunucularını yöneterek, storage controller mekanizmasını fiziksel katmandan ayırarak birçok avantaj sunuyor. Bunlar:
- Dilediğiniz gibi büyüme imkanına sahip oluyorsunuz. Storage içine katılacak veya çıkacak fiziksel altyapıyı istediğiniz üreticiden temin edebilir, kullanabilir hale geliyorsunuz. Storage altyapınızda birden fazla üreticinden aldığınız farklı makineleri kullanabiliyorsunuz.
- SDS üreticileri k8s, hyperconverged virtualization, cloud vendors vb. son teknoloji gelişmeleri takip ederek entegrasyonlarını sağlıyorlar. Bu şekilde kullandığınız storage çağın gerisinde kalmıyor, size gelişme imkanı sunuyor.
- Çok az SDS üreticisi yazılımını açık kaynak olarak sunuyor. Açık kaynak üreticileri tercih ederek hangi kodun storage katmanını yönettiğine hakim olabilir, ve hatta geliştirilmesine destek olabilirsiniz. LINBIT, ürünlerini açık kaynak olarak kullanıma sunan sınırlı üreticilerden biri.
- SDS katmanını verinizden ayırdığınızda veriniz hala erişilebilir durumda oluyor. Böylece kullandığınız SDS çözümünü değiştirmek istediğinizde veya migrasyon ihtiyacınız olduğunda zorlanmadan işlemi tamamla biliyorsunuz. Bunu yine oldukça az SDS üreticisi sağlamakta. LINBIT, bunu sağlayan üreticilerden biri.
- Storage büyüme veya küçülme oldukça basit, ve uygun maliyetler ile tamamlanıyor. Önceden tanımlamadan kapasitenizi zaman içinde artırabiliyorsunuz. TCO değerleri SDS ürünlerini kullandığınızda exponansiyel olarak aşağı düşüyor.
- Geo-clustering bir seçenek haline geliyor. Yönetim katmanı fiziksel katman dan ayrıldığı için, birden fazla lokasyonda aynı storage kümesini yönetebilir hale geliyorsunuz.
- Yönetim katmanının fiziksel katmandan ayrı tutarak storage içinde kullandığınız deduplication, compression vb. mekanizmaların kaynak tüketimini kontrol altında tutabiliyorsunuz.
- API ve driver desteği ile, k8s, openshift, opennebula, proxmox, vmware, xcp-ng vb tüm operatörler ile aynı storage’i kullanarak çalışabiliyorsunuz.
- Edge computing oldukça önemli bir konu olarak yakın zamanda sistem ve storage yöneticilerinin masasında yer ediniyor. Yine SDS çözümleri edgecomputing ihtiyaçlarının storage katmanında oldukça kritik bir rol oynuyor. Kolay yönetilebilirliği, hafifliği sayesinde kolaylıkla deploy edilebiliyor ve yönetilebiliyor.
Bu ve benzeri birçok avantaj ile SDS konsepti, storage dünyasında pastasını büyütmeye devam ediyor. Storage kutu üreticileri de bunun farkında ve kendi SDS yazılımlarını üretmeye başladı. SDS ile gelen özgürlük, yönetilebilirlik ve yüksek verim birçok firmanın aradığı ve ulaşmak istediği storage altyapısını oluşmasına katkı sağlıyor.
Storage replikasyonunda 20 seneyi aşkın tecrübesi ile adını duyuran LINBIT, LINBIT SDS ile software defined storage yazılımları arasında en kapsamlı ürün olarak kendine yer ediniyor.
LINBIT SDS iki ana yazılımın birleşmesinden oluşuyor: DRBD ve LINSTOR.
DRBD iki veya daha fazla sayıda Linux işletim sistemi üzerinde blok seviyesinde kopyalama yapabilen bir Linux çekirdek sürücüsü. 2001 de geliştirilmeye başlanan bu ürün 20 seneyi aşkın yaşamı boyunca milyonlarca sunucuya kuruldu, binlerce sistem yöneticisinin “gerçek zamanlı kopyalama” için başvurduğu ve kullandığı bir ürün oldu. Açık kaynak kodlu olması, kopyalama hızının diğer tüm alternatiflerine oranla çok daha fazla olması, özellikle finans ve kritik iş yükü olan sektörlerde ciddi bir tercih sebebi haline gelmesini sağladı. Senkron ve asenkron kopyalama yapabilen DRBD, tek bir veriyi 32 farklı sunucuya gerçek zamanlı olarak kopyalanabiliyor.
DRBD yönetimi oldukça basit, bir konfigürasyon dosyası ve DRBD’nin kullanacağı bir disk ile kolaylıkla çalışır hale getirilebiliyor.
LINSTOR ise replikasyon katmanında DRBD kullanan bir SDS uygulaması. LINSTOR;
- Sunuculardaki fiziksel disk katmanını
- LVM, ZFS ile sanal katmanı
- DRBD ile veri replikasyonunu
- LUKS ile şifrelemeyi
- VDO ile deduplication özelliğini
- DMCACHE yada BCACHE ile cache mekanizmasını
- iSCSI, NFS, NVMEoF, DRBD DISKLESS ile transport mekanizmasını yönetmekte.
Ayrıca gelişmiş API ve DRIVER desteği ile Kubernetes, Opennebula, Openshift, Proxmox, KVM vb tüm operatörler için native destek sunmakta.
Büyük public cloud üreticilerinden küçük lokal firmalara kadar çok büyük & geniş bir müşteri portföyü bulunan LINBIT ürünleri, performansı ile de ihtiyaçlarınızı karşılıyor. Yakın zamanda Intel ile ortak yapılan bir deneme ile 14.8 milyon iops üreterek bu alanda bir dünya rekorunun kırılması sağlandı.
LINBIT; LINSTOR ve DRBD yazılımlarının dışında open source irili ufaklı birçok yazılım sunarak storage dünyasına değer katmaya devam ediyor.
LINBIT SDS kullanarak farklı tip ve markadaki fiziksel makinelerinizi birleştirerek vendor lock-in olmadan kendi hyper converged ortamınızı oluşturabileceğiniz gibi, disaggregated storage mimarisinde platformlar oluşturarak kendi storage altyapınızı yönetebilirsiniz. Yazımızın içinde bahsettiğimiz SDS avantajlarının tamamını ve daha fazlasını LINBIT SDS kullanarak edinebilir, storage katmanını dert etmeden yazılım geliştirmeye, hizmet sunmaya devam edebilirsiniz.