Geleneksel Storage Yapısı
Geleneksel vSphere depolama çözümlerinde bir block storage dan gelen LUN’u bir VMFS Datastore olarak ya da File storagedan gelen NFS paylaşımını NFS datastore olarak ekleyerek ESXI hostlara depolama alanı sunulur. Kapasite ihtiyacını karşılamak, güvenliğini, yedekliliğini, yük dağılımını sağlamak için sanal makinelerin datastore’larda barındırılması gerekir. Fakat bu datastore’ların kesinlikle paylaşılan datastore’lar olması gerekir. Neden? Çünkü, bu alanları birden fazla ESXI host görebilsin ki biz aynı anda birden fazla sunucu tarafından bu ilgili depolama alanına erişebilelim, okuyabilelim yazabilelim diye. VMFS datastore filesystem gereğince aslında bir ortak depolama olmaya elverişli bir filesystemdir. NFS de aynı şekildedir. Daha ziyade Linux OS’in kullanımında gördüğümüz ve amacı Linux OS’lere öncelikle bir kaynak paylaştırmak ve o ilgili sisteme erişecek sistemleri eş zamanlı okumasına yazmasına izin verecek bir platformdur. Bu platformlar genel olarak geleneksel depolamalarla elde edilir. Ama artık ezber bozuldu : )
SDS & Hyperconverged SDS
*SDS: Software Defined Storage
Yıllardan beri söylenen neydi? ESXI hostların (yani bir fiziksel serverın) local disklerinde veri (yani sanal makine) barındırmamalıyız. Çünkü o fiziksel sunucunun disklerine okuma/yazma yapabilecek tek sistem ilgili fiziksel sunucudur. Dolayısıyla sizin oraya bir sanal makine barındırıyor olmanız sunucu kapandığında/sunucunun erişilemez hale geldiği senaryoda o veri gidecek ve o veriye hiçbir ESXI sunucu erişemeyecektir. Bu yüzden yıllarca geleneksel depolama dediğimiz filesystem VMFS ,NFS gibi tabirleri kullanılarak ESXI hostlarına bir depolama alanı sunulmuştur. Bu depolama alanları da her zaman bir storage unitesi ile beraber sunulmuştur. Çünkü storage ünitesi eş zamanlı birden fazla ESXI hosta bağlanabilir ve bu hostlar da bu alanları eş zamanlı okuyabilir ve yazabilirler. Host giderse o sanal makinelerin hiçbirine erişemezsiniz dedik yıllarca. vSAN’ın da aralarında bulunduğu yazılım tanımlı depolama çözümlerinin ortaya çıkmasıyla bu ezber bozulmuş oldu.
Artık sunucuların local diskleri diğer sunucuların local diskleriyle birleşerek ortak depolama alanı oluşturabilir duruma geldi. Yani artık üretim ortamı kurmak istediğimizde sunuculara ve depolamalar olarak bir platform kurmak yerine bir sunucunun hem sunucu hem de depolama olduğu bir mimariye geçebilir hale geldik. Bazı üreticiler bunu sadece bir yazılım olarak yaptılar, bazı üreticiler bunu hem yazılım hem donanımla birleştirilerek bir paket haline getirdiler. Bu yüzden de kullanılan iki tabir karşımıza çıktı. Biri SDS, diğer tabir ise Hyperconverged SDS. (Hyperconverged temelinde aynı olmakla beraber çözüm olarak birbirinden ayrılırlar. Örneğin vSAN bir SDS çözümdür.)

Hyperconverged çözümlerde; genel itibariyle bir üreticinin marka model sunucusu + sunmuş olduğu yazılım ile elde edilen bir tümleşik sistem bulunur. Üretici size yazılımı da donanımı da bir arada verir. Yani sunucuyu da sanallaştırma platformunu da bir arada verir ve size tümleşik bir sistem sunduğunu depolama ünitesi almanıza gerek kalmadığını, yani üçüncü bir çözüm olarak da depolamayı da sunduğunu söyler. Bunu bazı üreticiler donanımlar ile destekler bazı üreticiler de kullandıkları hypervizorleri üzerinde sanal makineler oluşturarak (controller vm, storage vm.. vb.) yaparlar. Sanal makineler bulundukları hostları temsilen yazılan bir veriyi diğer node a senkrron ederek aynı verinin diğer node üzerinde de bir kopyasının olmasını sağlarlar. Bu işlemi yaparken bazı üreticiler donanımla alakalı bağımlılıklara sahiptir, bazı üreticiler tümüyle yazılımla yaparlar. Bu temsilen hyperconverged tümleşik sisteminin örneğidir. VMware de tüm çözümlerini yazılım olarak dünyaya sunmaktadır. Bu yazılımlardan vSAN’ı inceleyelim.
Hoşgeldin vSAN ^_^
vSAN; Bir donanıma bağımlı olmadan, bir üreticiye bağımlı olmadan elde edilebilecek hem sunucu sanallaştırma hem depolama sanallaştırma mimarisini bize sunuyor. Bunu yaparken de sunucuların yerel disklerini kullanarak ortak bir depolama oluşturuyor.

