İçeriğe atla
tolgahat.com

Storage Spaces Direct (S2D) rehberi: Windows Server 2025

S2D ile 2-16 düğümlü yüksek erişilebilir depolama: donanım ve RDMA gereksinimleri, ayna ve parity seçimi, kapasite hesabı, PowerShell ile kurulum ve bakım.

THTolga HatipoğluYayın Güncelleme 13 dk okuma
HIZLI CEVAP
Storage Spaces Direct, 2-16 Windows Server Datacenter düğümünün yerel NVMe, SSD ya da HDD disklerini tek bir yüksek erişilebilir havuza dönüştürür; Hyper-V sanal makinelerini doğrudan bu havuzdaki ReFS birimlerine koyarsınız. Kurulum dört komuta iner: Test-Cluster, New-Cluster -NoStorage, Enable-ClusterStorageSpacesDirect ve New-Volume. Başarıyı komutlar değil öncesi belirler: sertifikalı aynı model donanım, RDMA destekli 25 GbE ve üstü ağ, bir tanık (witness) ve düğüm sayısına uygun dayanıklılık türü.

S2D nedir ve ne zaman uygundur

Storage Spaces Direct (S2D), Failover Clustering, Storage Spaces, ReFS ve SMB 3'ü birleştirip Software Storage Bus adlı bir katman ekler: her düğüm diğerlerinin yerel disklerini görür, diskler tek havuza girer ve havuzdan oluşturulan sanal diskler Cluster Shared Volume (CSV) olarak her düğümde C:\ClusterStorage altında belirir. Kopyalar her zaman farklı sunuculara yazılır; bir disk ya da düğüm kaybında birimler çevrimiçi kalır. Microsoft belgesine göre küme 16 düğüme, havuz 4 PB'a kadar ölçeklenir.

Yedi katman aşağıdan yukarıya: yerel NVMe, SSD ve HDD sürücüler; Software Storage Bus ve önbellek; Storage Pool; Storage Spaces sanal diskleri; ReFS; Cluster Shared Volumes; en üstte Hyper-V sanal makineleri veya Scale-Out File Server. Sağda Failover Clustering, SMB Direct ağı ve Windows Server 2025 yenilikleri.
Şekil 1. Storage Spaces Direct yığını ve yanındaki küme bileşenleri.

İki dağıtım biçimi var. Hiper-yakınsak (hyperconverged) modelde Hyper-V aynı kümede çalışır ve VM'ler yerel birimlere yazılır; küçük ve orta ölçek için en az hareketli parça budur. Yakınsak (converged) modelde depolama kümesi Scale-Out File Server rolüyle SMB 3 paylaşımları sunar, ayrı bir Hyper-V kümesi bunları kullanır; hesaplama ve depolamayı bağımsız ölçeklemek isteyen büyük ortamlar içindir.

Adlandırma karışıklığını netleştireyim. Microsoft, Azure Stack HCI'yi Kasım 2024'te Azure Local olarak yeniden adlandırdı; Azure Local, Azure Arc ile yönetilen ve çekirdek başına faturalanan ayrı bir üründür, yalnızca hiper-yakınsak dağıtımı destekler ve depolama katmanı olarak aynı S2D'yi kullanır. Windows Server 2025 Datacenter'daki S2D ise lisansa dahildir, bulut bağlantısı istemez ve SOFS ile yakınsak dağıtıma izin verir. Microsoft Learn'deki S2D belgelerinin çoğu artık Azure Local ad alanında "Windows Server" bağlamıyla açılıyor; kaynaklar o bağlamla verildi.

Windows Server 2025'in depolama yenilikleri Microsoft'un "What's new" belgesine göre şunlar: NVMe yolunda daha yüksek IOPS ve daha düşük CPU kullanımı, S2D birimlerinde ince sağlama (thin provisioning) ve sabitten inceye dönüştürme, ReFS'te yerel tekilleştirme ve sıkıştırma, Storage Replica için sıkıştırma ve gelişmiş günlük, Network ATC'nin Windows Server kümelerine gelmesi. Dayanıklılık türleri ve kurulum komutları 2019'dan beri değişmedi; eski makalelerdeki Enable-ClusterS2D hâlâ Enable-ClusterStorageSpacesDirect komutunun takma adıdır.

