Динамічна зміна розмірів дисків віртуальних машин є, починаючи з версії Hyper-V в Windows Server 2012 R2. функція Інтернет VHDX Змінити розмір дозволяє вам збільшити або зменшити розмір vhdx диска віртуальної машини онлайн (без зупинки ВМ). У цій статті ми розглянемо, як збільшити або зменшити (стиснути) розмір диска віртуальної машини в Hyper-V, запущеному в Windows 10 або Windows Server 2016 (інструкції може бути застосована для всіх підтримуваних версій Hyper-V, в тому числі безкоштовного Hyper-V Server) .

Основні можливості і обмежень Online VHDX Resize в Hyper-V:

  • Ви можете змінити розмір віртуального диска Hyper-V будь-якого типу: фіксованого, динамічного, і диференціального.
  • Ви можете змінити розмір VHDX диска (в тому числі системного диска гостьовий ОС) на-льоту. Зупиняти віртуальну машину не потрібно;
  • VHDX диск повинен бути підключений до ВМ через віртуальний SCSI контролер (не підтримує онлайн розширення дисків на IDE контролері, таку ВМ доведеться вимкнути для зміни розміру диска);
  • Online VHDX Resize працює як на першому, так і другому поколінні віртуальних машин Hyper-V;
  • Як гостьовий ОС може виступати, як Windows, так і Linux;
  • Підтримується як розширення віртуальних дисків (extend), так і їх стиснення (shrink);
  • Ви можете змінити розмір vhdx диска з графічної консолі Hyper-V, PowerShell або Windows Admin Center;

Збільшуємо розмір віртуальний VHDX диска в Hyper-V

Розглянемо, як збільшити розмір віртуального VHDX диска за допомогою консолі Hyper-V Manager.

  1. У менеджері віртуальних машин Hyper-V виберіть віртуальну машину, перейдіть в її налаштування (Налаштування) -> SCSI-контролер;
  2. Виберіть потрібний віртуальний диск і натисніть кнопку Редагувати;змінити розмір файлу віртуальної машини vhdx в hyper-v
    якщо кнопка Редагувати неактивна, і внизу вказано Редагувати недоступно, оскільки для цієї віртуальної машини існує контрольна точка, Потрібно видалити снапшоти. Можливо необхідно відключити Production Checkpoint у властивостях ВМ. Редагувати недоступно, оскільки для цієї віртуальної машини існує контрольна точка
  3. У запустити майстра виберіть пункт Розгорнути;expand vhdx файл в hyper-v manager
  4. Вкажіть новий розмір віртуального жорсткого диска (в нашому прикладі ми розширимо диск до 170 Гб);збільшити розмір віртуального диска hyperv без виключення ВМ
  5. Тепер потрібно підключиться до гостьової ОС, диск якої був розширений. Розглянемо, як збільшити диск в гостьовій ОС Windows. Відкрийте консоль диспетчера управління дисками Диспетчер дисків. На диску повинна з’явитися додаткова нерозмічена область 43 Гб (Unallocated); Нерозмічена область в гостьовій ОС
  6. Клацніть по розділу, який потрібно розтягнути і виберіть Розширити Гучність (Можна розширити тільки розділ, що знаходиться зліва від неразмеченное області). Вкажіть на скільки потрібно розширити цей розділ за рахунок нерозміченого місця (докладніше процедура розширення описана тут);Розширити розділ в гостьовій ОС Windows
  7. Після виконання процедури Extend, розмір диска буде збільшений.
    У гостьовій Linux можна розширити диск за допомогою утиліти Parted.

Як стиснути віртуальний VHDX диск в Hyper-V?

Розглянемо тепер як зменшити розмір віртуального vhdx диска на Hyper-V.

  1. Перед тим як стиснути віртуального диска з консолі Hyper-V, необхідно всередині гостьової ОС зменшити розмір логічного розділу на диску, звільнити частину місця, перетворивши його в нерозмічену область. Для цього всередині гостьової ОС відкрийте диспетчер управління дисків, виберіть потрібний розділ і виберіть пункт Зменшити обсяг (Стиснути том);Стискаємо тому в гостьовій ОС Windows

    Примітка. Пункт Shrink Volume буде доступний тільки в тому випадку, якщо на диску є вільне місце.

  2. Вкажіть на скільки потрібно зменшити розмір розділу (в нашому прикладі, ми вказали 50 Гб);Зменшити розмір диска
  3. Після зменшення розміру розділу в гостьовій ОС, потрібно відкрити консоль Hyper-V і перейти в настройки віртуального диска. Натисніть кнопку Редагувати;
  4. У майстра Edit Virtual Hard Disk виберіть пункт Зменшити, Потім вкажіть новий розмір vhdx файлу. Зверніть увагу, що ви не можете зробити розмір диска менше, ніж розмір даних на ньому. У нашому випадку можна зменшити диск з 40 до 31 Гб. зменшити розмір віртуального диска hyper-v
    Перш ніж зменшувати розмір VHDX файлу, спробуйте дефрагментувати його за допомогою оптимізації Hyper-V. Виберіть пункт Compact в попередній формі. Або для оптимізації і дефрагментації динамічного диска Hyper-V можна використовувати команду PowerShell: Optimize-VHD -Path 'D:Hyper-Vfs01.vhdx' compact стиснути файл в hyper-v за допомогою дефрагментації
  5. Готово

Змінити розмір віртуального диска Hyper-V за допомогою PowerShell

Можна змінити розмір VHDX диска за допомогою PowerShell. Для цього використовується командлет Змінити розмір-VHD (Не плутати з Resize-VirtualDisk, Який відноситься до Командлети модуля управління дисками Storage).

Примітка. У сучасних версіях Hyper-V для зміни розміру віртуального диска за допомогою командлета Resize-VHD не обов’язково вимикати віртуальну машину.

Спочатку потрібно отримати повний шлях до VHDX диску віртуальної машини:

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

Тут же можна побачити реальний розмір VHDX файлу на диску (Розмір файлу) І максимальний розмір, який він може зайняти (Розмір).

Мінімальний розмір – це мінімальний розмір VHDX диска, до якого можна зменшити файл віртуального диска.

powershell отримати поточний, мінімальний і максимальний розмір vhdx диска в hyper-v

Щоб збільшити розмір VHDX диска потрібно вказати його новий розмір:

Resize-VHD -Path 'C:VMfs01Virtual Hard Disksfs01.vhdx' -SizeBytes 50Gb

Якщо ви вказали розмір віртуального диска менше, ніж він займає на диску, з’явиться помилка: Resize-VHD : Failed to resize the virtual disk.

Вам залишилося розширити диск в гостьовій ОС.

Можна зробити це віддалено через PowerShell Remoting. Підключіться до віртуальної машини за допомогою Invoke-Command або Enter-PSSession (по мережі або через PowerShell Direct)
Enter-PSSession -ComputerName fs01
Отримаємо інформацію про те, на скільки можна розширити розділ і розширимо його до максимального розміру:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize

Якщо потрібно зменшити розмір віртуального диска до мінімально-можливого, виконайте:

Resize-VHD -Path 'C:VMfs01Virtual Hard Disksfs01.vhdx' -ToMinimumSize

зменшити розмір віртуального диска hyperv командлет powershell resize-vhd tominimumsize

Дана команда зменшила максимальний розмір VHDX файлу на 6 Гб.

Щоб змінити розміру віртуальних дисків в інших Гіпервізор доступні за посиланнями: KVM, VMWare.

Leave a Reply

Your email address will not be published. Required fields are marked *