1 Kasım 2014 Cumartesi

Nesne Depolama Arayüzü




ÖZET

İlk disk sürücünün bundan 50 yıl önce üretildiği günden bugüne depolama teknolojisi önemli ölçüde büyüme kaydetmiştir ve bunda özellikle depolama ara yüzlerinin (SCSI ve ATA/IDE) yavaş ve istikrarlı gelişimi de kısmen etkili olmuştur. Bu ara yüzlerinin istikrarlı olması, hem depolama cihazlarında hem de uygulamalarında, standartlarda sık değişikliğe gidilmeden sürekli gelişmelerin sağlanmasına imkân vermiştir. Ancak cihazlar tarafından sunulan fonksiyonelliği nihai olarak ara yüz belirlemektedir ve mevcut ara yüzler sistem tasarımcılarını geride tutmaktadır. Depolama teknolojisi, artık cihaz ara yüzünde bir değişimin gerektiği noktaya kadar gelişmiştir. Nesne tabanlı depolama bu soruna yönelik tasarlanan, öne çıkan bir standarttır. Bu makalede nesne tabanlı depolamayı tarif ediyor ve veri paylaşımı, güvenliği ve cihaz akıllılığını nasıl geliştirdiğini vurguluyoruz. Ayrıca nesne tabanlı depolamanın bazı sektör uygulamalarını ve daha da akıllı depolama sistemleri kurmak için nesneleri bir temel olarak kullanan akademik araştırmaları tartışıyoruz.


GİRİŞ

Sektör, depolama ara yüzü üzerinde baskı uygulamaya ve daha fazlasını yapmasını talep etmeye başlamıştır. 1956,1 yılındaki ilk disk sürücüden bu yana, disklerin yoğunluğu altı büyüklük mertebesinde büyüme kaydetmiştir ve performans açısından da dört büyüklük mertebesinde iyileşme kaydetmiştir, ancak buna rağmen depolama ara yüzü (yani bloklar vb.) büyük oranda değişmeden kalmıştır. SCSI ve ATA/IDE'nin blok tabanlı ara yüzlerinin kararlılığı sistemlere fayda sağlamış olsa da, bugün gelinen noktada birçok depolama mimarisi için kısıtlayıcı bir faktör haline gelmektedir. Depolama altyapılarının hem büyüklüğü hem de karmaşıklığı arttıkça, sistem tasarımcılarının gerçekleştirmek istediği fonksiyonlar temel olarak blok ara yüzü tarafından kısıtlanmaktadır.

Yakın geçmişte sektörde ve akademide yapılan araştırmalar, depolama teknolojisinde, cihazların göreli olarak akıllı olmayan bir durumdan, akıllı oldukları, kendi kendilerini yönettikleri ve hizmet verdikleri depolama uygulamalarının farkında oldukları bir duruma evrimleştikleri bir kayma olduğunu düşündürmektedir. Ancak böyle bir akıllı cihazın oluşturulması daha anlatımlı bir ara yüz gerektirmektedir. Sektördeki birçok insan nesnelerin depolanmasına dayalı bir ara yüzün doğru cevap olabileceğini düşünmektedir.

Bir depolama nesnesi, bir depolama cihazı üzerinde bulunan baytların mantıksal bir toplamıdır, erişim için yaygın olarak bilinen yöntemlere sahiptir, özellikleri verinin karakteristiklerini tarif eder ve güvenlik politikaları da yetkisiz erişimi engeller Blokların aksine, nesneler değişken büyüklüklere sahiptir ve dosyalar, veri tabanı tabloları, tıbbi görüntüler veya multimedya gibi bütün veri yapılarını depolamakta kullanılabilmektedir.

Nesneler iki teknolojinin buluşması olarak görülebilir: dosyalar ve bloklar. Dosyalar, kullanıcı uygulamalarına, farklı işletim sistem platformları arasında güvenli veri paylaşımına imkân veren daha üst düzey depolama soyutlaması imkânı sunmakta, ancak çoğu durumda bunun maliyeti dosya sunucusu çekişmesi nedeniyle sınırlı performans olmaktadır. Bloklar paylaşılan veriye hızlı ve ölçeklenebilir erişim sunmaktadır; ancak I/O'yu yetkilendirmek ve metadatayı sürdürmek için bir dosya sunucusu sağlamazlar ve bu doğrudan erişimin maliyeti sınırlı güvenlik ve veri paylaşımıdır.

Nesneler hem dosyaların hem de blokların avantajlarını sağlayabilmektedir. Bloklara benzer şekilde, nesneler bir depolama cihazı üzerinde doğrudan erişilebilen basit depolama birimleridir (örneğin bir sunucu dolayımı olmadan); bu doğrudan erişim bloklara benzeyen performans avantajları sunmaktadır. Dosyalara benzer şekilde ise, nesneler, depolama uygulamalarını nesneyi depolamak için gerekli metadatadan soyutlayan bir ara yüz kullanarak erişilmektedir ve böylece nesneler farklı platformlardan kolay erişilir hale gelmektedir. Dolayısıyla nesne temelli depolamanın temel katkısı, depolama cihazlarına dosya benzeri erişim sağlamasıdır.

Bu makalenin geri kalanı şu şekilde düzenlenmiştir. Bugünün önde gelen depolama mimarilerini, verilen ödünleri ve blok bazlı ara yüzlerin temel kısıtlamalarını tartışıyoruz. Nesne bazlı depolamayı, bu sınırlamaları ortadan kaldıracak bir mimarı olarak tarif ediyoruz. Nesne tabanlı depolama etrafındaki sektör faaliyetiyle, özellikle de Depolama Ağı Sektörü Derneğindeki (SNIA) çabalarla ve nesne bazlı dosya sistemleri konusunda devam eden faaliyetlerle ilgili bir tartışmayla sonuçlandırdık.


GÜNÜMÜZDE DEPOLAMA VE ÖDÜNLER

İdeal depolama mimarisi güçlü güvenlik, platformlar arası veri paylaşımı (yani işletim sistemleri arası), yüksek performans ve cihaz ve istemci sayısı açısından ölçeklenebilirlik sunacaktır.  Günümüzün mimarileri sistem tasarımcılarını, bu özelliklerden hangisinin en önemli olduğu konusunda karar vermeye zorlamaktadır, çünkü bir mimari seçmek bir ödün verme gerekmektedir. Günümüzde yaygın olarak kullanılan üç depolama mimarisi doğrudan ekli depolama (DAS), depolama alanı ağları (SAN’lar) ve ağ ekli depolamadır (NAS). Hem NAS hem de SAN sistemlerinin özelliklerini birlikte sunmayı hedefleyen ve genellikle SAN dosya sistemi adı verilen bir dördüncü mimari yakın geçmişte sunulmuştur.

DAS, blok bazlı depolama cihazlarını bir sunucu makinasının I/O veri yoluna bağlamaktadır (örneğin SCSI veya AT/IDE aracılığıyla). DAS yüksek performans ve minimal düzeyde güvenlik sorunu sunsa da, bağlantı konusunda sınırlar bulunmaktadır. Örneğin SCSI, bir veri yolunun genişliğiyle sınırlanmaktadır (16 bitlik bir veri yolunda en fazla 16 sunucu veya cihaz olabilmektedir). DAS'ın bağlantı sorunlarını çözebilmek ve bunun sonucunda depolama cihazlarının konsolidasyonunu ve paylaşımını sağlayabilmek amacıyla SAN geliştirilmiştir.

SAN, yüksek sayıda sunucu ve depolama cihazı için ölçeklenebilir bağlantı sunan, anahtarlamalı bir yapıdır. Ancak bu ek bağlantıyla birlikte, daha iyi güvenlik ihtiyacı ortaya çıkmıştır. Bu nedenle SAN'lar, yapıyı güvenli tutabilmek için zoning (bir sanal özel ağ gibi) ve sunucu cihazı yetkilendirmesi gibi kavramlar ortaya atmıştır.

