Hyper-V'de Sanal Sabit Diskler Nasıl Genişletilir veya Küçültülür?


Sanal makine sabit disklerinin dinamik olarak yeniden boyutlandırılması, Windows Server 2012 R2'de Hyper-V ile başlayarak kullanılabilir. Çevrimiçi VHDX Yeniden Boyutlandırma özelliği, çevrimiçi bir sanal makinenin vhdx dosyasının boyutunu (VM'yi durdurmadan) artırmanıza veya küçültmenize olanak tanır. Bu yazıda, Windows 10 veya Windows Server 2016 üzerinde çalışan Hyper-V'de bir sanal makine sabit diskinin boyutunun nasıl genişletileceğine veya küçültüleceğine (küçültüleceğine) bakacağız (talimatlar, ücretsiz olanlar da dahil olmak üzere desteklenen tüm Hyper-V sürümleri için geçerlidir. Hyper-V Sunucusu).

Hyper-V'de Çevrimiçi VHDX Yeniden Boyutlandırmanın temel özellikleri ve sınırlamaları:

  • Her türlü Hyper-V sanal diskini yeniden boyutlandırabilirsiniz: sabit, dinamik ve diferansiyel;

  • VHDX diskini (konuk işletim sisteminin sistem sürücüsü dahil) anında yeniden boyutlandırabilirsiniz. VM'yi durdurmanız gerekmez;

    Yalnızca VHDX'ler dinamik olarak yeniden boyutlandırılabilir. VHD'ler desteklenmez ve VHDX biçimine dönüştürülmeleri gerekir.

  • VHDX diski sanal bir SCSI denetleyicisi aracılığıyla VM'ye bağlanmalıdır (IDE denetleyicisindeki disklerin çevrimiçi uzantısı desteklenmez, bu tür bir VM'nin disk boyutunu değiştirmek için kapatılması gerekir);

  • Çevrimiçi VHDX Yeniden Boyutlandırma, Hyper-V'nin hem birinci hem de ikinci nesil sanal makinelerinde çalışır;

  • Hem Windows hem de Linux konuk işletim sistemi görevi görebilir;

  • Sanal disklerin hem genişletilmesi hem de küçültülmesi desteklenir;

  • Hyper-V grafik konsolu, PowerShell veya Windows Admin Center'dan vhdx diskini yeniden boyutlandırabilirsiniz;

  • Kümelerde kullanılan paylaşılan VHDX (AVHDX) disklerinin yeniden boyutlandırılması desteklenmez;

  • Anlık görüntünün oluşturulduğu sanal diskin boyutunu değiştiremezsiniz (örneğin, bir yedekleme sırasında).

Hyper-V'de VM Sabit Diskini Genişletme

