İçeriğe geç
Yeni yazı çıkınca e-posta · 4.812 abone 115 rehber · 78 ipucu · 8 komut RSS GitHub LinkedIn İletişim
Ara Bültene katıl
Bültene katıl 4.812 abone · yeni yazı çıkınca e-posta
Sanallaştırma

Sanal disk türleri ve depolama yerleşimi

Dinamik mi sabit mi, hangi birime, hangi blok boyutuyla? Sonradan değiştirmesi en zahmetli kararlar.

Mustafa Çelik 3 Nisan 2026 · 11 dk okuma

Sanal makine oluştururken disk ayarları varsayılan bırakılır ve genelde uzun süre sorun çıkarmaz. Sorun, depolama dolduğunda ya da performans şikâyeti geldiğinde ortaya çıkar — ve o noktada değiştirmek kesinti gerektirir.

Dinamik mi sabit mi

Dinamik genişleyen (dynamically expanding): Dosya, kullanıldıkça büyür. Alan tasarrufu sağlar.

Sabit boyutlu (fixed): Oluşturulurken tüm alan ayrılır. Performansı bir miktar daha iyidir ve öngörülebilirdir.

Modern depolama üzerinde performans farkı eskisi kadar belirgin değil. Asıl fark risktedir: dinamik diskler, altındaki birim dolduğunda büyüyemez ve sanal makine durur.

Aşırı taahhüt (thin provisioning) yapıyorsanız — ki dinamik disk tam olarak budur — birim doluluğunu izlemek zorunludur:

Get-Volume | Where-Object DriveType -eq 'Fixed' |
  Select-Object DriveLetter, FileSystemLabel,
    @{n='BosGB';e={[math]::Round($_.SizeRemaining/1GB,1)}},
    @{n='Bos%';e={[math]::Round($_.SizeRemaining/$_.Size*100,1)}} |
  Sort-Object 'Bos%'

Kritik iş yüklerinde sabit disk kullanmak, bu riski tamamen ortadan kaldırdığı için genelde doğru tercihtir.

Fark diski: üretimde kullanmayın

Fark diski (differencing), bir üst diske bağlı olarak yalnızca değişiklikleri tutar. Laboratuvar ve test için mükemmeldir: tek bir temel diskten onlarca makine türetirsiniz.

Üretimde ise iki sorun üretir: zincir uzadıkça performans düşer ve üst disk bozulursa tüm alt diskler kaybolur. Üretim makinelerinde fark diski görüyorsanız, muhtemelen unutulmuş bir checkpoint vardır.

VHDX kullanın, VHD değil

Eski VHD biçiminin sınırları var: 2 TB maksimum boyut ve ani güç kesintilerine karşı daha zayıf koruma.

VHDX 64 TB’a kadar destekler ve dahili günlükleme sayesinde bozulmaya karşı daha dayanıklıdır. Yeni disklerde VHDX varsayılan olmalı; eski VHD’leri fırsat buldukça dönüştürün:

Convert-VHD -Path 'D:\VM\eski.vhd' -DestinationPath 'D:\VM\yeni.vhdx' -VHDType Fixed

Dönüştürme makine kapalıyken yapılır ve alan gerektirir — kaynak disk kadar boş alan olmalıdır.

Blok boyutu ve hizalama

VHDX oluştururken mantıksal sektör boyutu ve blok boyutu seçilebilir. Varsayılanlar çoğu iş yükü için uygundur ama iki istisna vardır:

Veritabanları. 64 KB ayırma birimi ile biçimlendirilmiş bir birim, SQL Server için önerilir.

4K yerel diskler. Altındaki fiziksel disk 4K sektör kullanıyorsa, sanal diskin de uyumlu olması hizalama sorunlarını önler.

Hizalama bozukluğu sessizce performans yer; ölçmeden fark edilmez.

Yerleşim: neyi nereye koymalı

Tek bir büyük birime her şeyi koymak yönetimi kolaylaştırır ama arıza alanını büyütür. Pratik bir ayrım:

  • İşletim sistemi diskleri — orta hızlı katman yeterli
  • Veritabanı veri dosyaları — en hızlı katman
  • Veritabanı günlük dosyaları — ayrı birim, sıralı yazma için optimize
  • Yedekleme hedefi — tamamen ayrı fiziksel depolama

Son madde pazarlık konusu değildir. Yedekleri, yedeklediğiniz sistemle aynı depolama dizisinde tutmak, dizi arızasında ikisini birden kaybetmek demektir.

Checkpoint yerleşimi

Checkpoint dosyaları varsayılan olarak sanal makinenin yapılandırma dizinine yazılır. Yoğun bir makinede bu dosyalar hızla büyür.

Yapılandırma dizinini disk dosyalarından ayrı bir birime koymak, checkpoint kaynaklı doluluk riskini izole eder:

Get-VM | Select-Object Name, Path, SnapshotFileLocation, SmartPagingFilePath

Depolama katmanı kararı

Her makineyi en hızlı katmana koymak pahalıdır; hepsini yavaş katmana koymak kullanılamaz. Ayrımı iş yüküne göre yapın:

Yüksek IOPS gerektirenler (veritabanı, sanal masaüstü) hızlı katmana. Sıralı ve düşük yoğunluklu olanlar (dosya sunucusu, arşiv) daha ucuz katmana.

Karar vermeden önce ölçün — tahmin edilen ile gerçek IOPS arasında genelde büyük fark olur:

Get-Counter '\Hyper-V Virtual Storage Device(*)\Read Operations/Sec',
            '\Hyper-V Virtual Storage Device(*)\Write Operations/Sec' `
  -SampleInterval 10 -MaxSamples 30

Doğrulama adımı

Yeni bir sanal makine oluşturduktan sonra üç şeyi kontrol edin: disk türü beklediğiniz mi, dosya doğru birimde mi, ve birimde makinenin tam boyutu kadar boş alan var mı.

Get-VM 'yeni01' | Get-VMHardDiskDrive | ForEach-Object {
    Get-VHD $_.Path | Select-Object Path, VhdType, @{n='BoyutGB';e={[math]::Round($_.Size/1GB)}},
      @{n='DosyaGB';e={[math]::Round($_.FileSize/1GB,1)}}
}

Üçüncü kontrol, dinamik disk kullanıyorsanız en önemlisidir: bugün 20 GB yer kaplayan bir disk, tanımlı boyutu 500 GB ise bir gün oraya kadar büyüyebilir. Birimde o alan yoksa, sorunu bugün değil altı ay sonra yaşarsınız.

Mustafa Çelik

Kıdemli Sistem Yöneticisi, Ankara. 12 yıldır Windows Server, Active Directory ve ağ altyapısıyla uğraşıyor; öğrendiklerini bu blogda üretim ortamında denenmiş rehberlere çeviriyor.

Hakkımda

Bu rehber işinize yaradıysa, sonrakini kaçırmayın.

Yeni yazı yayınlandığında tek e-posta. Takvim yok, dilediğiniz an çıkabilirsiniz.

Bülten sağlayıcısı henüz bağlanmadı. Bağlanana kadar e-posta ile yazabilirsiniz ya da RSS akışını takip edebilirsiniz.