Hem DAS hem de SAN blok temellidir. Veri yapılarının (dosyalar ve dizinler) depolama cihazları üzerinde bulunan bloklara eşleştirilmesinden depolama uygulaması (örneğin dosya sistemi) sorumludur. Bu eşleştirmenin yapılması için gerekli ek veriye genellikle metadata adı verilmektedir. Çoklu sunucular, veri bloklarını paylaşabilmek için aynı zamanda metadatalarını paylaşmak zorundadır ve bunu sunucular arasındaki metadata tutarlılığını garanti edecek bir şekilde yapmaları gerekir. Bu işlemin karmaşıklığı, yalnızca kümelenmiş dosya sistemleri ve veritabanları gibi sıkı bir şekilde bağlantılandırılmış performans duyarlı depolama uygulamaları arasında blok paylaşımı yapılmasına neden olmuştur. Diğer altyapıların çoğu, sunucuların yalnızca NAS kullanarak dosyaları dolaylı olarak paylaşmasına izin vermektedir.


NAS yalnızca, platformlar arası veri paylaşımını sağlamak üzere ortaya atılan dosya sunumu için farklı bir adlandırmadır.  NAS sayesinde, dosyaların cihazlar üzerinde nasıl depolandığını tarif eden metadata, bütünüyle dosya sunucusu üzerinde yönetilir. Bu düzeyde dolaylama, platformlar arası veri paylaşımına imkan verir, ancak maliyeti bütün I/O'nun tek bir dosya sunucusu üzerinden yönlendirilmesidir.  NAS bir SAN'nin üzerine veya bir DAS ile birlikte uygulanabilir ve ilkine genellikle NAS işlemi olarak adlandırılmaktadır. Her durumda istemciler dosya sunucusunun performansı tarafından sınırlandırılacaktır ve depolama cihazlarının toplam performansını nadiren görebilecektir (Şekil 1).



NAS'ın performans sınırlamalarının üzerine gidebilmek için son zamanlarda SAN dosya sistemleri ortaya çıkmıştır. Bir SAN dosya sisteminde dosya sunucusu ve istemcilerin hepsi, dosya sisteminin depolandığı bir SAN'a bağlıdır. Bu bağlantı veri alındığında, dosya sunucusu dosya metadatasını istemcilerle paylaşabilir ve böylece istemcilerin depolama cihazlarına doğrudan erişimine olanak sağlayabilir. Bunun örnekleri arasında EMC'nin HighRoad'u, IBM'in Storage Tank'ı ve Veritas'ın SANPoint Direct'i yer almaktadır.  Cihazların I/O yetkilendirmesi için hiçbir mekanizmaya sahip olmaması ve artan dosya hizmet performansı bu nedenle güvenliği azaltmaktadır; cihaz güvenliğine yönelik SAN mekanizmaları yalnızca cihazın bütününü korumaktadır ve cihaz içinde yer alan veriyi korumamaktadır. Bir SAN dosya sistemi Şekil 2'de gösterilmiştir.



Bu nedenle günümüz mimarilerinde verilen ödün, yüksek performans (bloklar) karşısında güvenlik ve platformlar arası veri paylaşımı (dosyalar) olmaktadır. Dosyalar sistemler arasında güvenli veri paylaşımına izin verirken, bir dosya sunucusu tarafından dayatılan ek yük performansı sınırlandırabilmektedir. Ancak doğrudan istemci erişimine izin vererek dosya hizmet performansının artırılması, güvenlik pahasına gerçekleşmektedir.

Ölçeklenebilir, yüksek performanslı, platformlar arası ve güvenli bir veri paylaşımı mimarisi, hem SAN'ların doğrudan erişim özelliğini sunan hem de NAS'ın veri paylaşımı ve güvenlik kabiliyetlerini sunan yeni bir ara yüz gerektirmektedir.



NESNE TABANLI DEPOLAMA

GENEL BAKIŞ

Nesneler dosya benzeri ara yüzü olan depolama konteynerleridir ve NAS ve SAN mimarilerinin etkin bir buluşmasını temsil etmektedir. Nesneler hem NAS (platformlar arası veri paylaşımına ve politika bazlı güvenliğe imkan ağlayan yüksek düzeyde soyutlama) ve SAN'ın (cihazların anahtarlı yapısının doğrudan erişimi ve ölçeklenebilirliği) faydalarını kapsamaktadır. Nesneler depolama alanı ayırma ve veri paylaşımı açısından dosyalar gibi davranmakla birlikte yalnızca, istenen ek ara yüzleri (örneğin kilitleme) ve arama mekanizmalarını (örneğin dizinler) uygulayan depolama uygulamaları (örneğin dosya sistemleri ve veri tabanları) için konteynerler olarak hizmet vermeleri amaçlanmıştır.

Bir nesnenin büyüklüğü değişkendir ve dosyalar, veri tabanı kayıtları, medikal görüntüler veya multimedya gibi her tür veriyi depolamak için kullanılabilmektedir. Tek bir nesne bütün bir dosya sistemini veya veri tabanını depolamak için bile kullanılabilmektedir. Bir nesne içinde ne depolanacağına depolama uygulaması karar verir. Blok I/O'nun aksine, depolama cihazları üzerinde nesnelerin yaratılması, bir dosya sistemine benzeyen zengin bir ara yüz üzerinden gerçekleştirilmektedir. Ve nesneler dinamik olarak büyüyüp küçülebildiği için, nesnenin bütün içi depolama alanı yönetiminden depolama cihazı sorumludur (örneğin depolama cihazı, UNIX indeks nodları veya inodlar ve boş blok bitmaplare gibi ayırma ve boş depolama alanı metadata yapılarını yönetir).
Nesneler veri, kullanıcı tarafından erişilebilir özellikler ve cihaz tarafından yönetilen metadatadan oluşmaktadır.

Bir nesne içinde depolanmış bulunan veri, nesne bazlı veri depolama cihazı için opaktır ve yalnızca nesnenin veri bölmesinde depolanır. Kullanıcı tarafından erişilebilir özellikler, nesnenin özelliklerini tarif eder ve bunların bazıları opak olacak, bazıları ise olmayacaktır. Örneğin bir hizmet kalitesi (QoS) özelliği, bir multimedya nesnesi için gecikme ve iş hacmi oranını tarif ediyor olabilir. Son olarak, cihaz tarafından yönetilen metadata, nesnenin fiziksel depolanmasını yönetmek amacıyla depolama cihazı tarafından tutulan her türlü ek bilgidir (örneğin bir inode).

Nesneler depolayan bir cihaza bir nesne bazlı depolama cihazı (OSD) diyoruz. OSD'ler bir tek disk sürücüden, bir sürücü dizini olan bir depolama kontrolörüne kadar uzanan bir yelpazede birçok şekilde olabilmektedir. OSD'ler rastgele erişimli veya yazılabilir cihazlarla sınırlı değildir; teyp sürücüleri ve optik medya da nesneleri depolamakta kullanılabilir. Bir OSD ile bir blok bazlı cihaz arasındaki fark, fiziksel medya değil, arayüzdür.

Nesne tabanlı depolamanın ilk etkisi, depolama alanı yönetiminden kaynaklı yükün (kullanılan ve boşta olan bloklar için yer ayırma ve takip) depolama uygulamalarından aktarılmasıdır. Bu yük aktarmayı göstermek için geleneksel dosya sistemi mimarisini düşünün (Şekil 3a). Blok tabanlı dosya sistemleri en genel haliyle iki bölüme ayrılabilir: bir kullanıcı bileşeni ve bir depolama bileşeni. Kullanıcı bileşeni, kullanıcı uygulamalarına dosyalar ve dizinler gibi mantıksal veri yapıları ile birlikte, bu veri yapılarına erişim için bir ara yüz sunmaktan sorumludur ve depolama bileşeni ise veri yapılarını fiziksel depolamaya eşleştirir. Sorumlulukların bu şekilde ayrılması, yönetim yükünün depolama cihazına aktarılmasına imkan sağlar ve bu da nesne tabanlı depolamanın istenen etkisidir.