S2D'nin uygun olmadığı durumlar: Standard lisans, kullanılmaya devam edecek bir SAN, genel amaçlı dosya sunucusunu doğrudan küme üzerinde çalıştırma isteği (Microsoft desteklemez; VM içinde çalıştırın) ya da tek sunucunun yettiği bir şube.

Ön koşullar: donanım ve ağ

Microsoft, bileşenlerin Windows Server Catalog'da sertifikalı (tercihen SDDC Standard/Premium nitelikli) olmasını, sunucuların aynı üretici ve modelden gelmesini ve kümenin Test-Cluster doğrulamasından geçmesini şart koşar. Tablo, Microsoft Learn'deki donanım gereksinimleri ve dağıtım belgelerinden derlendi.

BileşenGereksinim (Windows Server 2025)
SürümDatacenter; Server Core ya da Desktop Experience
Sunucu sayısıEn az 2, en fazla 16; hepsi aynı etki alanında
CPUIntel Nehalem ve sonrası ya da AMD EPYC ve sonrası
Bellekİş yükü + önbellek sürücüsü kapasitesinin her TB'ı için 4 GB RAM (S2D meta verisi)
ÖnyüklemeWindows Server'ın desteklediği herhangi bir aygıt; önerilen en az 200 GB
SürücülerDoğrudan bağlı SATA, SAS, NVMe ya da PMem; HBA pass-through modunda; RAID denetleyici, SAN, paylaşımlı SAS ve MPIO desteklenmez
Sürücü sayısıHer sunucuda aynı sayı ve tip; en az 4 kapasite sürücüsü; önbellek varsa ek 2 önbellek sürücüsü (en az 32 GB)
SSD/NVMeGüç kaybı koruması zorunlu; önbellek için en az 3 DWPD ya da günde 4 TB yazma önerilir
HDDYalnızca kapasite katmanında; önünde SSD ya da NVMe önbellek zorunlu
Ağ (2-3 düğüm)En az 10 GbE, düğüm başına iki bağlantı
Ağ (4+ düğüm ya da performans)25 GbE ve üstü, RDMA destekli NIC: iWARP (önerilen) ya da RoCE v2 (DCB/PFC gerektirir)
TopolojiAnahtarlı ya da anahtarsız (her düğüm diğer her düğüme doğrudan bağlı)
Tanık2 düğümde zorunlu, 3+ düğümde önerilir: bulut ya da dosya paylaşımı

Ağda iki pratik kural: depolama trafiğini iki ayrı alt ağ ve VLAN'a bölün (Microsoft'un ağ belgesi aynı alt ağdaki iki NIC'in anahtarlar arası bağlantıyı gereksiz doldurduğunu gösterir) ve Windows Server 2025'te Network ATC kullanın. Add-NetIntent ile niyetleri bir kez tanımlarsınız; SET takımı, RDMA, depolama VLAN'ları (varsayılan 711 ve 712) ve DCB sınıfları (SMB_Direct için öncelik 3, yüzde 50 rezervasyon) tüm düğümlerde aynı uygulanır.

Dayanıklılık türleri ve kapasite planlama

Dayanıklılık, RAID'in sunucular arasına dağıtılmış yazılım hâlidir ve birim bazında seçilir. Türü düğüm sayısı belirler, disk sayısı değil.

TürEn az sunucuToleransDepolama verimiNe zaman
İki yönlü ayna21 arıza%50Yalnızca 2 düğüm
İç içe iki yönlü ayna (nested)22 arıza%252 düğümlü üretim kümeleri
İç içe mirror-accelerated parity22 arızayaklaşık %35-402 düğüm, kapasite öncelikli
Üç yönlü ayna32 arıza%33,3VM ve SQL; performans öncelikli
Çift parity42 arıza%50 (4 sunucu) - %80 (16 sunucu)Arşiv, yedek hedefi, soğuk veri
Mirror-accelerated parity42 arızaOrana bağlı, %33-80Büyük sıralı yazma; ReFS zorunlu

