Ne zaman SAN, ne zaman NAS, ne zaman HCI
Üç mimari de aynı işi yapar: sanal makine disklerini birden fazla host'un aynı anda görebileceği bir yere koyar. Fark, veri yolunun nereden geçtiği ve dosya sistemini kimin yönettiğidir. SAN'da host blok cihaz (LUN ya da NVMe namespace) görür ve dosya sistemini kendisi kurar: vSphere'de VMFS, Hyper-V'de CSV üzerinde NTFS. NAS'ta dosya sistemi dizide kalır; host bir paylaşımı bağlar ve VMDK ya da VHDX dosyalarını oraya yazar. HCI'de harici cihaz yoktur; her düğümün yerel diskleri yazılımla tek havuza dönüşür.
Benim kullandığım karar sırası şöyle. Elinizde çalışan bir FC fabric ve zoning bilgisi olan ekip varsa SAN'ı FC ile sürdürün; NVMe destekli HBA'larla aynı fabric üzerinde NVMe/FC'ye geçiş yolu açık kalır. Sıfırdan kuruyorsanız ve ağ ekibi 25 GbE ya da 100 GbE sağlayabiliyorsa Ethernet tabanlı blok (iSCSI, vSphere'de NVMe/TCP) hem daha ucuz hem daha esnektir. Dosya tabanlı NAS, dizinin anlık görüntü ve klonlama özelliklerini doğrudan VM dosyalarına uygulayabildiğiniz ve LUN yönetimi istemediğiniz durumlarda kazanır. HCI ise şube ofisleri, 2-4 düğümlü küçük kümeler ve depolama ekibi olmayan ortamlar için en az hareketli parçaya sahip seçenektir; Storage Spaces Direct tarafını ayrı bir rehberde anlattım.
Lisans ve yol haritası da karara girer. Broadcom, vSphere Virtual Volumes (vVols) özelliğini VCF ve VVF 9.0 ile kullanımdan kaldırdı (deprecated) ve sertifikasyonları durdurdu; vVols üzerine yeni tasarım yapmayın. Aynı sürümde NPIV kaldırıldı. Microsoft tarafında Storage Spaces Direct yalnızca Datacenter sürümünde var; Standard lisansla HCI yapamazsınız ama SAN ve SMB 3 kullanabilirsiniz.
Protokol karşılaştırması
Gecikme sütununda mutlak sayı vermiyorum; aynı donanımda protokoller arası fark, dizinin ve ağın tasarımına göre yer değiştirir. Sıralama göreli ve üretici belgelerindeki mimari farklara dayanır: NVMe uçtan uca SCSI çevirisi yapmaz, FC kayıpsız ayrı bir ağdır, TCP tabanlı yollar paylaşımlı Ethernet'in kuyruklamasına tabidir.
| Protokol | Erişim | Göreli gecikme | Karmaşıklık | Maliyet | vSphere 9 | Hyper-V (WS 2025) |
|---|---|---|---|---|---|---|
| Fibre Channel (SCSI) | Blok | Düşük | Yüksek (zoning, HBA, ayrı fabric) | Yüksek | Destekli | Destekli; FC üzerinden CSV |
| iSCSI | Blok | Orta | Orta (VLAN, MPIO, CHAP) | Düşük | Destekli; 9.0'da oturum başına çoklu bağlantı eklendi | Destekli; yerleşik başlatıcı ve MPIO |
| NVMe/FC | Blok | En düşük | Yüksek (NVMe destekli HBA ve fabric) | Yüksek | Destekli; HPP ile çok yollu | Yok |
| NVMe/TCP | Blok | Düşük | Orta (1:1 vmk-NIC, port bağlama) | Düşük | Destekli; HPP ile çok yollu, 9.0'da DH-HMAC-CHAP | GA sürümde yok; Insider önizlemesi |
| NFS 3 / 4.1 | Dosya | Orta | Düşük | Düşük | Destekli; 4.1'de Kerberos (krb5p ile şifreleme) | VM depolama için yok |
| SMB 3 | Dosya | Orta (RDMA ile düşük) | Düşük-orta (AD, delegasyon, SOFS) | Düşük | Yok | Destekli; SMB Direct ve Multichannel |
Birkaç satırı açmak gerekir. vSphere 9 belgesine göre NVMe-oF hedeflerinde RDM, core dump, SCSI-2 rezervasyonu ve VAAI donanım hızlandırma desteklenmez; clustered VMDK desteklenir. Aynı namespace'e farklı taşıma türleriyle (örneğin hem FC hem TCP) erişmeyin. Hyper-V tarafında Microsoft, SAN üzerindeki CSV'ler için NTFS'i açıkça öneriyor: ReFS ile biçimlenen SAN CSV'si doğrudan I/O yerine yönlendirilmiş I/O ile çalışır. NFS'i Hyper-V için listelemiyorum; Windows'ta NFS istemcisi var ama VM dosyaları için desteklenen yol SMB 3'tür.
Ön koşullar
İki platform için ortak liste:
- Dizi üreticisinin uyumluluk matrisinde hypervisor sürümünüz ve protokol yer almalı. Broadcom Compatibility Guide ve Windows Server Catalog ilk bakılacak yerlerdir.
- Depolama trafiği için ayrı VLAN ya da ayrı fiziksel ağ; iki bağımsız yol (iki anahtar, iki NIC ya da HBA). Microsoft küme belgesi iSCSI için NIC'in yalnızca depolamaya ayrılmasını ister.
- Uçtan uca aynı MTU. Jumbo frame kullanacaksanız anahtar portları, NIC'ler ve dizinin hepsi 9000 olmalı; Broadcom bilgi bankasına göre ESXi'nin desteklediği en yüksek MTU 9000'dir.
- Küme düğümlerinde aynı HBA modeli, sürücü ve firmware. Microsoft FC ve SAS için bunu şart koşar.
- Hyper-V kümesi için Failover Clustering ve Multipath-IO özellikleri; vSphere için her host'ta yazılım iSCSI veya NVMe/TCP adaptörüne bağlanacak VMkernel portları.
- SMB 3 yolunda Active Directory, dosya sunucusunda host bilgisayar hesaplarına tam yetki ve uzak yönetim için Kerberos kısıtlı delegasyon.
Adımlar: iSCSI LUN'u iki platforma bağlama
iSCSI'yi örnek seçtim çünkü iki platformda da yerleşik ve ek donanım gerektirmiyor. Senaryo: dizi iki portalda (192.168.50.10 ve 192.168.51.10) hizmet veriyor, her host'ta iki depolama NIC'i var.
vSphere 9: yazılım iSCSI adaptörü
- VMkernel portlarını hazırlayın
İki iSCSI alt ağı için iki VMkernel adaptörü (vmk1, vmk2) oluşturun; her biri tek bir fiziksel NIC'e bağlı olsun. Jumbo frame kullanıyorsanız vSwitch ve vmk MTU'sunu birlikte yükseltin.
esxcli network vswitch standard set --vswitch-name=vSwitch1 --mtu=9000 esxcli network ip interface set --interface-name=vmk1 --mtu=9000 esxcli network ip interface set --interface-name=vmk2 --mtu=9000 vmkping -I vmk1 -d -s 8972 192.168.50.10vmkpingparçalanmaya izin vermez; cevap gelmiyorsa MTU bir yerde eksiktir. - Yazılım iSCSI adaptörünü etkinleştirin
esxcli iscsi software set --enabled=true esxcli iscsi adapter listAdaptör
vmhba64gibi bir adla listelenir; sonraki komutlarda bu adı kullanın. - Port bağlamayı yapın
Her VMkernel portunu iSCSI adaptörüne bağlayın. Port bağlama, adaptörün yalnızca bu portlardan oturum açmasını sağlar ve iki yolun ayrı ayrı görünmesini garanti eder.
esxcli iscsi networkportal add --adapter=vmhba64 --nic=vmk1 esxcli iscsi networkportal add --adapter=vmhba64 --nic=vmk2 - Hedefi keşfedin ve yeniden tarayın
esxcli iscsi adapter discovery sendtarget add --adapter=vmhba64 --address=192.168.50.10:3260 esxcli iscsi adapter discovery sendtarget add --adapter=vmhba64 --address=192.168.51.10:3260 esxcli storage core adapter rescan --adapter=vmhba64 esxcli storage core path listHer LUN için en az iki yol görmelisiniz. CHAP kullanıyorsanız
esxcli iscsi adapter auth chap setile adaptör düzeyinde ayarlayın. - Yol seçim ilkesini kontrol edin
esxcli storage nmp device listALUA dizilerinde çoğu üretici Round Robin ister. Üreticiniz "iops=1" öneriyorsa bunu cihaz bazında değil SATP kuralıyla kalıcı yapın; yeniden başlatmadan sonra geçerli olur.
esxcli storage nmp satp rule add --satp=VMW_SATP_ALUA --psp=VMW_PSP_RR --psp-option="iops=1" --vendor="<URETICI>" --model="<MODEL>" --description="RR iops=1" - VMFS datastore oluşturun
vSphere Client'ta Storage, New Datastore, VMFS 6 yolunu izleyin ya da PowerCLI ile
New-Datastore -Vmfskullanın. Datastore'u kümedeki tüm host'larda yeniden tarayıp aynı adla göründüğünü doğrulayın.
Hyper-V (Windows Server 2025): başlatıcı, MPIO ve CSV
Komutları her küme düğümünde çalıştırın; CSV adımları tek düğümden yapılır.
- Özellikleri yükleyin ve MPIO'ya iSCSI sahipliği verin
Install-WindowsFeature -Name Multipath-IO, Failover-Clustering -IncludeManagementTools Set-Service -Name MSiSCSI -StartupType Automatic Start-Service -Name MSiSCSI Enable-MSDSMAutomaticClaim -BusType iSCSI Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR Restart-ComputerEnable-MSDSMAutomaticClaimyeniden başlatma ister. Yük dengeleme ilkesini (RR, LQD, FOO) dizi üreticisinin önerisine göre seçin. - Portalları başlatıcı adresleriyle eşleyin
Her depolama NIC'ini kendi alt ağındaki portala bağlayın; böylece yollar çakışmaz.
New-IscsiTargetPortal -TargetPortalAddress 192.168.50.10 -InitiatorPortalAddress 192.168.50.21 New-IscsiTargetPortal -TargetPortalAddress 192.168.51.10 -InitiatorPortalAddress 192.168.51.21 Get-IscsiTarget - Hedefe iki yoldan kalıcı bağlanın
$iqn = (Get-IscsiTarget).NodeAddress Connect-IscsiTarget -NodeAddress $iqn -TargetPortalAddress 192.168.50.10 -InitiatorPortalAddress 192.168.50.21 -IsMultipathEnabled $true -IsPersistent $true Connect-IscsiTarget -NodeAddress $iqn -TargetPortalAddress 192.168.51.10 -InitiatorPortalAddress 192.168.51.21 -IsMultipathEnabled $true -IsPersistent $true Get-IscsiSession | Format-Table TargetNodeAddress, IsConnected, IsPersistent, IsMultipathEnabled mpclaim -s -dIsPersistentoturumu yeniden başlatmada geri getirir;mpclaim -s -dher disk için yol sayısını gösterir. Tek yol görüyorsanız MPIO sahipliği oturmamıştır. - Diski biçimlendirin
Yalnızca bir düğümde çalıştırın. SAN LUN'u için NTFS seçin; VHDX için 64 KB ayırma birimi yaygın öneridir.
Get-Disk | Where-Object BusType -eq iSCSI Initialize-Disk -Number <DISK-NO> -PartitionStyle GPT New-Partition -DiskNumber <DISK-NO> -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "CSV01" -AllocationUnitSize 65536 - Kümeye ekleyip CSV yapın
Test-Cluster -Node <DUGUM1>, <DUGUM2> -Include "Storage", "Inventory", "Network", "System Configuration" Get-ClusterAvailableDisk | Add-ClusterDisk Add-ClusterSharedVolume -Name "Cluster Disk 1" Get-ClusterSharedVolumeStateBirim
C:\ClusterStorage\Volume1altında görünür.Get-ClusterSharedVolumeStateher düğümde "Direct" göstermeli; "FileSystemRedirected" ya da "BlockRedirected" görürseniz o düğümün depolamaya doğrudan yolu yoktur. - iSCSI ağını küme iletişiminden çıkarın
Microsoft, CSV trafiğinin iSCSI ağlarına taşmamasını önerir.
(Get-ClusterNetwork | Where-Object Address -like "192.168.50.*").Role = 0 (Get-ClusterNetwork | Where-Object Address -like "192.168.51.*").Role = 0Rol 0 "küme iletişimine izin verme" demektir.
Çok yollu erişim: NMP, HPP ve MPIO
vSphere'de iki eklenti var. NMP (Native Multipathing Plug-in) SCSI tabanlı FC ve iSCSI cihazlarını yönetir; yol seçim ilkeleri Fixed, MRU ve Round Robin'dir. HPP (High-Performance Plug-in) NVMe-oF hedeflerini varsayılan olarak sahiplenir ve Broadcom belgesine göre NMP bu hedefleri sahiplenemez. HPP yalnızca active/active ve implicit ALUA dizileri destekler; yol şemaları FIXED, LB-RR (varsayılan), LB-IOPS, LB-BYTES ve LB-Latency'dir. NVMe/TCP'de NIC takımı (teaming) ya da LACP kullanılmaz; her VMkernel adaptörü tek bir fiziksel NIC'e eşlenir ve yüksek erişilebilirlik tamamen HPP'nin çok yollu mantığına bırakılır.
Windows'ta tek bir çerçeve var: MPIO ve Microsoft DSM. Enable-MSDSMAutomaticClaim -BusType iSCSI (ya da SAS ve FC için dizinin VID/PID'ini New-MSDSMSupportedHW ile ekleyerek) diskleri MPIO'ya verir. Varsayılan yük dengeleme ilkesini Set-MSDSMGlobalDefaultLoadBalancePolicy ile RR, LQD (en az kuyruk derinliği) ya da FOO (failover only) yapabilirsiniz; üretici DSM'i varsa onun belgesi önceliklidir. Yolların durumunu mpclaim -s -d ve Get-MPIOAvailableHW ile görürsünüz.
Tasarım kuralları
- Ayrı VLAN, yönlendirme yok. Depolama alt ağları yalnızca host ve dizi portlarını içersin; varsayılan ağ geçidi tanımlamayın.
- Jumbo frame tamamı ya da hiçbiri. 9000 MTU'yu anahtar, NIC, vmk ve dizide birlikte açın;
vmkping -d -s 8972veping -f -l 8972ile doğrulayın. Karışık MTU, aralıklı zaman aşımı olarak kendini gösterir ve bulması saatler alır. - Kuyruk derinliği. HBA ve LUN kuyruk derinliğini üreticinin ESXi ya da Windows belgesindeki değerle bırakın; ESXi'de
Disk.SchedNumReqOutstandingdeğeri adaptör kuyruk derinliğini aşmamalıdır. Çok VM'li az sayıda büyük LUN yerine, iş yüküne göre bölünmüş birden fazla LUN kullanın; Microsoft düğüm başına en az bir CSV önerir. - Round Robin IOPS eşiği. Varsayılan 1000'den 1'e indirmek bazı dizilerde gecikmeyi düşürür, bazılarında işe yaramaz. Broadcom bilgi bankası bunu üreticiye danışmadan yapmamanızı söyler.
- Dosya sistemi eşleşmesi. SAN CSV'si için NTFS, Storage Spaces Direct için ReFS. vSphere'de tüm host'lar aynı NFS sürümünü kullansın; NFS 3 ve 4.1 aynı datastore'a karışmaz.
- SMB 3 için SOFS. Hyper-V VM dosyalarını genel amaçlı dosya sunucusuna değil, Scale-Out File Server rolüne koyun; aktif-aktif paylaşım ve saydam yük devretme buradan gelir. Loopback (Hyper-V host'un kendi paylaşımını kullanması) desteklenmez.
Doğrulama
Bağlantıyı kurduktan sonra üç şeyi kanıtlayın: yol sayısı, yük devretme ve performans tabanı.
vSphere'de esxcli storage core path list çıktısında her cihaz için iki "active" yol, esxcli storage nmp device list çıktısında beklenen PSP görünmeli. Bir depolama anahtarının portunu kapatıp esxcli storage core path list ile yolun "dead" olduğunu ve VM'lerin I/O'ya devam ettiğini izleyin; portu açınca yolun geri geldiğini doğrulayın.
Windows'ta Get-IscsiSession iki oturum, mpclaim -s -d iki yol, Get-ClusterSharedVolumeState tüm düğümlerde Direct göstermeli. Aynı port kapatma testini yapın; Get-ClusterSharedVolumeState geçici olarak BlockRedirected gösterebilir, bu beklenen davranıştır. NVMe/TCP kurduysanız esxcli nvme namespace list ve esxcli storage hpp device list ile namespace ve yol şemasını kontrol edin.
Performans tabanı için üretim öncesi tek bir ölçüm alın (vSphere'de HCIBench ya da fio, Windows'ta DiskSpd) ve sonucu saklayın. Sonradan "yavaşladı" dendiğinde karşılaştıracağınız tek referans bu olur.
Sık yapılan hatalar
- Depolama trafiğini yönetim VLAN'ında bırakmak. Yedekleme penceresinde iSCSI zaman aşımı alırsınız; önce ağı ayırın.
- Tek alt ağda iki NIC ile "çok yollu" sanmak. Windows'ta
mpclaim -s -dçıktısında tek yol görmenin en sık nedeni budur; portalları başlatıcı adresleriyle eşleyin. - ReFS ile SAN CSV'si. Yönlendirilmiş I/O ve düşük performans; NTFS'e dönün.
- vVols üzerine yeni yatırım. VCF/VVF 9.0'da kullanımdan kaldırıldı; VMFS, NFS ya da vSAN'a planlayın.
- Round Robin ayarını cihaz bazında yapmak. Yeniden başlatmada kaybolur; SATP kuralı kullanın.
- NVMe-oF'ta RDM beklemek. Desteklenmez; fiziksel modda disk gerektiren VM'leri SCSI yolunda tutun.
- Jumbo frame'i yalnızca host'ta açmak. Dizide ya da anahtar portunda eksik MTU, aralıklı yol kopmaları üretir.
- Hyper-V'de SMB paylaşımında bilgisayar hesaplarını unutmak. Host, küme nesnesi ve SYSTEM hesabı tam yetki almalı; aksi halde VM oluşturma "erişim reddedildi" ile düşer.
Kaynaklar
- Broadcom, "About VMware NVMe Storage" (vSphere 9.0): https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/9-0/vsphere-storage/about-vmware-nvme-storage.html (Ekim 2026)
- Broadcom, "Requirements for VMware NVMe Storage" (vSphere 9.0): https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/9-0/vsphere-storage/about-vmware-nvme-storage/requirements-for-vmware-nvme-storage.html (Ekim 2026)
- Broadcom, "VMware High Performance Plug-In and Path Selection Schemes" (vSphere 9.0): https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/9-0/vsphere-storage/understanding-multipathing-and-failover-in-the-esxi-environment/vmware-hpp.html (Ekim 2026)
- VMware Cloud Foundation Blog, "vSphere and VCF 9 Core Storage: What's New": https://blogs.vmware.com/cloud-foundation/2025/06/19/vsphere-and-vcf-9-core-storage-whats-new/ (Ekim 2026)
- Broadcom KB 401070, "Deprecation of VMware vSphere Virtual Volumes (vVols) in VCF 9.0 and VVF 9.0": https://knowledge.broadcom.com/external/article/401070 (Ekim 2026)
- Broadcom KB 416270, "Supporting all Principal Storage Options in VMware Cloud Foundation 9": https://knowledge.broadcom.com/external/article/416270 (Ekim 2026)
- Broadcom KB 318937, "iSCSI and Jumbo Frames configuration on VMware ESXi host": https://knowledge.broadcom.com/external/article/318937 (Ekim 2026)
- Broadcom KB 323117, "Adjusting Round Robin IOPS limit from default 1000 to 1": https://knowledge.broadcom.com/external/article/323117 (Ekim 2026)
- Microsoft Learn, "Cluster Shared Volumes overview": https://learn.microsoft.com/en-us/windows-server/failover-clustering/failover-cluster-csvs (Ekim 2026)
- Microsoft Learn, "Failover clustering hardware requirements and storage options": https://learn.microsoft.com/en-us/windows-server/failover-clustering/clustering-requirements (Ekim 2026)
- Microsoft Learn, "Scale-Out File Server for application data overview": https://learn.microsoft.com/en-us/windows-server/failover-clustering/sofs-overview (Ekim 2026)
- Microsoft Learn, "What is SMB file sharing for Windows and Windows Server?": https://learn.microsoft.com/en-us/windows-server/storage/file-server/file-server-smb-overview (Ekim 2026)
- Microsoft Learn, "Deploy Hyper-V over SMB": https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj134187(v=ws.11) (Ekim 2026)
- Microsoft Learn, iSCSI PowerShell modülü (Windows Server 2025): https://learn.microsoft.com/en-us/powershell/module/iscsi/?view=windowsserver2025-ps (Ekim 2026)
- Microsoft Learn, MPIO PowerShell modülü (Windows Server 2025): https://learn.microsoft.com/en-us/powershell/module/mpio/?view=windowsserver2025-ps (Ekim 2026)
- Microsoft Learn, "Comparison of Windows Server editions" (Storage Spaces Direct yalnızca Datacenter): https://learn.microsoft.com/en-us/windows-server/get-started/editions-comparison (Ekim 2026)
- Microsoft Learn, "What's new in Windows Server 2025" (NVMe performansı, SMB değişiklikleri): https://learn.microsoft.com/en-us/windows-server/get-started/whats-new-windows-server-2025 (Ekim 2026)
Sık sorulan sorular
Sanallaştırma için SAN mı NAS mı daha iyi?
İkisi de üretimde kullanılır. Blok (SAN) tarafında FC, iSCSI ve NVMe-oF; dosya (NAS) tarafında vSphere için NFS, Hyper-V için SMB 3 geçerlidir. Karar protokolün kendisinden çok mevcut ağ, ekip bilgisi ve dizinin desteklediği yola göre verilir.
vSphere 9'da NVMe/TCP kullanmak için ne gerekir?
NVMe over TCP destekleyen bir dizi, uyumlu bir Ethernet adaptörü ve host üzerinde yazılım NVMe over TCP adaptörü gerekir. Broadcom belgesine göre NVMe-oF hedeflerini varsayılan olarak HPP eklentisi sahiplenir; RDM ve VAAI bu yolda desteklenmez.
Hyper-V kümesinde SAN LUN'unu ReFS ile biçimlendirebilir miyim?
Teknik olarak evet ama Microsoft SAN üzerindeki CSV'ler için NTFS öneriyor. ReFS ile biçimlenen SAN CSV'si yönlendirilmiş (redirected) I/O modunda çalışır ve doğrudan I/O avantajını kaybeder. ReFS, Storage Spaces Direct birimleri için önerilen seçimdir.
Windows Server 2025 NVMe over Fabrics başlatıcı içeriyor mu?
Ekim 2026 itibarıyla GA sürümde yerleşik bir NVMe-oF başlatıcı yok. Microsoft, Insider önizleme yapılarında NVMe/TCP ve NVMe/RDMA başlatıcı sunuyor; üretim için değil, değerlendirme için. Hyper-V'de blok için FC ve iSCSI, dosya için SMB 3 kullanın.
Sistem Yöneticisi. Sanallaştırma ve depolama altyapıları kuruyor, yönetiyor ve burada belgeliyor. Yazıdaki bir bilgi eskidiyse düzeltme önerin.