Şekil 3b'de dosya sistemi değişmemiştir ve depolama yönetimi bileşeninin yükü (ve dolayısıyla metadata) depolama cihazına aktarılmıştır ve cihaz ara yüzü bloklardan nesnelere dönüştürülmüştür.
Blok metadata yönetimi (Şekil 3a'daki bileşenin depolanması) bütünüyle depolama uygulamaları tarafından belirlenmektedir (örneğin dosya sistemlerinin disk üzerindeki metadata yapılarını düzenlemek ve sürdürmek için özgün yolları bulunmaktadır). Bu bağımlılıklar, sunucular arasında doğrudan veri bloğu paylaşımını zor hale getirmektedir, çünkü depolama cihazına erişim yapmadan önce, hem metadata yapıları hem de disk üzerindeki düzenle ilgili a priori bilgi gerekmektedir. Dahası, cihazların paylaşılması, yer ayırma ile ilgili görevlerin dağıtımı (örneğin bir boş blok bitmapinin paylaşımı) için sunucular arasında özel koordinasyon gerektirmektedir. Metadata yükünün depolama cihazına aktarılmasında, nesneler metadata ile depolama uygulaması arasındaki bağımlılığı ortadan kaldırmakta ve farklı depolama uygulamaları arasında veri paylaşımını daha uygun hale getirmektedir. Dahası, suncuların metadata güncellemelerini koordine etmeleri gerekmediğinde küme ölçeklenebilirliği önemli ölçüde gelişir.

Depolama uygulamaları, daha üst düzey bir isimden gelen nesne kimliğini çözmek için kendi indeksleme bilgilerini (örneğin dizin metadatası) tutmaya devam edebilir. Ancak bu kimlik verildiğinde, nesneye artık platformdan bağımsız bir şekilde erişilebilir. Bu, veri paylaşımını daha kolay hale getirir. Örneğin, bir yedekleme uygulamasına bir nesne kimliği listesi verilebilir ve bu, cihazın daha etkin fiziksel yedeklemesine olanak sağlayabilir.

Dahası, bütün metadata yükü aktarıldıktan sonra, depolama cihazları artık kendi yapılarını, bir bloklar dizisi yerine tek bir nesne olarak depolayabilmektedir. Ve cihaz nesneleri tekil olarak ele alabildiği için, dosyaların bir dosya sunucusu tarafından korunduğu şekilde güvenlik politikalarını nesne bazlı olarak ortaya koymak daha kolay olabilmektedir. Nesneler depolama uygulamalarının, bütün bir cihaz, cihaz üzerinde bir dizi nesne, tek bir nesne veya hatta bir nesne içindeki baytlar için yetkilendirmeyle sonuçlanacak esnek güvenlik politikaları uygulamasına izin vermektedir.

Nesne tabanlı depolamanın ilk faydaları bu edenle platformlar arası veri paylaşımı ve uygulama düzeyinde güvenliktir. Bu faydalar en çok SAN tabanlı depolama cihazlarıyla ilgilidir ve zaten tek bir sunucunun koruması ve yönetimi altında bulunan DAS tabanlı depolama için sınırlı değeri olacaktır. Depolama cihazlarında öz yönetim kapsamında yeni fırsatlar ortaya çıktıkça, verinin fiziksel düzenini yöneten cihazlardan bir ek fayda sağlanmaktadır. Öz yönetim hem DAS hem de SAN cihazlarına eşit düzeyde fayda sağlamaktadır ve performansı iyileştirmek için verinin yeniden organize edilmesi, düzenli yedek alınması için planlama yapılması ve çökme durumunda kurtarma gibi eylemler içermektedir. Örneğin bir dosya tabanlı cihaz içinde dosya düzeyinde önceden getirme, cihaz dosyalarla ilgili bilgiye sahip olmadığı için imkansız olmaktadır. Bunun aksine, bir nesne tabanlı cihaz, depolama uygulamaları adına dosyaları (nesne olarak depolanan) kolaylıkla önceden getirebilir veya en çok erişildiği sıraya göre dosyaları düzenleyebilir.

Yaygın olarak kabul edilecekse, işletim sistemi nesneleri destekliyor olmalıdır. Neyse ki kullanıcı ve depolama IS bileşenleri arasındaki kesin ayrım (Şekil 3) değişimi kolaylaştıracaktır.


 Özellikle nesne tabanlı sistemler uygulamada göreli olarak aık olacaktır (bir dosya sisteminin yalnızca blok yönetimi üzerindeki kontrolünü bırakması gerekecektir) ve yeni bir sınıf sürücüsü sayesinde, disk ve teyp için zaten mevcut olana benzer şekilde bir OS'in I/O alt sistemi getirilebilecektir. Intel Labs'den gelen referans her ikisinin de Linux'da [1] nasıl yapılabildiğini göstermektedir.


Bu bölümün kalanı, özellikle de bir OSD'ye olan arayüzü, bir nesneyle ilgili özellikler, nesne tabanlı depolama için kullanılan güvenlik mimarisi ve daha akıllı depolama cihazları için nesnelerin sunduğu olanaklar olmak üzere, nesne tabanlı mimariyi daha derinlemesine tarif etmektedir.

VERİ PAYLAŞIMI

Nesnelerin geliştirilmiş veri paylaşımı, hem daha üst düzey arayüzden hem de depolanan veriyi tarif eden özelliklerden kaynaklanmaktadır.

Ara yüz— Nesne tabanlı depolamanın ara yüzü bir dosya sistemine çok benzemektedir. Nesneler günümüzde tıpkı dosyaların yapılabildiği gibi oluşturulabilmekte veya silinebilmekte, okunabilmekte veya yazılabilmekte veya hatta belli özelliklerine göre sorgulanabilmektedir. Dosya arayüzlerinin kolay anlaşılabilir olduğu, doğrudan standartlaştırılabildiği (örneğin CIFS, NFS) görülmüştür ve dolayısıyla farklı platformlar arasında paylaşımı mümkündür.

Ara yüz aynı zamanda bir nesne içindeki verinin işlenmesi için uygulamaya özel yöntemlerle kolaylıkla genişletilebilmektedir ve bu tekniğe aktif diskler adı verilmektedir [2]. Örneğin, bir veri tabanı filtresi bir nesneyle ilişkilendirilebilir ve bunun çıktısı da takip eden okuma operasyonlarında geri gönderilebilir. Dahası bir OSD QoS veya güvenlik garantileri gibi uygulamaya özel parametreleri içermesi için, depolama uygulamalarına cihaz üzerinde oturum açma izni verebilir. Kısacası nesneler depolama cihazları üzerinde, cihazların depolama uygulamalarına ve hatta istemcilere tekil davranmasına olanak sağlayacak bir mekanizma getirir.

Özellikler — Özellikler, depolama uygulamalarının veriyi tarif eden ortak bir bilgi seti (örneğin erişim saatleri) paylaşmasına izin vererek veri paylaşımını geliştirir. Bunlar aynı zamanda nesnelere nasıl erişildiğiyle ilgili depolama cihazlarına bilinç vermenin anahtarı konumundadır.
Birçok konumlandırmada, özellikler en azından birçok UNIX dosya sisteminde kullanılan temel veri yapısı olan bir indeks nodunda (inode) bulunan bilgilere benzer bilgiler içerecektir. Bir inode'da erişim zamanı, boyut ve grup ve kullanıcı bilgisi gibi dosya özellikleri yer alır ve bunların her biri nesne verisiyle birlikte etkin bir şekilde depolanır ve bazı durumlarda depolama cihazı tarafından yorumlanır. Örneğin, boyut özelliğini güncelleyen bir yazdırma işlemi, izleyen yazdırma taleplerine yansıyacaktır ve güncellemenin nesneye erişen diğer depolama uygulamaları tarafından görünür olmasını sağlayacaktır. Kümelenmiş uygulamalar bu nedenle bu metadatayı tutma sorumluluğunu, performansı azaltabilecek bir bant içi (örneğin veri yolu üzerinde) bir metadata sunucusuna delege etmek yerine, bu sorumluluk için depolama cihazına güvenebilir.

Bu dosya benzeri özelliklerin ötesinde, nesneye olası erişim düzenleri (örneğin sıralı veya rastgele erişimli) veya hatta diğer nesnelerle ilişkileri gibi sunulabilecek ek bilgiler sunulabilmektedir.

Örneğin bir depolama cihazı üzerindeki multimedya dosyaları, onların bir grup olarak organize edilmelerini ve etkin bir şekilde yönetilmelerini sağlayacak aynı özelliklere sahip olabilir.

GÜVENLİK

Güvenlik belki de nesne tabanlı depolamayı blok tabanlı depolamadan ayıran en önemli tekil özelliktir. Güvenlik SAN'larda cihaz ve yapı düzeyinde olmamakla birlikte (örneğin cihazlar bir güvenli giriş gerektirebilir ve anahtarlar zoning uygulanmasını engelleyebilir), nesneler büyük cihazların veya yapıların çoklu güvenli alanlara bölünmesine izin verir bunların her birinin erişim politikası depolama uygulaması tarafından ayrı ayrı belirlenir. Nesne tabanlı güvenlik mimarisinde [3] her erişim yetkilendirilmiştir ve yetkilendirme, veri yolunu yavaşlatabilecek bir merkezi otoriteyle iletişim kurmadan gerçekleştirilmektedir (Şekil 4).

Şekil 4'te yer alan depolama uygulaması her bir dosyayı ayrı bir anahtar olarak depolayan bir dosya sunucusu olabilir.



Bu mimari, Şekil 2'de gösterilen SAN dosya sisteminin aynısıdır ancak arada yalnızca bir tane önemli farklılık bulunmaktadır: artık istemcilere ve ağa artık güvenilmesi gerekmemektedir. Bunun anlamı, istemcilerin ve depolama cihazlarının, yetkisiz istemcilerin depolama alanına erişim riski veya yetkili istemcilerin depolama alanını yetkisiz bir şekilde erişmesi riski olmaksızın, ağ üzerinde herhangi bir yerde olabilmesi anlamına gelir.
Bir nesne tabanlı güvenlik sistemindeki temel yapı taşı, bir istemcinin haklarının değiştirilemeyen bir tarifini içeren, kriptografik olarak güçlü bir kabiliyettir. Bu kabiliyet güvenlik politikasını temsil eder ve depolama cihazlarını yöneten ve istemcilere haklar veren bir nesne yöneticisi tarafından bant dışında (yani ana veri yolu dışında) oluşturulur. Bu kabiliyete sahipken, istemci depolama cihazına erişebilir ve kabiliyetin veya talebin değiştirilmediğini temin etmek için kabiliyetin sağlamlığını doğrulamak depolama cihazının işi olmaktadır.

Dolayısıyla OSD politika yerine güvenliğin sağlanması için gerekli mekanizmayı sunar ve bu da depolama uygulaması tarafından belirlenir. Politikanın mekanizmadan ayrıştırılması, ölçeklenebilir bir güvenlik mimarisinin kurulmasında anahtar rolü oynamaktadır. Özellikle, cihaz üzerinde istemciye özel kimlik doğrulama bilgisi bulunması, depolama cihazının sistemdeki istemci sayısı ve türünden bağımsız bir şekilde ölçekleneceği anlamına gelir.

OSD istemcinin kimlik doğrulamasını sorgulamamakla birlikte, kabiliyetinin tamlığını doğrulamak veya nesne yöneticisinin istemciye erişim verdiğini kanıtlamak için bazı mekanizmalara ihtiyacı bulunmaktadır. Bu garantinin sağlanması, nesne yöneticisinin ve cihazın, kabiliyetin içeriklerinin bir güvenli hashini yaratmakta kullanılabilecek bir gizli bilgi paylaşmasını gerektirir. İstemciye bu kabiliyet verilmeden önce, yönetici öncelikle gizli bilgiyi anahtar olarak kullanarak, kabiliyetin bir anahtarlı hashini oluşturacaktır.

Daha sonra, kabiliyet anahtarı olarak adlandırılan güvenli hashi, istemciye geri gönderecektir. İstemcinin, bu kabiliyet anahtarını, OSD'ye gönerilen her bir talep için kendi anahtarlı hashini oluşturmakta kullanması beklenmektedir. Bu hash, kabiliyeti değişikliğe karşı koruyan kabiliyet hashine benzer şekilde komutu tespit edilemeyen değişikliklere karşı korur.

Bir OSD'ye gönderilen talep, komut, istemci kabiliyeti ve talebin tamamının bir bir imzasını (veya özeti) içerir. Yeni bir talebin alınmasının ardından OSD öncelikle istemci özetini doğrulamalıdır. OSD talep için kendi özetini oluşturacaktır ve bunu istemci tarafından gönderilen özetle karşılaştıracaktır.2 Bunlar eşleşirse, OSD'ye, talepteki kabiliyetin veya değişkenlerin değiştirilmediği konusunda garanti verilir. Bunlarden herhangi birinin değişmiş olması durumunda, OSD tarafından üretilen özet, istemci tarafından gönderilenden farklılık gösterirdi ve OSD talebi reddederdi; OSD tarafından istemciye gönderilen bütün yanıtlar, istemciden gönderilene benzer özetler kullanılarak korunabilir.

Bazı ortamlarda nesne tabanlı depolama aynı zamanda veri transferlerinin gizliliğini temin etmeli ve gecikme ve yeniden okuma saldırılarına karşı korumalıdır. Güvenilir bir kanalın yokluğunda (örneğin IPSec), nesne tabanlı depolama güvenlik mimarisi kabiliyet anahtarının bir kriptolama anahtarı olarak kullanılmasına izin verir ve istemciyi ve depolama cihazlarını gözetleme saldırılarına karşı korur.

Gecikme ve yeniden çalma saldırıları, sırasıyla her bir I/O'ya istemci tarih bilgisi ve dizge sayısı eklenerek engellenir. Tarih bilgisi, komutun geçerli olacağı küçük bir pencere oluşturacaktır. Komut depolama cihazı tarafından bu pencere dışında alınırsa, yetkilendirilmeyecektir. Benzer şekilde, depolama cihazı her bir komutun dizge sayısını kontrol edebilir ve zaten yürütülmüş olanları reddedebilir.
Her I/O sırasında nene yöneticisine bir yolculuk yapılmasını engellemek için istemciler kabiliyetleri saklayabilir ve yeniden kullanabilir. Nesne yöneticisi, kabiliyet içine son tarihler yerleştirerek veya depolama cihazı çinde yeni bir sır oluşturarak saklanmış kabiliyetleri iptal edebilir.
Nesne yöneticisi veri yolu üzerinden alınmış olsa da, hala tekil bir hata veya saldırı noktasıdır.


Eğer nesne yöneticisi riskliyse, sistem risklidir. Kullanılabilirliği artırmak için kümelendirme kullanılabilir, ancak bunun maliyet daha fazla saldırı noktasıdır. Bu sorunlar nesne tabanlı depolamaya özel değildir ve geleneksel dosya sunucularının günümüzde mücadele ettiği sorunlarla aynıdır. Nesne tabanlı depolamanın amacı, dosya sunucularının kullanılabilirliğini artırmak değil, sunucuları ana veri yolları üzerinden çıkararak ve depolama cihazlarına doğrudan güvenli erişim sağlayarak, sisteminin bütününün performansını ve ölçeklenebilirliğini iyileştirmektir.

ZEKA

Nesne tabanlı depolamanın ortaya çıkmasıyla birlikte, depolama cihazlarının içinde çalıştıkları ortamın önemli özelliklerini aktif olarak öğrenme potansiyelleri de ortaya çıkmaktadır. Günümüzde depolama cihazları büyük oranda kullanıcılardan ve depolamayı kullanan uygulamalardan habersizdir, çünkü blok tabanlı cihazlar opak veri blokları yönetmektedir. Nesneler sayesinde depolama cihazları, cihaz üzerindeki bloklar arasındaki bazı ilişkileri anlayabilir ve bu bilgiyi veriyi daha iyi organize etmek ve ihtiyaçları öngörmek için kullanabilir.
Nesne özellikleri nesneyle ilgili statik bilgiler (örneğin oluşturulma zamanı), her erişimde güncellenen dinamik bilgiler (örneğin son erişim zamanı), bir depolama uygulamasına özel bilgi ve cihaz tarafından yorumlanmayacak bilgi (örneğin dosya adı, grup veya kullanıcı kimlikleri) ve mevcut kullanıcıya özel bilgiler (örneğin QoS anlaşması) içerebilir. Özellikler aynı zamanda, beklenen okuma/yazma oranı, en olası erişim düzeni (örneğin sıralı veya rastgele) veya nesnenin beklenen ömrü gibi, nesnenin davranışı hakkında da ipuçları içerebilir.  Bu özelliklere erişimin bulunması, bir depolama sisteminin veriye daha iyi organize etmesini ve sunmasını sağlar.

Depolamanın daha iyi yönetilmesi için nesnelerin kullanılması, akademik araştırmanın aktif alanlarından biridir. Üzerine gidilmesi gereken en büyük sorulardan biri, özelliklerin kendisiyle ilgilidir, özellikle de nesnelerin davranışlarının sınıflandırılmasında en kullanışlı olan özellikler. Geçmiş araştırmalar, dosya davranışlarının belirlenmesinde dosya özelliklerinin içsel bir rol oynadığını göstermiştir [4,5]. Örneğin, bir dosyanın adı, dosyaya ne şekilde erişileceğini tahmin etmekte kullanılabilir.  Nesne tabanlı depolama için bunun paralelleri mevcuttur.
Genellikle nesneler, depolama cihazlarının, içinde çalıştıkları ortamın farkına varabildikleri ve böylece kaynakları daha iyi tahsis edip karşılayabildikleri, özellik bazlı öğrenme ortamlarına olanak sağlar. Dahası, depolama ve kullanıcı uygulamalarıyla ilgili artan bilgi sayesinde, depolama cihazları uygulamaya özel fonksiyonlar yürütebilir ve böylece SAN'ı bir hesaplamalı kaynak haline getirir. Gerçekten de depolama cihazlarının kendilerin de, işlemcileri, ağ bağlantıları ve hafızalarıyla, birer bilgisayardır. Daha etkili arayüzler yoluyla bir kaynaklar daha etkin olarak kullanılabilir.

İLGİLİ ÇALIŞMALAR

Nesne tabanlı depolamanın ilkel biçimleri, Carnegie Mellon'dan [6] Hydra OS ve Intel'den iMAX432 OS [7] dahil olmak üzere, nesne yönelimli işletim sistemleri ile ilgili yapılan erken çalışmalarda (yaklaşık 1980) bulunabilir.


 Bu işletim sistemleri yalnızca dosya depolamak için değil, işlem durumu, talimatlar ve veri dahil olmak üzere, bir OS içindeki sayfalanabilir bütün varlıkların depolanması için disk üzerinde değişken büyüklükte nesneler kullanır. Bu işletim sistemleri hiçbir zaman öne çıkmamış da olsa, kabiliyet tabanlı güvenliğin temellerinin kurulmasında yararlı oldular.

Massachusetts Institute of Technology'den SWALLOW projesi [8] (yaklaşık 1980), dağıtılmış nesne depolamayı uygulayan ilk sistemnelrdn biriydi ve erken dosya sunum mimarilerinin bir öncülüydü.

Nesne tabanlı depolama konusundaki ufuk açıcı çalışma, Carnegie Mellon University’nin  Parallel Veri Laboratuarında (PDL) Network Bağlantılı Güvenli Diskler (NASD) projesiyle gerçekleşti [9]. Mimari, tekil disklere maliyet etkin bir biçimde, özellikle ağ oluşturma ve temel depolama alanı yönetimi fonksiyonelliği için işlem gücü eklemeye odaklandı. Bu araştırma, Ulusal Depolama Endüstrisi Konsorsiyumu (NSIC) himayesi altında olan ve daha büyük ve sektör tarafından sponsorlanan bir projeye yol açtı. Bir dizi depolama şirketi bu işbirliğine katıldı ve NASD ağ bağlantılı depolama cihazlarına genelleştirildi, burada tekil sürücüler, izinler, kontrollörler ve aletler arayüz değişiminden yararlanabildi.  Bu çalışma, nesne tabanlı depolama için SCSI protokolüne bir standart eklentiyle sonuçlandı.

NSIC taslağı, Depolama Ağ Endüstrisi Derneği (SNIA) bünyesindeki Nesne Tabanlı Depolama Cihazları çalışma grubunda tanımlanmaya devam edilmektedir [11]. SNIA, 2003 yılında T10'a tamamlanmış bir SCSI taslak standardı sunmayı planlamaktadır ve aynı zamanda IP'ye doğrudan eşleştirmeler dahil olmak üzere, SCSI dışındaki aktarımlara eşleştirmeleri araştırmaktadır.

Standartlar gelişirken bile sektör hâlihazırda nesne tabanlı depolama teknolojisi kullanan sistemleri uygulamaya başlamıştır. IBM yeni nesil StorageTank'ı için nesne temelli depolama üzerine araştırma yapmaktadır [12]; National Laboratories ve HewlettPackard, temel depolama ara yüzü olarak nesne temelli depolamayı kullanarak yüksek düzeyde ölçeklenebilir Lustre dosya sistemini kurmaktadır [13]; ve daha küçük şirketler ve yeni kurulan şirketler, (BlueArc, Data Direct ve Panasas), nesne temelli depolama kullanan cihazlar üretmektedir. Bell Laboratories'deki Venti projesi ve EMC'deki Centera projesi de, referans verilerin arşivlenmesi için bir kere yazılır medya uygulaması için nesne temelli depolama konseptleri kullanmıştır. Her iki sistem de, bir nesnenin kimliğinin (Venti aslınnda değişken boyutluk bir blok kullanmaktadır) veri içeriğinin özgün bir hashi olduğu bir içerik adreslenebilir depolama (CAS) kullanmıştır.

Akıllı depolama akademik araştırmanın popüler bir alanıdır. Carnegie Mellon'un PDL'i, sunucu işletim sistemleri ve depolama cihazları arasında daha etkin arayüzlerin kullanımı için araştırma yapmaya devam etmektedir [2, 14]. Bu tür arayüzlerden biri olarak nesneler, depolama sistemi içinde daha iyi fonksiyonellik ve performans elde etmek için cihaz ile OS arasında bilgi alışverişine imkan sağlamaktadır. Madison'daki Wisconsin Üniversitesi'nde çalışan araştırmacılar, mecut blok temelli arayüzlerin ardındaki dosya sistemi yapılarını öğrenmeye çalışan semantik akıllı disk sistemleri hakkında, alternatif bir yol üzerinde araştırma yapmaktadır [15]. 

Diğer birçok araştırma grubu da depolama düzeyinde zeka üzerinde araştırma yapmaya başlamış bulunuyor.


ÖZET

Blok tabanlı ara yüzler hem depolama cihazlarında hem de depolama uygulamalarında önemli gelişmelere imkan sağlamış olsa da, artık daha fazla gelişimin cihaz ara yüzünde bir değişim gerektirdiği bir noktaya varmış bulunuyoruz.

Nesne ara yüzü, güvenli ve platformlar arasında paylaşımı kolay olan, ancak aynı zamanda yüksek performanslı olan, ve dolayısıyla dosyalar ve bloklar arasındaki yaygın ödünleri ortadan kaldıran bir depolama sunmaktadır. Dahası, nesneler depolama cihazlarına depolama uygulaması hakkında bir bilinç sunar ve cihazda daha akıl olmasını sağlar.

Nesne tabanlı depolama, depolama cihazlarının artan kabiliyetlerini kullanmak üzere tasarlanmıştır. Gelecekteki depolama cihazlarının özellikleri arasında kendi kendine konfigürasyon, öz koruma, öz optimizasyon, öz iyileştirme ve öz yönetim yer alabilir. Blokların yerine nesnelerin koyulması bu evrimleşmede önemli bir adım olabilir.

Teşekkürler.


Behreng Nami
Kıdemli Danışman

Seagate@vitel.com.tr






29 Ekim 2014 Çarşamba

Nesne Tabanlı Depolama - Object Storage




Nesne depolama nedir?

Nesne tabanlı depolama adı da verilen nesne depolama, nesne adı verilen ayrık depolama birimlerini adreslemeye ve işlemeye yönelik bir yaklaşımı ifade eden genel bir terimdir.  Depolama nesneleri verinin hem bağlamı hem de içeriği hakkında bilgi içerir.

Nesneler de tıpkı dosyalar gibi veri içerir, ancak dosyaların aksine nesneler bir hiyerarşi içinde düzenlenmiş değildir. Her nesne, bir depolama alanı adı verilen bir düz adres alanında aynı seviyede yer alır ve bir nesne diğerinin içine yerleştirilemez.

Hem dosyalarda hem de nesnelerde, içerdikleri veriyle ilgili metadata bulunmaktadır, ancak nesneler, genişletilmiş metadatalarıyla karakterize edilir. Her nesneye bir benzersiz tanıtıcı atanır ve bu, bir sunucunun veya son kullanıcının, nesnenin fiziksel konumunu bilmeden veriyi almasını sağlar. Bu yaklaşım, bulut bilgisayar ortamlarında veri depolamayı otomatize etmek ve düzenlemek için kullanışlıdır.

Nesne depolama genellikle lüks bir lokantada arabanın vale tarafından park edilmesine benzetilir. Müşteriler vale park hizmetini kullandığında, bir makbuz karşılığında arabasının anahtarlarını verir. Müşteri, yemek yediği sırada arabasının nereye park edildiğini veya bir görevlinin arabanın yerini kaç kez değiştirdiğini bilmeyecektir. Bu analojiye göre bir depolama nesnesinin benzersiz tanıtıcısı müşteri makbuzunu temsil eder.


Nesne depolama dosya ve blok depolamadan nasıl farklılık gösterir

Dosya ve blok depolama daha iyi performans sunabilir, ancak granüler metadata ve sonsuza yakın düzeyde ölçeklenebilir olması, nesne depolamayı eşit düzeyde yararlı yapmaktadır.

Dosya ve blok depolamanın kullanıldığı durumlar iyi tanımlanmıştır ve onyıllardır kullanılmaktadır. Piyasada artık kullanılabilir durumda olan yeni bir depolama türü nesne depolamadır ve IT mağazalarının bir çoğunun sorduğu sorular ise "Nesne depolamanın farkı nedir? Ne zaman nesne depolama kullanmalıyım? Hangi kullanım durumları onu gerektirir? Kendi özel IT altyapıma onu nasıl uygulayabilirim?" Bu başlıkta çok şey yazılmış olmasına karşın bu sorular gelmeye devam etmektedir. Benim bakış açım ise şöyledir.


Dosya ve blok depolamaya yeniden bakış

Nesne depolamayı tanımlamak için öncelikle dosya ve blok depolamaya yeniden bakalım. Bir dosyanın bir dosya sistemi içinde yapılandırıldığını biliyoruz ve bir dosya sistemi de, dosya dizininin tarif edilmesi yoluyla her bir tekil dosyanın bulunabilmesi sağlayan, dosyaların düzenlenmesinin hiyerarşik bir yolundan başka bir şey değildir. Belirli özelliklerin - sahibi, kimin erişebileceği ve boyutları gibi, bir dosyayı ve içeriğini tarif eden bilgilerin - bir dosya sistemi içinde rahatlıkla depolanabildiğini biliyoruz. Ayrıca, bir ağ üzerinde kullanıcılar arasında güvenli bir şekilde dosya paylaşımı için en iyi yolun ağ bağlantılı depolama (NAS) olduğunu biliyoruz. Bir LAN üzerinde yerel olarak çok iyi çalışır ancak kullanıcıların bir WAN üzerinde olması durumunda o kadar iyi çalışmaz. Ve tek bir (veya az sayıda) NAS kutusunu yönetmek kolay olsa da, yüzlercesini yönetmek bir kabus gibidir. Verinin NAS kutusuna yerleştirilmesinden ve ihtiyaca göre dosyaları kilitleyerek veya kilidini açarak dosya paylaşımı uygulamaktan dosya sistemi sorumludur. Ve son olarak, dosya sistemi yüz binlerce ve hatta milyonlarca dosyayla iyi çalışmaktadır, ancak milyarlarca dosyayı işlemek üzere tasarlanmış değildir. Bu sınırlamalar iyi anlaşılmamıştı çünkü bir çok IT mağazası bu yüksek düzeyleri yakın zamana kadar test etmemişti. Özetleyecek olursak, dosyaların yerel paylaşımı için ve metadatayla ilgili dosya sayısı az ise, dosya depolama çok iyidir. Ancak doğru koşullar olduğunda, NAS dosya paylaşımı için mükemmel bir performans sunmaktadır.

Blok depolama da benzer şekilde iyi anlaşılmıştır. Blokun bir veri yığını olduğunu biliyoruz ve uygun bloklar bir araya getirildiğinde bir dosya oluşur. Bir blokun bir adresi vardır ve uygulama, o adrese bir SCSI çağrısı yaparak bloku alır. Depolamayı kontrol etmenin çok mikroskopik bir yoludur. NAS'ın aksine, verinin nereye koyulacağına ve depolamanın nasıl organize edileceğine uygulama karar verir. Blokların nasıl bir araya getirileceği veya erişileceği uygulamaya bırakılır. Adres haricinde, ki bunun da blokla ilgili bir metadata olmadığı öne sürülebilir, blokla ilişkili hiçbir depolama tarafı metadatası bulunmamaktadır. Bir başka ifadeyle, blok yalnızca hiçbir açıklaması, bağlantısı ve sahibi olmayan bir veri yığınıdır. Yalnızca onu kontrol eden uygulama, onu başka bloklarla bir araya getirdiğinde bir anlam kazanır. Doğru koşullar altında uygulamaya bu seviyede granüler kontrol verilmesi, verili bir depolama dizisinden en iyi performansı almasını sağlar. Bu nedenle çoğunlukla işlem ve veritabanı odaklı olan performans merkezli uygulamalar için blok depolama en çok tercih edilen depolama yöntemi olmuştur. Uygulama ile depolama arasına mesafe koyulması, ortaya çıkan gecikme nedeniyle bu performans avantajını ortadan kaldırır, bu nedenle blok depolama genellikle yerel olarak kullanılır. Özetleyecek olursak, blok depolamayla ilişkili anahtar sözcükler granülerlik, yüksek performans, az veya hiç metadata ve yerel kullanımdır.


Nesne depolama özellikleri

Bu tanımları gözden geçirdikten sonra şimdi nesne depolamaya bakalım. Birincisi, bir nesne, bir nesne olarak paketlenmiş bir veri (tipik olarak bir dosya) ve onun metadatası olarak tanımlanır. Bu nesneye, genellikle nesnenin kendi içeriğinden (hem dosya hem metadata) hesaplanan bir ID verilir. Bir nesne bir uygulama tarafından daima, nesne depolamaya nesne ID'sini sunarak alınır. Dosyalar ve dosya sistemlerinin aksine, nesneler düz bir yapıda depolanır. Bir nesne havuzunuz bulunur ve yapmanız gereken yalnızca nesne ID'sini sunarak verili bir nesneyi istemektir. Nesneler yerel olabilir veya coğrafi olarak uzakta olabilir, ancak aynı düz adres alanında oldukları için tamamen aynı şekilde alınırlar. Bir nesne herhangi bir metadata türü veya miktarıyla sınırlı değildir. Tercih ederseniz, nesnenin ilişkili olduğu uygulama türü; uygulamanın önemi; nesneye atamak istediğiniz veri koruma düzeyi; bu nesnenin başka bir site veya sitelere kopyalanmasını isteyip istemediğiniz; bu nesnenin ne zaman farklı bir katmana veya coğrafyaya taşınacağı ve bu nesnenin ne zaman silineceği gibi metadatalar atayabilirsiniz. Bu tür metadata, dosya sistemlerinde kullanılan erişim kontrol listelerinin çok ötesine geçer. Nesne depolamanın kullanıcıya metadatayı istediği gibi tanımlama esnekliğini sağlaması, nesne depolamaya özgü bir özelliktir. Bunun, geçmişte hayal bile edilemeyen analizler için nasıl geniş imkanlar sunduğunu görmeye başlayabilirsiniz. Yukarıda açıklandığı gibi, nesneleri doğası veri alındığında, performans nesne depolamanın ayırt edici bir özelliği değildir. Ancak depolamayı yönetmek için basit bir yönteme ve farklı coğrafyaları aşan ve zengin (ve kullanıcı tarafından tanımlanabilen) metadata sunan bir hizmete ihtiyacınız varsa, tercihiniz nesne depolama olmalıdır.

Nesne depolama kavramlarının çoğunun sonsuz büyüklükte depolama altyapılarını en az maliyetle kurmaya çalışan Web 2.0 şirketleri bünyesinde oluşması nedeniyle, nesne depolamanın çoğu, dahili doğrudan ekli depolaması olan ticari sunucu kümelerine dayanmaktadır. Buna istisnalar da vardır ve bunların en önemlisi DataDirect Network'tür ve bir nesne depolaması oluşturmak için kuşkusuz pahalı RAID dizileri kullanabilirsiniz, ancak temel kural ticari donanım kullanmaktır. Ölçekleme yalnızca ek düğümler eklemek gibi basit bir iş haline gelir. Veri koruma genellikle verilerin küme içindeki bir veya daha fazla sayıdaki düğüme çoğaltılması yoluyla gerçekleştirilir, ancak bunun istisnaları vardır (örneğin Cleversafe ve EMC Atmos'un her ikisi de veri koruma için silme kodlaması kullanır).