Tek parity de var ama Microsoft, aynı ölçekte üç yönlü ayna daha iyi koruma verdiği için önermez. Planlama belgesine göre ayna en hızlısıdır; mirror-accelerated parity aynadan çok daha yavaş ama çift parity'nin iki katına kadar hızlıdır; çift parity yazmada en yüksek gecikme ve CPU maliyetini taşır.

Dört kart: iki yönlü ayna yüzde 50 verim ve bir arıza toleransı; üç yönlü ayna yüzde 33 verim ve iki arıza; çift parity yüzde 50-80 verim ve iki arıza; mirror-accelerated parity ayna ve parity karışımı. Altta iki düğüm için iç içe dayanıklılık: yüzde 25 ve yüzde 35-40 verim.
Şekil 2. Dayanıklılık türleri; verim yüzdeleri Microsoft Learn belgesinden.

Kapasite hesabı: dört düğümlü örnek

Dört sunucu, her birinde kapasite için 8 adet 4 TB NVMe, ayrı önbellek yok. Birimler ondalık TB ile; Windows bunları yaklaşık yüzde 9 küçük TiB olarak gösterir.

  1. Ham kapasite: 4 sunucu × 8 disk × 4 TB = 128 TB.
  2. Rezerv: Microsoft sunucu başına bir kapasite diskini (en fazla 4) boş bırakmayı önerir; disk arızasında onarım yeni disk beklemeden başlar. 4 × 4 TB = 16 TB. Kalan: 112 TB.
  3. Üç yönlü ayna ile: 112 TB ÷ 3 = yaklaşık 37 TB kullanılabilir.
  4. Çift parity ile (4 sunucuda %50): 112 TB ÷ 2 = 56 TB kullanılabilir.
  5. Mirror-accelerated parity, %20 ayna + %80 parity ile: 1 TB veri için ayak izi 0,2 × 3 + 0,8 × 2 = 2,2 TB; 112 TB ÷ 2,2 = yaklaşık 51 TB.
  6. Karma plan: iki 12 TB VM birimi üç yönlü ayna (ayak izi 72 TB) ve 20 TB yedek hedefi çift parity (ayak izi 40 TB); toplam 112 TB, havuza tam oturur.

İki düğümlü şube, aynı disklerle: ham 64 TB, rezerv 8 TB, kalan 56 TB. Klasik iki yönlü ayna 28 TB, iç içe iki yönlü ayna 14 TB, iç içe mirror-accelerated parity (%20 ayna, 8 kapasite diski) Microsoft tablosuna göre %37,5 verimle yaklaşık 21 TB verir. Fark, bir sunucu bakımdayken diğerinde disk arızasını kaldırmanın bedelidir.

Birim planında Microsoft düğüm başına en az bir birim, küme başına en fazla 64 birim ve birim başına en fazla 64 TB önerir; VSS tabanlı yedeklemede 10 TB sınırı performansı korur.

Adımlar: kurulum