Geleneksel mimari ile elimdeki 5 diski gruplayarak hem hata toleransı hem performans ihtiyaçlarına karşılık gelecek olan RAID yapısını oluşturmam gerekir. vSAN bize bu gruplamış olduğum disklerin hem performansı hem yedekliliği bir arada sunan ve bunu da geleneksel araçlardan kurtularak yapan bir nesne tabanlı bir depolama sunar. Burada obje kavramını iyi kavramak lazım. Örneğin sanal makinenin log dosyaları, hard diski, swap file ı, snapshotları bizim için bir objedir. Bizler bir sanal makine objesine dilediğimiz RAID politikasını soyleyerek istediğimiz korumayı , istediğimiz disk tipini söyleyebilir ve bunun yapılandırılmasını sağlayabiliriz. Bu işlem sırasında kullanılan disklerde hem bir sanal makinenin RAID5 diskine ait objesi dururken, hem de bambaşka bir sanal makinenin RAID1 objesine ait bir parça aynı diskin üzerinde durabilir. Yani geleneksel depolamada diskler korunurken ve dolayısıyla veri koruması böyle sağlanırken bizler artık vSAN’da disk koruması yapmak yerine diskin içerisindeki bir objeye/veriye politikalar vererek dilediğimiz konfigürasyonu sunabiliyoruz. Yani bizim için aslında diskler raw kapasiteyi oluşturuyorlar.
Vmware’in bizlere sunduğu kıymetli yetenekleri ( HA ve DRS gibi ) kullanmak için temel gereksinim ortak bir depolamadır. vSAN burada da hostların yerel diskleri birleşerek ortak bir depolama hizmeti sunması ile avantaj sağlamaktadır.
Geleneksel depolamada controller dediğimiz üniteler olur, bu controller ünitelerinin üzerinde cache ler ve ilgili sisteme eklemiş olduğunuz çekmeceler ve elde etmiş olduğunuz diskler yani kapasiteler bulunur. vSAN’a baktığımızda fiziksel sunucumuz bir storage ın ünitesi gibidir. vSAN üzerinde disk grup oluşturulur. Oluşturacağımız her bir disk grupta minimum 1 adet cache disk ve 1 adet minimum capasity disk barındırmak gerekir. Bu cache disk ya SSD ya da NVMe tarzda bir disk olacaktır. Çünkü RAM’e yakın, minimum letancy, maksimum i/o per second ile bir geleneksel depolaya karşın hizmet sunabilsinler. Capacity diskler ise sizin satın alacağınız mimariye , lisansa göre farklılık gösterebilirler. HDD ya da SSD/NVMe olabilir. Bu da karşımıza 2 farklı vSAN senaryosu çıkarmaktadır. Nedir bunlar?
Hybrid ve All-Flash.
Gelin vSAN’ın çalıştığı bu 2 mimariyi inceleyelim.
All-Flash: Cache in de kapasitenin de SSD ya da NVMe olduğu sistemdir.
Hybrid: Cache SSD ya da NVMe , capacity disklerin ise HDD olduğu mimaridir.
Cache de duran data ilgili disk grup ile ilgili temsilen veri barındırır. Dolayısıyla başka bir disk gruba replikası söz konusu değildir. Ayrıca bir disk grubunun içerisinde birden fazla cache eklenemez. Normalde geleneksel storage’da ne kadar çok disk, ne kadar çok cache o kadar performansken yeni nesil storage’da böyle değildir.
Kapasite ihtiyaçlarımıza göre disk gruplarımızın üzerine disk ilavesi yapabilir ya da disk gruplardan birden fazla oluşturabiliriz. Her bir disk grup içerisinde maksimum 7 tane disk barındırılabilir. Bunun dışında sunucu/host sayısını artırarakta kapasiteyi ve performansı arttırmak mümkündür. İşte burada sıklıkla duyduğumuz scale up , scale out büyüme karşımıza çıkıyor. İlk bahsettiğim disk grupları ile olan büyüme scale up büyümeye örnek iken node ekleyerek büyüme scale out büyümeye örnek olacaktır.

Piyasada tabir olarak kullanılan birkaç tane storage tipi bulunmaktadır.
1.Giriş seviyesi storageler
2.Orta seviye storageler
3.En yüksek seviye storageler
Giriş seviyesi storageların kabiliyetleri sınırlıdır. Ama orta ölçekli ve yüksek ölçekli diyebileceğimiz storagelar arasındaki fark controller sayısıdır.
Bir disk grubun bana sunacağı kapasite miktarını hesaplarken cache hesaba katılmaz. Mesela 5 hostumuz için 1 disk grubumuz olsun. Disk grubumuz içerisinde 2 capacity, 1 cache diski olsun. Her bir capacity disk 3 TB olsun. Bu durumda vSAN storage kapasitesi 3x2x5=30 TB olacaktır.
vSAN Cluster’lar disk yapılarına göre VMware’in izin verdiği en yüksek değerlere ulaşabilirler. vSAN cluster’ınız, tek bir cluster’da 64 ESXI sunucuya kadar büyüyebilir.
Buraya kadar iyilik sağlık : ) Şimdi biraz mola verelim. Serinin ilk yazısında geleneksel storage yapısından, yazılım tabanlı storage yapısından ve vSAN’dan genel anlamda bahsetmiş olduk. Serinin 2.yazısında vSAN Node Management üzerine konuşacağız.
Şimdilik hoşçakalın 🐸
NOT: Bu yazı serisini Ercan Ergen’den almış olduğum vSAN eğitimi notlarımdan derleyerek oluşturuyorum. Bu vesileyle kendisine bir teşekkürü borç bilirim.