Nesne depolamanın doğasını anlamak için kritik olan bir başka özellik daha bulunmaktadır. Dosya veya blok depolamanın aksine, bir nesneye HTTP tabanlı REST uygulama programlama arayüzü aracılığıyla erişebilirsiniz. Bunlar Get, Put, Delete ve diğer birkaçı gibi basit çağrılardır. Basitliği bir avantajdır, ancak muhtemelen SCSI, CIFS veya NFS çağrıları kullanmak üzere yazılmış uygulamalarda değişiklik gerektirmektedir. Sorun da burada yatıyor. Bunun etrafından dolanmanın yolları vardır, ancak en temiz yaklaşım doğrudan REST tabanlı çağrılar yapabilmek için uygulama kodunu değiştirmektir. Yani kısaca, nesne depolama kolay yönetilebilir, neredeyse sonsuz düzeyde ölçeklenebilir, tek bir ad alanında coğrafi sınırları aşar ve büyük miktarda metadata taşıyabilir, ancak genellikle düşük performanslıdır ve uygulama kodunda değişiklik gerektirebilir.


Bir nesne depolama sistemini kullanmanın avantajları

Veri depolama ortamınızda bir nesne depolama sistemi uygulamanın avantajlarını öğrenin.

Ne öğreneceksiniz: Nesne depolama sistemleri, sınırsız düzeyde ölçeklenebilir olmaları, işleme ve yüksek kapasiteli ağlara daha az vurgu yapması, depolama komutları yerine Internet protokolleri aracılığıyle erişim sunması, özel metadata ve satışa hazır bileşen uyumluluğu nedeniyle, dağıtık ağ ekli depolamaya (dağıtık NAS) uygun bir alternatif haline gelmektedir. Dosya veya blok bazlı sistem gördüğümüz yerlerde artık bir nesne depolama sistemi görmekteyiz ve kamusal ve özel bulut depolama söz konusu olduğunda bu özellikle geçerli olmaktadır. Bu uzman makalesinde Jacob N. Gseoedl nesne tabanlı depolama sistemlerinin nasıl çalıştığına ve nasıl bulut depolama altyapısının yapı taşları haline geldiklerine ilişkin derinlikli bir açıklama sunmaktadır.