Hyper-V Manager konsolunu kullanarak sanal VHDX diskinin boyutunu artırabilirsiniz.

  1. Hyper-V sanal makine yöneticisinde sanal makineyi seçin, VM Ayarlar'a gidin -> SCSI Denetleyici'yi genişletin;

  2. Sanal diski seçin ve Düzenle düğmesini tıklayın;

    Düzenle düğmesi etkin değilse ve "Bu sanal makine için kontrol noktası bulunduğundan Düzenle kullanılamıyor" uyarısı görünüyorsa, tüm anlık görüntüleri silmeniz gerekir. Sanal makine özelliklerinde Üretim Kontrol Noktası seçeneğinin devre dışı bırakılması gerekebilir.

  3. Görünen Sanal Sabit Diski Düzenle sihirbazında Genişlet'i seçin;

  4. Sanal sabit diskin yeni boyutunu belirtin (bizim örneğimizde disk boyutunu 170 GB'a çıkaracağız);

  5. Diskin genişletildiği konuk işletim sisteminin konsoluna gidin. Bir Windows konuk işletim sisteminde bir sistem bölümünün nasıl artırılacağına bir göz atalım. Disk Yöneticisi konsolunu açın. Gördüğünüz gibi, diskte fazladan 43 GB ayrılmamış alan belirdi;

  6. Genişletmek istediğiniz bölüme sağ tıklayın ve Birimi Genişlet'i seçin (birimi yalnızca ayrılmamış alanın soluna genişletebilirsiniz). Mevcut cilt boyutunu ne kadar artırmak istediğinizi belirtin;

    Bazen birim genişletme, Windows kurtarma bölümü tarafından engellenebilir.

  7. Uzat prosedürünü tamamladıktan sonra birim boyutu artırılacaktır.

    Konuk bir Linux işletim sisteminde, bölünmüş aracı kullanarak diski genişletebilirsiniz.

Hyper-V Sanal Diskinin (VHDX) Boyutu Nasıl Küçültülür?

Şimdi Hyper-V'de sanal bir vhdx diskin boyutunu nasıl küçülteceğimize bakalım.

  1. Bir sanal diski Hyper-V konsolundan küçültmeden önce, konuk işletim sistemi içindeki diskteki mantıksal bölümün boyutunu küçültmek gerekir. Biraz yer açın ve ayrılmamış birime dönüştürün. Bunu yapmak için konuk işletim sisteminde Disk Yöneticisi'ni açın, bir birim seçin ve Birimi Küçült'ü tıklayın;

    Not. Birimi Küçült seçeneği, yalnızca bölüm üzerinde bir miktar boş alan varsa kullanılabilir hale gelir.

  2. Bölümün küçültüleceği alan miktarını belirtin (bizim örneğimizde 50 GB belirttik);

  3. Konuk işletim sisteminde bölümün boyutunu küçülttükten sonra, Hyper-V konsolunu açmanız ve sanal disk ayarlarına gitmeniz gerekir. Düzenle düğmesine basın;

  4. Sanal Sabit Diski Düzenle sihirbazında, Küçült'ü seçin, ardından vhdx dosyası için yeni bir boyut belirtin. Lütfen diski üzerindeki verilerden daha küçük yapamayacağınıza dikkat edin (Minimum değerini kontrol edin). Bizim durumumuzda, disk boyutunu 40'tan 31 GB'a düşürebilirsiniz;

    VHDX dosyasını küçültmeden önce Hyper-V Optimization ile birleştirmeyi deneyin. Önceki formda, Kompakt seçeneğini belirleyin. Alternatif olarak, bir Hyper-V dinamik sanal diskini optimize etmek ve birleştirmek için PowerShell komutunu kullanabilirsiniz.

    Optimize-VHD -Path 'C:\VM\VHDHyper-V\fs01.vhdx'

  5. Tamamlamak.

PowerShell ile Hyper-V'de Sanal Sabit Disk Dosyalarını Yeniden Boyutlandırma

PowerShell'i kullanarak Hyper-V ana bilgisayarındaki VHDX diskini yeniden boyutlandırabilirsiniz. Bunu yapmak için Resize-VHD cmdlet'ini kullanın (yerleşik Windows disk yönetimi cmdlet'lerine ait olan Resize-VirtualDisk cmdlet'iyle karıştırılmamalıdır).

Not. Hyper-V'nin güncel sürümlerinde Resize-VHD cmdlet'i kullanarak bir sanal diski yeniden boyutlandırmak için sanal makineyi kapatmanız gerekmez.

İlk olarak, sanal makinenin VHDX diskine giden tam yolu bulmanız gerekir:

Get-VM -VMName fs01 | Select-Object VMId | Get-VHD

Bu cmdlet'ler ayrıca depolama alanındaki VHDX dosyasının gerçek boyutunu (FileSize) ve alabileceği maksimum boyutu (Boyut) döndürür. Minimum Boyut, bir sanal disk dosyasının azaltılabileceği minimum VHDX disk boyutudur.

VHDX diskinin boyutunu artırmak için yeni boyutunu belirtmeniz gerekir:

Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -SizeBytes 50Gb

Sanal diskin yeni boyutunu, diskte aldığından daha az belirttiyseniz, bir hata görünecektir:

Resize-VHD : Failed to resize the virtual disk

Konuk işletim sisteminde bölümü yeniden boyutlandırmanız yeterlidir.

PowerShell Remoting'i kullanarak Windows'ta bir diski uzaktan genişletebilirsiniz. Invoke-Command veya Enter-PSSession cmdlet'ini kullanarak (ağ üzerinden veya Hyper-V PowerShell Direct aracılığıyla) uzak sanal makineye bağlanın:

Enter-PSSession -ComputerName fs01

Bölümü ne kadar genişletebileceğiniz ve mevcut maksimum boyuta genişletebileceğiniz hakkında bilgi almanız gerekir:

$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize

Sanal diskin boyutunu mümkün olan en küçük boyuta küçültmeniz gerekiyorsa şunu çalıştırın:

Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -ToMinimumSize

Bu komut, maksimum VHDX dosya boyutunu 6 GB azaltacaktır.

Diğer hipervizörlerdeki sanal diskleri yeniden boyutlandırma talimatları şu bağlantılarda mevcuttur: KVM, VMWare.

İlgili makaleler