Storage Spaces Direct, Azure Local ve Windows Server’ın bir özelliğidir ve dahili depolamaya sahip sunucuları yazılım tanımlı bir depolama çözümünde kümelemenizi sağlar.
Bu makalede Storage Spaces Direct’e genel bir bakış atacağız, ardından nasıl çalıştığını, ne zaman kullanılması gerektiğini ve temel avantajları hakkında bilgi vereceğim. Bu konuda yine bundan önce yazmış olduğum makalelerimi de inceleyebilirsiniz.
İlk olarak teknolojinin ne olduğunu öğrenelim. Çünkü bu konuda yeni başlayanlar var ise S2D aslında Server 2016 ile hayatımıza giren eski bir teknoloji olsa bile hiç duymamış olanlar olabilir.
Storage Spaces Direct nedir?
Storage Spaces Direct, birleşik (converged) ve hiper-birleşik (hyperconverged) BT altyapınızda depolama kaynaklarını paylaşmanıza olanak tanıyan yazılım tanımlı bir depolama çözümüdür. En güzel örnek Vmware vSAN’dır. Yani Software Defined Storage olarak bildiğimiz teknolojinin Microsoft tarafındaki karşılığı S2D olarak özetlenebilir. Fiziksel sunuculardan oluşan minimum 2′ den 16′ ya kadar olan sunucuların yerel disklerini yazılım tanımlı bir depolama havuzunda birleştirmenizi sağlar. Özetle sunucuların lokal disklerini yazılımsal olarak bir storage gibi çalıştırır. Bu nedenle fiziksel bir storage donanımına ihtiyacınız kalmaz. Tabi ki iş yükleri, gecikme veya başka nedenlerden kaynaklı şirketiniz için yine storage alabilirsiniz ancak bu mimaride özellikle böyle bir ürüne ihtiyacınız yoktur. Bu depolama havuzu; önbellek, tiers, dayanıklılık ve erasure coding gibi bir storage’ da olması gereken özelliklere de sahiptir. Ayrıca yine storage cihazlarındaki gibi tümü otomatik olarak yapılandırılır ve yönetilir.
Kümeye daha fazla sürücü ekleyerek veya daha fazla sunucu ekleyerek depolama kapasitesini yatay olarak ölçekleyebilirsiniz. Storage Spaces Direct yeni sürücüleri otomatik olarak sisteme dahil eder ve depolama havuzunu yeniden dengeler. Ayrıca yerleşik ve sürekli açık önbellek sağlamak için mevcut en hızlı depolama ortamını otomatik olarak kullanır.
Storage Spaces Direct, Azure Local sürüm 21H2 ve 20H2’nin temel teknolojisidir. Ayrıca Windows Server 2022, Windows Server 2019, Windows Server 2016 Datacenter sürümlerinde, Windows Server Insider Preview sürümlerinde ve Windows Server 2022 Azure Edition’da da bulunur. Dediğim gibi aslında hayatımıza 2016′ da girmiş bir teknolojidir. Bunu niye özellikle vurguluyorum, aradan 10 yıl geçmesine rağmen ilk defa duyan insanlar sanki yeni bir teknoloji, güvenilmez, biraz zaman verelim gibi geri bildirimler yapıyor.
Peki ürünün ne olduğunu öğrendik, şimdi nasıl çalıştığına bakalım;
Nasıl çalışır
Storage Spaces Direct; Failover Clustering, Cluster Shared Volume (CSV) dosya sistemi, Server Message Block (SMB) 3 ve Storage Spaces gibi Windows Server özelliklerinden yararlanır. Ayrıca Software Storage Bus adlı yeni bir teknoloji sunar.
Storage Spaces Direct, standart sunuculardan oluşan bir kümedeki dahili depolama sürücülerini birleştirerek yazılım tanımlı bir depolama çözümü oluşturur. Önce dahili depolama sürücülerine sahip sunucuları Ethernet üzerinden bağlayarak bir küme oluşturursunuz — özel kablo veya depolama fabric’i gerekmez. Kümede Storage Spaces Direct etkinleştirildiğinde, her sunucudaki sürücüler tek bir yazılım tanımlı, sanal olarak paylaşılan depolama havuzunda birleştirilir.
Ardından bu depolama havuzundan veri depolayabileceğiniz birimler (volumes) oluşturursunuz. Bu birimler CSV dosya sistemi üzerinde çalışır. Bu, her sunucuya bu birimlerin yerel olarak bağlanmış gibi görünmesini ve davranmasını sağlar. Yerleşik hata toleransı sayesinde, bir sürücü arızalansa veya tüm node çevrimdışı olsa bile verileriniz erişilebilir kalır.
Bu birimlere VM’ler için .vhd ve .vhdx dosyaları gibi dosyalar yerleştirebilirsiniz. Storage Spaces Direct çalıştıran kümeyi şu şekilde kullanabilirsiniz:
-
SMB3 dosya paylaşımları olarak ağ üzerinden birimleri sunarak Scale-out File Server (SoFS) olarak
-
Kümede Hyper-V’yi etkinleştirerek ve VM’leri doğrudan bu birimlerin üzerine yerleştirerek hiper-birleşik sistem olarak
Şimdi yukarıdaki şekil üzerinden tek tek tüm kavramları anlatalım;
Ağ Donanımı: Sunucular arası iletişim için Ethernet üzerinden SMB3 (SMB Direct ve SMB Multichannel dahil) kullanır. RDMA destekli 10+ GbE (iWARP veya RoCE) önerilir.
Depolama Donanımı: 2 ila 16 Microsoft onaylı sunucu gerektirir. Her sürücü yalnızca bir sunucuya fiziksel olarak bağlı olmalıdır. Her sunucuda en az iki SSD ve en az dört ek sürücü bulunmalıdır. SATA ve SAS cihazları HBA ve SAS genişletici arkasında olmalıdır.
Failover Clustering: Sunucuları bağlamak için Azure Local ve Windows Server’ın yerleşik kümeleme özelliğini kullanır.
Software Storage Bus: Küme genelinde yazılım tanımlı bir depolama fabric’i oluşturur ve tüm sunucuların birbirlerinin yerel sürücülerini görmesini sağlar.
Storage Bus Layer Cache: En hızlı sürücüleri (örneğin SSD) daha yavaş sürücülere (örneğin HDD) dinamik olarak bağlayarak sunucu tarafında okuma/yazma önbelleği sağlar.
Storage Pool: Storage Spaces’in temelini oluşturan sürücü koleksiyonudur. Otomatik oluşturulur ve uygun sürücüler otomatik eklenir.
Storage Spaces: Yansıtma (mirroring), silme kodlaması veya her ikisi ile sanal disklerde hata toleransı sağlar.
ReFS (Resilient File System): Sanallaştırma için tasarlanmış dosya sistemidir. .vhdx işlemlerinde hızlandırma ve hata tespiti için sağlama toplamları içerir.
Cluster Shared Volumes (CSV): Tüm ReFS birimlerini tek ad alanında birleştirir.
Scale-Out File Server: SMB3 üzerinden ağ erişimi sağlar ve Storage Spaces Direct’i NAS gibi çalıştırır.
Peki hangi durumlarda SDS kullanırız (Software Defined Storage). Aslında bu temel bir kavram olduğu ve fiziksel storage donanımı bulunmayan, HCI sistemler için zaten yazılımsal storage katmanı şarttır, ama S2D farklı ne sunuyor derseniz aşağıdaki gibi özet geçebiliriz;
Temel avantajlar
Basitlik: 15 dakikadan kısa sürede küme oluşturabilirsiniz.
Yüksek performans: Sunucu başına 13,7 milyon IOPS’u aşabilir.
Hata toleransı: Sürücü, sunucu veya bileşen arızalarına karşı dayanıklıdır.
Kaynak verimliliği: Erasure coding ile 2,4 kata kadar depolama verimliliği.
Yönetilebilirlik: Storage QoS, Health Service ve gelişmiş API’ler.
Ölçeklenebilirlik: 16 sunucu, 400+ sürücü ve küme başına 4 PB’a kadar kapasite.
Peki nasıl kuruyoruz?
İki temel dağıtım senaryosu vardır;
- Hyperconverged
- Converged
Azure Local yalnızca Hyperconverged dağıtımı destekler.
Hyperconverged dağıtım
Tek küme hem compute hem storage için kullanılır. VM’ler veya SQL Server veritabanları doğrudan yerel birimler üzerinde çalışır.
Converged dağıtım
Depolama ve compute için ayrı kümeler kullanılır. SoFS katmanı ile SMB3 üzerinden ağ depolama sağlanır.
Şimdi gelelim Azure Local ve S2D arasındaki ilişkiye, Azure Local temel olarak bir Windows Server çekirdeği sunar. Bunu çalıştırmak için S2D yani depolama katmanına ihtiyaç duyar. Üstüne Hyper-V katmanını ve en son olarak azure entegrasyon servislerini ekler. Özetle;
Yani Azure Local = S2D + Hyper-V + Failover Cluster + Azure yönetim ve servis entegrasyonu gibi düşünülebilir.
Mimari olarak yine aşağıdaki gibi özetlenebilir;
Uygulamalar / VM’ler
⬇
Hyper-V
⬇
Failover Cluster
⬇
Storage Spaces Direct (depolama katmanı)
⬇
Fiziksel diskler (NVMe / SSD / HDD)
Evet artık Azure Local İşletim sisteminin altında yatan yazılım tabanlı depolama teknolojisini daha iyi biliyoruz. Bu teknoloji sayesinde diğer HCI altyapılar gibi modern çözümler sunmaya devam ediyor. Umarım faydalı bir yazı olmuştur, bir sonrakinde görüşmek üzere.