Seçilebilecek onca blok ve dosya bazlı depolama sistemi varken, bariz soru neden bir başka depolama teknolojisine ihtiyaç duyacağımız şeklindedir. Blok ve dosyanın her ikisi de olgunlaşmış ve kanıtlanmıştır, dolayısıyla giderek daha fazla dağınık ve bulut özellikli hale gelen bilgisayar ekosisteminin ihtiyaçlarını karşılamak için geliştirilebilir oldukları düşünülebilir.


Blok tabanlı depolamada diskler üzerindeki bloklara SCSI komutları gibi alt düzey protokoller aracılığıyla erişilir ve az yük oluşur ve ek soyutlama katmanları oluşmaz. Diskler üzerindeki veriye ulaşmanın en hızlı yoludur ve çok kullanıcılı erişim, paylaşım, kilitleme ve güvenlik gibi bütün üst düzey görevler işletim sistemlerine ötelenir. Bir başka ifadeyle blok tabanlı depolama bütün alt düzey tesisat işlerini halleder ancak diğer her şey için üst düzey uygulamalara bağımlıdır. Her nesne depolama sisteminin bir blok tabanlı depolama düğümü vardır ve nesne depolama yazılım yığını diğer özellikleri sunar.



Blok tabanlı depolama nesne depolamanın tamamlayıcısı olarak kabul edilebilir olsa da, dosya tabanlı depolama onun doğrudan rakibi konumundadır. Ölçeklenebilirlik teme özelliği, dağınık NAS sistemleri tarafından desteklenir ve bunlar, nesne depolamaya benzer şekilde, düğüm eklenerek yatayına ölçeklenebilir. Ancak sınırlı ad alanı olan hiyerarşik dosya yapılarına dayandıkları için, yalnızca nesne ID'sinin bit sayısı tarafından sınırlandırılan, saf nesne depolamanın neredeyse sonsuz ölçeklenebilir düz yapısından daha kısıtlıdırlar. Daha sınırlı olsa da, dağınık NAS sistemleri nesne depolamanın birçok özelliğine sahiptir ve temsili durum transferi (REST) protokol desteği gibi eksik özellikler de satıcılar tarafından hızlıca eklenmektedir, böylece dağınık NAS sistemlerini nesne depolama olarak sınıflandırabilmektedirler. Hewlett-Packard (HP) Co.'nun deolama Bölümünde üst düzey ürün müdürü olan Patrick Osborne, "HP Ibrix X9000 Depolama ve onun WebDAV ve REST desteği ve ayrıca CIFS, NFS ve büyük ölçeklenebilirliği sayesinde, nesne depolama alanında açık ara lider konumundayız" şeklinde konuştu.