Komutları, kümeyle aynı sürümü çalıştıran bir yönetim makinesinde yerel PowerShell oturumunda Administrator olarak çalıştırın; Microsoft, S2D adımlarının uzak PowerShell oturumu içinden yapılmamasını ister.

  1. Rolleri tüm düğümlere yükleyin

    RoCE v2 kullanıyorsanız Data-Center-Bridging zorunludur; iWARP'ta gerekmez ama zararı yoktur. Network ATC kullanacaksanız onu da ekleyin.

    $Dugumler = "S2D-01", "S2D-02", "S2D-03", "S2D-04"
    $Ozellikler = "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "NetworkATC", "FS-SMBBW", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
    Invoke-Command -ComputerName $Dugumler -ScriptBlock { Install-WindowsFeature -Name $Using:Ozellikler -Restart }
  2. Ağı tanımlayın

    Fiziksel anahtarlarda VLAN, MTU ve (RoCE için) DCB hazır olmalı. Aşağıdaki niyet, yönetim, hesaplama ve depolamayı iki 25 GbE port üzerinde birleştirir.

    Add-NetIntent -Name Yakinsak -Management -Compute -Storage -AdapterName "pNIC01", "pNIC02"
    Get-NetIntentStatus

    Depolamayı ayrı adaptörlere almak için -Storage niyetini pNIC03 ve pNIC04 ile ayrıca tanımlayın. Network ATC, tüm düğümlerin Windows Server 2025 olmasını ve adaptör adlarının her düğümde aynı olmasını ister.

  3. Diskleri temizleyin

    Eski bölümler ya da havuz meta verisi Enable-ClusterStorageSpacesDirect komutunu sessizce yarım bırakır. Aşağıdaki betik önyükleme diski dışındaki her şeyi siler.

    Invoke-Command -ComputerName $Dugumler -ScriptBlock {
        Get-Disk | Where-Object { $_.Number -ne $null -and -not $_.IsBoot -and -not $_.IsSystem -and $_.PartitionStyle -ne "RAW" } |
            ForEach-Object {
                $_ | Set-Disk -IsOffline:$false
                $_ | Set-Disk -IsReadOnly:$false
                $_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
            }
        Get-PhysicalDisk | Where-Object CanPool -eq $true | Group-Object FriendlyName -NoElement
    }

    Son satır düğüm başına disk sayısını verir; sayılar eşit olmalı.

  4. Kümeyi doğrulayın

    S2D testlerini açıkça dahil edin; aksi halde yalnızca genel küme testleri çalışır.

    Test-Cluster -Node $Dugumler -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

    "Failed" satırı varken devam etmeyin; "Warning" satırlarını okuyup bilinçli geçin.

  5. Kümeyi oluşturun ve tanığı ekleyin

    -NoStorage şart; aksi halde yerel diskler paylaşımlı disk sanılır. Oluşturma sırasındaki "clustered role may prevent it from starting" uyarısı tanık olmadığı için gelir, normaldir.

    New-Cluster -Name S2D-KUME -Node $Dugumler -NoStorage -StaticAddress 10.10.20.50
    Set-ClusterQuorum -Cluster S2D-KUME -CloudWitness -AccountName <DEPOLAMA-HESABI> -AccessKey <ERISIM-ANAHTARI>
    Get-ClusterQuorum -Cluster S2D-KUME

    İnternet çıkışı yoksa -FileShareWitness ile UNC yolu verin; paylaşım küme düğümlerinden fiziksel olarak ayrı bir yerde olmalı.

  6. Storage Spaces Direct'i etkinleştirin

    Komut tek havuzu oluşturur, en hızlı ortam tipini önbellek yapar ve varsayılan katmanları tanımlar.

    Enable-ClusterStorageSpacesDirect -CimSession S2D-KUME
    Get-StoragePool -IsPrimordial $false -CimSession S2D-KUME | Format-Table FriendlyName, Size, AllocatedSize, HealthStatus
    Get-StorageTier -CimSession S2D-KUME | Format-Table FriendlyName, ResiliencySettingName, PhysicalDiskRedundancy

    Tam flash ve küçük ölçekte önbellek istemiyorsanız -CacheState Disabled; aynı tipte iki farklı dayanıklılıkta disk varsa -CacheDeviceModel ile önbellek modelini belirtin.

  7. Birimleri oluşturun

    New-Volume sanal diski yaratır, biçimlendirir ve CSV'ye ekler. Üç düğümde varsayılan üç yönlü aynadır; dört ve üzerinde parity ya da katmanlı birim seçebilirsiniz.

    # Üç yönlü ayna, VM'ler için
    New-Volume -CimSession S2D-KUME -FriendlyName "VM-01" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName "S2D*" -Size 12TB -ResiliencySettingName Mirror
    
    # Çift parity, yedek hedefi için (4+ düğüm)
    New-Volume -CimSession S2D-KUME -FriendlyName "Yedek-01" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName "S2D*" -Size 20TB -ResiliencySettingName Parity
    
    # Mirror-accelerated parity: %20 ayna + %80 parity (4+ düğüm, ReFS)
    New-Volume -CimSession S2D-KUME -FriendlyName "Arsiv-01" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName "S2D*" -StorageTierFriendlyNames MirrorOnSSD, ParityOnSSD -StorageTierSizes 2TB, 8TB
    
    # İki düğümde iç içe iki yönlü ayna
    New-Volume -CimSession S2D-KUME -FriendlyName "VM-01" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName "S2D*" -StorageTierFriendlyNames NestedMirrorOnSSD -StorageTierSizes 4TB

    Katman adları ortam tipine göre MirrorOnHDD ya da NestedMirrorOnHDD olabilir; Get-StorageTier çıktısındaki adları kullanın. Boyutlar ikili (binary) birimdedir: 1 TB yazınca Windows 1 TiB ayırır. İnce sağlama için -ProvisioningType Thin ekleyin.

  8. İsteğe bağlı: CSV bellek içi okuma önbelleği

    Okuma gecikmesini düşürür ama VM'lere kalan RAM'den düşer. Düğüm başına 2 GB için:

    (Get-Cluster -Name S2D-KUME).BlockCacheSize = 2048

