Hyper-V Failover Cluster’da MPIO ve CSV Storage Yapılandırması
Yüksek erişilebilirlik sunan bir Hyper-V Failover Cluster altyapısı kurarken en kritik bileşenlerden biri depolama katmanıdır. Ağ yapılandırması tamamlandıktan sonra sıradaki adım, paylaşımlı depolamanın (Shared Storage) kümeye doğru şekilde tanıtılması ve MPIO (Multipath I/O) ile CSV (Cluster Shared Volumes) yapılandırmasının yapılmasıdır.
Bu yazıda, Hyper-V Failover Cluster ortamlarında MPIO’nun neden gerekli olduğunu, CSV yapılandırmasının nasıl yapıldığını ve PowerShell komutlarıyla sürecin nasıl otomatikleştirilebileceğini ele alıyoruz.
MPIO Nedir ve Neden Kullanılır?
Bir Hyper-V Cluster ortamında SAN veya Storage Spaces gibi paylaşımlı depolama sistemlerine genellikle birden fazla fiziksel yol (Path) üzerinden erişilir.
Bunun temel sebepleri şunlardır:
- Yüksek erişilebilirlik (High Availability)
- Performans artışı
- Yük dengeleme (Load Balancing)
- Yol arızalarında kesintisiz erişim (Failover)
Örneğin iki adet Fibre Channel veya iSCSI bağlantısı bulunan bir Hyper-V sunucusunda Windows, MPIO etkin değilse aynı LUN’u iki farklı disk olarak görebilir.
MPIO etkinleştirildiğinde ise işletim sistemi bu yolların aynı fiziksel depolamaya ait olduğunu anlayarak tek bir mantıksal disk olarak yönetir.
Adım 1: Diskleri Online Alın ve MPIO’yu Etkinleştirin
İlk olarak Hyper-V sunucularında görülen yeni diskler çevrimdışı (Offline) durumda olabilir.
PowerShell ile tüm diskleri çevrimiçi hale getirebilirsiniz.
Get-Disk | Where-Object IsOffline -Eq $True | Set-Disk -IsOffline $False
Ardından MPIO desteğini etkinleştirmek gerekir.
New-MSDSMSupportedHW -AllApplicable
Restart-Computer
Bu işlemler cluster içerisindeki tüm Hyper-V düğümlerinde uygulanmalıdır.
Sunucular yeniden başladıktan sonra Disk Management ekranında artık aynı LUN’un tek disk olarak göründüğünü fark edeceksiniz.
Adım 2: Diskleri Başlatın ve Formatlayın
Bu adım yalnızca cluster’daki tek bir node üzerinde yapılmalıdır.
İlk olarak RAW durumundaki diskleri GPT olarak başlatın.
$NewDisks = Get-Disk | Where-Object PartitionStyle -Eq RAW
Initialize-Disk -InputObject $NewDisks -Confirm:$False
Ardından bölümleri biçimlendirin.
Get-Partition |
Where-Object NoDefaultDriveLetter -eq $True |
Format-Volume -FileSystem NTFS -Confirm:$False
Modern Windows Server sürümlerinde ReFS de tercih edilebilir. Özellikle Hyper-V iş yüklerinde ReFS; Block Cloning ve Accelerated VHDX Operations gibi avantajlar sunmaktadır.
Adım 3: Depolamayı Cluster’a Ekleyin
Diskler hazırlandıktan sonra artık Failover Cluster tarafından kullanılabilir hale getirilmelidir.
PowerShell komutları:
Get-ClusterAvailableDisk | Add-ClusterDisk
Daha sonra diskleri Cluster Shared Volume (CSV) haline getirin.
Get-ClusterResource |
Where-Object {$_.OwnerGroup -eq "Available Storage"} |
Add-ClusterSharedVolume
İşlem tamamlandıktan sonra diskler aşağıdaki dizinde görünmeye başlar.
C:\ClusterStorage\
Burada her CSV bir klasör olarak listelenir.
Örneğin;
C:\ClusterStorage\Volume1
C:\ClusterStorage\Volume2
Bu dizinler artık tüm Hyper-V düğümleri tarafından ortak kullanılabilir.
Quorum Diski Unutulmamalı
Cluster ortamlarında yalnızca sanal makineleri barındıracak CSV alanları yeterli değildir.
Ayrıca küçük boyutlu (genellikle 1-2 GB) bir Witness (Quorum) diski de oluşturulmalıdır.
Windows Server’ın yeni sürümlerinde çoğu zaman Quorum otomatik yapılandırılsa da tasarım aşamasında Witness planlamasının yapılması önerilir.
CSV Block Cache Performansı Artırabilir
Microsoft, Hyper-V ortamlarında CSV Block Cache kullanılmasını tavsiye etmektedir.
Windows Server 2012 R2 ve sonraki sürümlerde özellik varsayılan olarak açık gelir ancak cache boyutu 0 MB olabilir.
Microsoft’un önerdiği değer:
512 MB
PowerShell ile ayarlamak için:
(Get-Cluster).BlockCacheSize = 512
Bu ayar özellikle yoğun okuma yapan sanal makinelerde performans artışı sağlayabilir.
Varsayılan VM Depolama Konumunu Belirleyin
Hyper-V Manager üzerinden her sanal makine oluştururken klasör seçmek yerine varsayılan yollar belirlenebilir.
PowerShell örneği:
Set-VMHost `
-VirtualMachinePath "C:\ClusterStorage\Volume1\ProductionVM" `
-VirtualHardDiskPath "C:\ClusterStorage\Volume1\ProductionVHD"
Böylece;
- Sanal makine yapılandırmaları
- VHDX dosyaları
otomatik olarak doğru CSV üzerine oluşturulur.
Bu ayar her Hyper-V düğümünde uygulanmalıdır.
Cluster Validation Testini Atlamayın
Tüm yapılandırmalar tamamlandıktan sonra yapılması gereken son işlem Cluster Validation çalıştırmaktır.
Validation testleri;
- Depolama
- Ağ
- Sistem yapılandırması
- Donanım uyumluluğu
- Sürücü kontrolleri
gibi birçok bileşeni doğrular.
Ayrıca Microsoft destek hizmetlerinden yararlanabilmek için Validation raporunun başarılı olması büyük önem taşır.
En İyi Uygulamalar (Best Practices)
Hyper-V Cluster depolama altyapısı tasarlanırken aşağıdaki öneriler dikkate alınmalıdır:
- MPIO tüm cluster düğümlerinde etkin olmalıdır.
- Her node aynı LUN’ları aynı sırada görmelidir.
- CSV diskleri mümkün olduğunca ReFS ile biçimlendirilmelidir (Windows Server 2016 ve sonrası için önerilir).
- Quorum için ayrı bir Witness diski veya Cloud/File Share Witness kullanılmalıdır.
- CSV Block Cache yapılandırılmalıdır.
- VM ve VHDX klasörleri ayrı dizinlerde tutulmalıdır.
- Cluster Validation düzenli olarak çalıştırılmalıdır.
- Depolama firmware ve MPIO sürücüleri üreticinin önerdiği sürümlerde tutulmalıdır.
Hyper-V Failover Cluster ortamlarında yalnızca sunucuları kümeye dahil etmek yeterli değildir. Depolama katmanının doğru yapılandırılması, yüksek erişilebilirlik ve performans açısından kritik öneme sahiptir. MPIO sayesinde birden fazla depolama yolu tek bir mantıksal disk olarak yönetilirken, Cluster Shared Volumes (CSV) tüm Hyper-V düğümlerinin aynı depolama alanına eş zamanlı erişebilmesini sağlar.
Doğru yapılandırılmış bir MPIO ve CSV altyapısı; canlı taşıma (Live Migration), yüksek erişilebilirlik, bakım işlemleri ve performans açısından daha stabil ve güvenilir bir Hyper-V Cluster ortamı oluşturmanın temelini oluşturur.










Eline sağlık.