Nesne depolamayı tanımlamak

Açık ki nesne depolama farklı insanlara farklı şeyler ifade ediyor, dolayısıyla kabul gören tek bir tanımı bulunmuyor. Bir depolama sisteminin ne düzeyde nesne depolama olduğunu analiz etmek için, zorunlu olan veya "olsa iyi olur" türde özelliklere bakılması gerekmektedir.


Nesneler.

Blokları veya dosyaları yönetmek yerine bir saf nesne depolama sistemi nesneleri yönetir. Daha kesin söyleyecek olursak, bütün modern nesne depolama sistemleri dosyaları nesneler olarak yönetir. Nesneler, tıpkı dosya temelli depolama sistemlerinde dosyaların dosya dizini aracılığıyla adreslendiği gibi, bir benzersiz tanımlayıcı üzerinden adreslenir. Nesneler bir düz adres alanında depolanır ve bu durum karmaşıklığı ve dosya temelli depolama tarafından kullanılan hiyerarşik dosya sistemlerinin ölçeklenebilirlik zorluklarını ortadan kaldırır.


Metadata.

Nesneler, nesnede yer alan veri hakkında bağlamsal bilgi içeren metadatayı ve yükü, bir başka ifadeyle asıl veriyi içerir. Dosya temelli depolama sistemlerinde metadata dosya özellikleriyle sınırlıdır; saf nesne temelli sistemlerde metadata istenilen sayıda özellikle zenginleştirilebilir. Bunu bir dosya temelli sistemle yapmak için bir, dosyalarla ilgili ek bilgiyi işlemek için bir uygulama (veritabanı olan) ihtiyacınız olur. Özel metadata sayesinde bir dosya (nesne) ile ilgili bütün bilgiyi nesnenin kendisi içinde depolayabilirsiniz. Milford, Mass.'de bulunun Enterprise Strategy Group (ESG) üst düzey bir analist olarak çalışan Terri McClure, "Özel metadata zengin ve bağımsız dosya nesneleri oluşturulmasına imkan sağlar ve bunlar da nesne depolamada depolanabilir ve böylece azaltılmış yönetim yükü olan devasa yapılandırılmamış veri depolamalarının oluşturulması mümkün hale gelir," dedi.