Doğrulama

Üç soruya cevap arayın: havuz sağlıklı mı, birimler beklenen dayanıklılıkta mı, küme bir düğüm kaybında ayakta mı?

Get-StorageSubSystem Cluster* | Get-StorageHealthReport -Count 1
Get-VirtualDisk | Format-Table FriendlyName, ResiliencySettingName, FaultDomainRedundancy, HealthStatus, OperationalStatus, Size, FootprintOnPool, StorageEfficiency
Get-PhysicalDisk | Format-Table FriendlyName, MediaType, Usage, HealthStatus, OperationalStatus, Size
Get-ClusterSharedVolume | Format-Table Name, State, OwnerNode
Get-StorageJob
Debug-StorageSubSystem -FriendlyName "Clustered Windows Storage*"

Get-StorageHealthReport küme geneli IOPS, gecikme, havuz ve birim kapasitesini tek ekranda verir. Get-VirtualDisk çıktısında her birim Healthy ve FaultDomainRedundancy beklediğiniz değer (üç yönlü ayna için 2) olmalı; FootprintOnPool kapasite hesabınızı doğrular. Get-PhysicalDisk çıktısında önbellek disklerinin Usage alanı Journal, kapasite disklerinin Auto-Select görünür. Get-StorageJob boş dönerse onarım yoktur. Debug-StorageSubSystem Health Service'in bulduğu arızaları ve önerilen eylemi listeler.

Yük devretme testini VM'ler çalışırken yapın: bir düğümü Stop-Computer ile kapatın, birimlerin Warning durumuna geçip çevrimiçi kaldığını ve VM'lerin diğer düğümlerde başladığını izleyin. Düğüm geri geldiğinde Get-StorageJob onarımı gösterir; bitmeden ikinci düğüme dokunmayın.

Bakım: sürücü ve düğüm

Sürücü değiştirme

S2D arızalı sürücüyü kendisi "Retired" durumuna alır ve verisini diğer kopyalardan onarır; rezerv kapasite varsa onarım yeni disk takılmadan biter.

Get-PhysicalDisk | Where-Object HealthStatus -ne Healthy | Format-Table FriendlyName, SerialNumber, Usage, HealthStatus, OperationalStatus
Get-StorageSubSystem Cluster* | Get-StorageHealthSetting | Select-Object "System.Storage.PhysicalDisk.AutoPool.Enabled"

AutoPool True ise yeni disk havuza kendiliğinden eklenir ve Get-StorageJob ile izlenen bir dengeleme başlar. False ise elle ekleyin:

$Yeni = Get-PhysicalDisk -CanPool $true
Add-PhysicalDisk -StoragePoolFriendlyName "S2D*" -PhysicalDisks $Yeni