Sabit nesneler.

Saf nesne depolama, sabit içerikli bir veri havuzunu temsil eder; bunun anlamı, nesneler yaratılabilir, silinebilir ve okunabilir, ancak bulundukları yerde güncellenemezler. Bunun yerine, nesneler yeni nesne sürümleri oluşturularak güncellenmektedir. Bunun sonucunda, kilitleme ve çok kullanıcılı erişimin yarattığı zorluklar - ki bunlar dosya tabanlı sistemlerin en büyük derdidir - nesne depolamada yoktur. NetApp Inc.'te veri yaşam döngüsü ekosistemi grubunun başkan yardımcısı olan Tim Russel, "Çok kullanıcılı sistemler aynı dosyayı [nesneyi] eşzamanlı olarak güncellerse, nesne depolama sistemi basitçe dosyanın farklı versiyonlarını yazacaktır" dedi. Yerinde güncellemeleri desteklebmek zorunda olmamak, nesne depolamayı dağınık depolama ve dağınık erişim için en uygun seçenek yapar.


Yedekleme.

Nesne depolama yedeklemeyi ve yüksek düzeyde kullanılabilirliği, aynı nesnenin kopyalarını farklı düğümlere depolayarak gerçekleştirir. Bir nesne oluşturulduğunda bir düğüm üzerinde oluşturulur ve daha sonra, bulunduğu yerdeki politikalara bağlı olarak bir veya daha fazla sayıda düğüme kopyalanır. Düğümler aynı veri merkezinde yer alabilir veya coğrafi olarak dağınık olabilir. Yerinde güncelleme desteğinin bulunmaması, çok düğümde kopyalı nesne yedeklemeyi çok az bir zahmetle mümkün hale getirir. Geleneksel depolama sistemleri için, kopyalanmış (çoğaltılmış) dosyaları ve blokları çoklu örnekler arasında senkronize halde tutmak çok zor bir iştir; çok karmaşıktır ve yalnızca, örneğin tanımlı gecikme kısıtlamaları gibi bir dizi çok katı sınırlama altında yapılabilir.


Protokol desteği.

Geleneksel blok ve dosya bazlı protokoller aynı veri merkezi içinde iyi çalışır ve burada performans iyidir ve gecikme bir sorun değildir. Ancak gecikmenin öngörülemez olduğu coğrafi olarak dağınık erişim ve bulut için uygun değillerdir. Ayrıca, geleneksel dosya sistemi protokolleri (CIFS ve NFS), dahili ağlar üzerinde bulunan, ancak nadiren Internete açılan portlar üzerinde mevcuttur. Nesne depolamaya ise tersine, genellikle HTTP üzerinden REST API üzerinden erişilir. Nesne depolamaya HTTP üzerinden gönderilen komutlar basittir: bir nesne yaratmak için put, bir nesneyi okumak için get, bir nesneyi temizlemek için dele ve nesneleri listelemek için list.


Uygulama desteği ve entegrasyonu.

Geleneksel veri depolama protokol desteği ve bir REST API'ye dayanmak zorunda olması, nesne depolamanın erişilebilir olması için entegrasyon çabalarını gerektirmektedir. Özel uygulama entegrasyonuna ek olarak, bazı ticari uygulamalar, özellikle yedekleme ve arşivleme amaçlı olarak, nesne depolama entegrasyon desteğine eklenmiştir ve temel olarak Amazon S3 bulut depolamaya bağlantı kurmaktadır. Sektör standartlar üzerinde anlaşma varmak için çabaladığı için, yaygın bir nesne depolama entegrasyonu halen çok az bulunmaktadır. Genellikle bulut depolama ağ geçitleri adı verilen nesne depolama ağ geçitleri, nesne depolamayla iletişim kurmanın bir başka yolunu sunmaktadır. Geleneksel ve nesne depolama arasında yer alırlar ve genellikle önceden tanımlanmış politikalar yoluyla ikisi arasında gidip gelirler.


Bulut özellikleri.

Bulut depolama ve Web 2.0 uygulamaları nesne depolamanın kilit hedefleri olduğu için, internet üzerinden paylaşımlı erişimle ilgili özellikler yararlı olmaktadır. Çoklu kullanım hakkı ve farklı kullanıcıların verilerini güvenli bir şekilde ayrıştırmak, bir nesne depolama ürününün işletme ötesinde kullanılması için olmazsa olmaz özelliklerdir. Güvenlik, şifrelemenin ötesinde bir şeydir ve kullanıcılara, ad alanlarına ve nesnelere erişimin kontrol edilmesi için destek içermelidir. Hizmet düzeyi anlaşması (SLA) yönetimi ve çoklu hizmet düzeylerini destekleme yeteneği, bulut kullanımı için önemlidir. Örneğin nesne örneği sayısı ve her bir örneğin nerede depolanacağı gibi SLA'ların uygulanmasına yardım eden bir politika motoru, her nesne depolama ürünün sunması gereken yararlı bir hizmettir. Ayrıca kullanım ölçümü ve ücretlerin otomatik olarak takip edilmesi bulut kullanımı için vazgeçilmezdir.


Kullanım durumları.

Saf nesne depolama, veritabanları gibi sık değişen işlemsel veriler için yetersiz kalmaktadır. Ayrıca paylaşılan dosyalara erişim için NAS'nin yerini almak üzere tasarlanmamıştır, çünkü bir dosyanın tek "gerçek" halini sağlayan kilitleme ve dosya paylaşım hizmetlerine sahip değildir; bunun yerine nesne depolama bir dosyanın çoklu ve muhtemelen uyuşmayan versiyonlarını sunmaktadır. Nesne depolama, sık güncellenmeyen yapılandırılmamış veri için çok büyük düzeyde ölçeklenebilir veri depolama olarak, inaktif veri için işlemsel depolama katmanlarının ötesinde bir ek depolama katmanı olarak veya bir arşiv depolama olarak iyi çalışmaktadır. Bulut alanında dosya içeriği, özellikle görüntüler ve videolar için çok uygundur. Hitachi Data Systems'de (HDS) üst düzey ürün pazarlama müdürü olan Jeff Lundberg, "Günümüzde nesne depolama, medya, eğlence ve sağlık sektörlerinde görülün ve aynı zamanda arşive yönelik işlem sonrası türde veri için çok iyidir" şeklinde konuştu. "Ancak performans arttıkça ve özellikler olgunlaştıkça, yalnızca bulut depolamayı desteklemekle kalmayacak, ancak dağınık IT ortamlarına imkan sağlayacaktır."



Seagate Kinetic Simplifies Object Storage - Nesne Tabanlı Depolama 
Türkçe Altyaılı: http://www.youtube.com/watch?v=lfyjKO7bafg&feature=youtu.be


Behreng Nami
Kıdemli Danışman

Detaylı bilgi için: Seagate@vitel.com.tr