Henüz arızalanmamış bir diski değiştirecekseniz önce Set-PhysicalDisk -Usage Retired ile emekliye ayırın, onarım bitince Remove-PhysicalDisk ile havuzdan çıkarıp sökün. M.2 ya da ekleme kartı NVMe için sunucuyu kapatmanız gerekebilir.

Düğüm bakımı

Windows Server 2022 ve sonrasında düğümü duraklatıp boşaltmak diskleri otomatik olarak bakım moduna alır; eski Enable-StorageMaintenanceMode adımı gerekmez.

Get-VirtualDisk | Where-Object HealthStatus -ne Healthy   # boş dönmeli
Get-StorageJob                                           # boş dönmeli
Suspend-ClusterNode -Name S2D-02 -Drain
Restart-Computer -ComputerName S2D-02
# düğüm açıldıktan sonra
Resume-ClusterNode -Name S2D-02 -Failback Immediate
Get-StorageJob

Kural tek: bir düğüm bakımdayken ya da Get-StorageJob onarım gösterirken ikinci düğüme başlamayın. Bakımdaki düğüm tolerans bütçenizden bir "arıza" düşer.

Sık yapılan hatalar

  • Standard lisansla denemek. Özellik yoktur; Datacenter gerekir.
  • RAID denetleyici arkasında disk. Enable-ClusterStorageSpacesDirect diskleri görmez ya da havuz sağlıksız kurulur; HBA pass-through şarttır.
  • Tanık kurmamak. İki düğümlü kümede bir düğüm kapandığında diğeri de duracaktır.
  • İki düğümde klasik iki yönlü ayna. Bakım sırasında tek disk arızası birimi düşürür; iç içe dayanıklılık kullanın.
  • Rezerv kapasite bırakmamak. Disk arızasında yerinde onarım yapılamaz, dayanıklılık yeni disk takılana kadar düşük kalır.
  • RoCE'yi DCB olmadan çalıştırmak. Kayıplı ağda RDMA, yalnızca yük altında görünen zaman aşımları üretir; iWARP ya da düzgün PFC/ETS.

Kaynaklar

Sık sorulan sorular

Storage Spaces Direct için hangi Windows Server sürümü gerekir?

Datacenter sürümü. Microsoft'un sürüm karşılaştırmasına göre Storage Spaces Direct, Windows Server 2025 Standard'da yok; Datacenter ve Datacenter: Azure Edition'da var. Failover Clustering ve Storage Replica Standard'da da bulunur ama S2D havuzu kuramazsınız.

İki düğümlü S2D kümesi üretimde güvenli mi?

Evet, iki koşulla: bir tanık (bulut ya da dosya paylaşımı) ve iç içe dayanıklılık (nested resiliency). Klasik iki yönlü ayna aynı anda tek arızayı tolere eder; iç içe ayna bir sunucu kapalıyken diğerinde disk arızasını da kaldırır. Microsoft iki düğümlü üretim kümelerinde iç içe dayanıklılığı önerir.

Azure Local ile Windows Server 2025 S2D arasındaki fark ne?

İkisi de aynı Storage Spaces Direct çekirdeğini kullanır. Azure Local (eski adı Azure Stack HCI) Azure Arc ile yönetilen, çekirdek başına aboneliğe dayalı, yalnızca hiper-yakınsak bir üründür. Windows Server 2025 Datacenter'da S2D lisansa dahildir, bulut bağlantısı gerekmez ve yakınsak (SOFS) dağıtım da desteklenir.

S2D kümesinde bir diski nasıl değiştiririm?

Arızalı disk otomatik olarak 'Retired' durumuna alınır ve verisi diğer kopyalardan onarılır. Diski fiziksel olarak değiştirin; AutoPool açıksa yeni disk havuza kendiliğinden eklenir ve Get-StorageJob ile izleyebileceğiniz bir onarım işi başlar. Açık değilse Add-PhysicalDisk ile elle ekleyin.

TH
Tolga Hatipoğlu

Sistem Yöneticisi. Sanallaştırma ve depolama altyapıları kuruyor, yönetiyor ve burada belgeliyor. Yazıdaki bir bilgi eskidiyse düzeltme önerin.