Как увеличить/уменьшить размер виртуального диска Hyper-V?
19.01.2023
itpro
Hyper-V, Windows 10, Windows Server 2016, Виртуализация
комментария 3
Динамическое изменение размеров дисков виртуальных машин доступно, начиная с версии Hyper-V в Windows Server 2012 R2. Функция Online VHDX Resize позволяет вам увеличить или уменьшить размер vhdx диска виртуальной машины онлайн (без остановки ВМ). В этой статье мы рассмотрим, как увеличить или уменьшить (сжать) размер диска виртуальной машины в Hyper-V, запущенном в Windows 10 или Windows Server 2016 (инструкции применима для всех поддерживаемых версий Hyper-V, в том числе бесплатного Hyper-V Server).
Основные возможности и ограничений Online VHDX Resize в Hyper-V:
- Вы можете изменить размер виртуального диска Hyper-V любого типа: фиксированного, динамического, и дифференциального.
- Вы можете изменить размер VHDX диска (в том числе системного диска гостевой ОС) на-лету. Останавливать виртуальную машину не нужно;
- Не поддерживается изменение размера общих VHDX файлов или VHD Set (VHDS/AVHDX) дисков, используемых в гостевых кластерах;
- Нельзя изменить размер виртуального диска, для которого создан снапшот (например при резервном копировании).
Увеличиваем размер виртуальный VHDX диска в Hyper-V
Рассмотрим, как увеличить размер виртуального VHDX диска с помощью консоли Hyper-V Manager.

- В менеджере виртуальных машин Hyper-V выберите виртуальную машину, перейдите в ее настройки (Settings) -> SCSI Controller;
- Выберите нужный виртуальный диск и нажмите кнопку Edit;

Если кнопка Edit неактивна, и внизу указано Edit is not available because checkpoint exist for this virtual machine, нужно удалить снапшоты. Возможно необходимо отключить Production Checkpoint в свойствах ВМ.
Как сжать виртуальный VHDX диск в Hyper-V?
Рассмотрим теперь как уменьшить размер виртуального vhdx диска на Hyper-V.

-
Перед тем как сжать виртуального диска из консоли Hyper-V, необходимо внутри гостевой ОС уменьшить размер логического раздела на диске, освободить часть места, преобразовав его в неразмеченную область. Для этого внутри гостевой ОС откройте диспетчер управления дисков, выберите нужный раздел и выберите пункт Shrink Volume (Сжать том);

Прежде чем уменьшать размер VHDX файла, попробуйте дефрагментировать его с помощью оптимизации Hyper-V. Выберите пункт Compact в предыдущей форме. Либо для оптимизации и дефрагментации динамического диска Hyper-V можно использовать команду PowerShell: Optimize-VHD -Path ‘D:\Hyper-V\fs01.vhdx’
Изменить размер виртуального диска Hyper-V с помощью PowerShell
Можно изменить размер VHDX диска с помощью PowerShell. Для этого используется командлет Resize-VHD (не путать с Resize-VirtualDisk , который относится к командлетам модуля управления дисками Storage).
Сначала нужно получить полный путь к VHDX диску виртуальной машины:
Get-VM -VMName fs01 | Select-Object VMId | Get-VHD
Здесь же можно увидеть реальный размер VHDX файла на диске (FileSize) и максимальный размер, который он может занять (Size).
MinimumSize – это минимальный размер VHDX диска, до которого можно уменьшить файл виртуального диска.

Чтобы увеличить размер VHDX диска нужно указать его новый размер:
Resize-VHD -Path ‘C:\VM\fs01\Virtual Hard Disks\fs01.vhdx’ -SizeBytes 50Gb
Можно сделать это удаленно через 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:\VM\fs01\Virtual Hard Disks\fs01.vhdx’ -ToMinimumSize
Увеличение размера диска Hyper-V VM
В этой статье рассказывается, как увеличить размер диска виртуальной машины Hyper-V без потери данных, а также 2 способа увеличения дискового пространства vm с помощью Hyper-V Manager и PowerShell.
Относится к: Windows 10, Windows 8, Windows 7, Windows Server 2019, Windows Server 2016, Windows Server 2012 (Р2), Windows Server 2008 (Р2), Windows Server 2003 (Р2).

По сравнению с физическим сервером и персональным компьютером виртуальная машина имеет много преимуществ, например: намного дешевле построить несколько серверов с 1 копией оборудования, легко добавлять, редактировать и удалять компоненты. Когда физический жесткий диск заполняется, копирование или восстановление на другой диск большего размера занимает много времени, но на виртуальный жесткий диск вы можете быстро и легко расширить его без потери данных. В этой статье представлены подробные шаги для увеличить размер диска / пространство для Hyper-V виртуальная машина с 2 нативными утилитами.
Как увеличить размер виртуального диска с помощью Hyper-V Manager
Менеджер Hyper-V может помочь вам сжать, преобразовать, сжать и расширить виртуальный диск. Лучше, чем другой инструмент, он может динамически увеличивать размер диска VM без выключения или перезагрузки гостевая виртуальная машина. Это полезно для виртуального сервера.
Действия по увеличению размера / пространства виртуального диска с помощью диспетчера Hyper-V (для VHD и VHDX):
Шаг 1: Откройте диспетчер Hyper-V, нажмите Редактировать диск in Действия панель сверху справа.

Шаг 2: Нажмите Далее во всплывающем окне Мастер редактирования виртуального жесткого диска окно.

Шаг 3: Нажмите Приложения на вершине, чтобы найти свой VHD / VHDX виртуальный диск, а затем нажмите Далее , Обратите внимание на предупреждение.

Шаг 4: Выберите Расширьте вариант и нажмите Далее .

Шаг 5: Введите количество нового размера диска и затем нажмите Далее .

Шаг 6: Просмотрите операцию расширения и нажмите Завершить продолжать.

Вскоре оригинальный виртуальный жесткий диск будет увеличен, а дополнительное дисковое пространство будет показано как Не распределен в конце.


Если вы продолжаете Windows Управление дисками, Диспетчер серверов Службы хранения или NIUBI Partition Editor работает при расширении виртуального диска, вам нужно нажать обновление загрузить последние параметры раздела диска. В некоторых Windows версии, вам нужно заново открыть Управление дисками.
Как увеличить размер виртуального диска в Hyper-V с помощью PowerShell
Если вы считаете, что с помощью Hyper-V Manager сложно увеличить пространство на диске, есть более простой способ с PowerShell. Однако, прежде чем сделать это, вы должны закрывать Гостевая виртуальная машина Hyper-V и удалять Контрольные точки, связанные с диском, который вы хотите увеличить размер.
Чтобы увеличить размер виртуального диска Hyper-V с помощью PowerShell:
- Откройте PowerShell с правами администратора на панели быстрого запуска, в меню Пуск или в другом месте.
- Тип Resize-VHD -Path ‘D: \ vm.vhdx’ -SizeBytes 500 ГБ

Примечание:
- D: \ vm.vhdx означает абсолютный путь и имя виртуального диска с кавычками.
- 500 ГБ означает увеличение объема жесткого диска до 500 ГБ, а не добавление 500 ГБ.
Как увеличить размер виртуального раздела после расширения диска
После получения дополнительного нераспределенного пространства в конце, как добавить его в другие разделы? Вам нужно стороннее программное обеспечение для разделов диска, такое как NIUBI Partition Editor, который является самым безопасным и быстрым Windows менеджер разделов
Скачать NIUBI Partition Editor и следуйте инструкциям в видео:

Примечание: Существует потенциальный риск повреждения системы и потери данных при перемещении и изменении размера раздела, поэтому вам лучше создать контрольную точку или сначала сделать независимое резервное копирование. Лучше, чем другие инструменты, NIUBI Partition Editor имеет инновационные технологии Виртуальный режим, Отмена при скважине и откат в 1 секунду для защиты системы и данных Это намного быстрее из-за продвинутого алгоритма перемещения файла. Это также помогает выполнять многие другие операции по управлению дисками и разделами.
Увеличение места на диске виртуальной машины Hyper-V

В процессе создания виртуальных машин Hyper-V на определенном этапе гипервизор предусматривает подключение виртуального жесткого диска. Если подключать новый жесткий диск, по умолчанию предлагается его создание с размером в 127 Гб. При выборе фиксированного диска объема в 127 гигабайт может быть много, если речь идет только о тестировании версий Windows. Другое дело – виртуальный жесткий диск динамического типа. Даже если виртуальная машина создается сугубо для исследовательских целей, можно не скупиться при определении объема динамического диска. Ведь последний занимает на физическом диске компьютера только то пространство, которое заполнено данными виртуальной машины. Но даже если изначально был создан виртуальный жесткий диск с малым объемом, а впоследствии остро встала необходимость в расширении пространства виртуальной машины, это решается очень просто. В арсенале Hyper-V имеется инструмент увеличения объема дисков виртуальных машин. И работает он, не причиняя вреда ни самой гостевой ОС, ни имеющимся в ней данным.
Как увеличить место на диске виртуальной машины Hyper-V – в этом вопросе детально разберемся ниже.
1. Увеличение объема диска виртуальной машины Hyper-V
Выключаем виртуальную машину, дисковое пространство которой нужно увеличить. В диспетчере Hyper-V выбираем ее, затем либо вызываем контекстное меню, либо используем панель инструментов справа, чтобы открыть «Параметры».
В окне параметров, во вкладке «Оборудование» увидим имеющийся жесткий диск виртуальной машины. В параметрах виртуальных машин поколения 2 диск будет находиться в числе SCSI-контроллеров, а в параметрах машин поколения 1 – в числе IDE-контроллеров. Делаем клик на жестком диске. Чтобы изменить диск, в частности, увеличить на нем место, жмем кнопку «Правка», которая расположена чуть ниже отображения пути к его VHDX- или VHD-файлу.

Жмем «Далее» в окне мастера изменения диска.

Выбор действия в нашем случае – последний пункт «Развернуть». Жмем «Далее».

В окне указания нового размера диска вписываем нужный показатель в гигабайтах. Жмем «Далее».


Возвратившись в окно параметров виртуальной машины, увидим проделанные с диском изменения. Жмем кнопку «Проверить». В отдельном окне свойств диска видим, что размер диска виртуальной машины увеличился.

Но это еще не все.
2. Распределение дискового пространства внутри гостевой ОС
Объем, на который увеличился диск виртуальной машины, внутри последней будет отображаться как нераспределенное дисковое пространство. Это пространство нужно упорядочить – либо приобщить к одному из имеющихся разделов, либо создать новый раздел диска. Для этих целей используем штатный инструмент гостевой Windows – утилиту управления дисками. В Windows 8.1 и 10 для быстрого запуска этой утилиты можно вызвать контекстное меню на кнопке «Пуск».

Универсальный способ запуска утилиты в более ранних версиях Windows – ввод команды «diskmgmt.msc» в поле службы «Выполнить» (вызывается клавишами Win+R).

В окне управления дисками увидим, собственно, то, о чем говорилось чуть выше – 50 Гб, на которые в нашем случае был увеличен диск виртуальной машины, является нераспределенным пространством.

Исправим это. Можем создать на базе этого объема новый раздел диска. Для этого на нераспределенном пространстве вызываем контекстное меню и выбираем «Создать простой том». Затем следуем пошаговому мастеру.

Другой вариант упорядочивания объема, на который был увеличен диск виртуальной машины – добавление нераспределенного пространства к последнему имеющемуся разделу диска. Для этого также вызываем контекстное меню на нераспределенном пространстве и выбираем «Расширить том».

В нашем случае для появившихся лишних 50 Гб применим именно этот вариант. Следуем мастеру расширения тома.

В графе размера выделяемого пространства укажем весь объем в 50 Гб.


Все – в нашем случае несистемный раздел диска виртуальной машины получил весь объем, на который этот диск был увеличен.
Увеличить объем диска ext4 виртуальной машины Linux без потери данных на базе Hyper-V и KVM
Danil Denisov 29 октября 2016
В роли Hyper-V используется Windows 2012R2.
В роли KVM используется Ubuntu 14.04.1 и старше.
В роли Виртуальной машины используется Ubuntu 16.04.1.
1. Первым делом выключаем виртуальную машину и обязательно делаем копию образа, который будем увеличивать. На случай если, что то пойдет не так.
Сделать это можно обычным копированием, если места мало можно копируемый образ сжать.
a. В системе Linux это делается так
I. dd if=/img/образ-расширяемого-диска.qcow2 bs=8M conv=sync,noerror | gzip -c > /backup/img/образ-расширяемого-диска.qcow2-$(date «+%F»).gz
Данная команда выполняет по секторное копирование образа с текущей датой одновременно сжимая образ утилитой gzip
split -b 9000m /backup/img/образ-расширяемого-диска.qcow2-$(date «+%F»).gz /backup/img/образ-расширяемого-диска.qcow2-$(date «+%F»).gz.part
Split выполняет разбиение архива на несколько частей размером 9 GB (эту команду выполнять не обязательно. Она полезна, когда вам нужно перемести копию в другое место)
II. Или создать слепок диска
qemu-img snapshot -c <имя слепка> <образ виртуальной машины>
b. В системе Windows все достаточно просто
Открываем Диспетчер Hyper-V
I. Выбираем нужную виртуальную машину, нажимаем правой кнопкой мыши и выбираем пункт Контрольная точка (делается слепок виртуальной машины целиком)
II. Так же можно скопировать образ расширяемого диска в проводнике.
2. После того как сделали копию, приступаем к увеличению
a. В системе Linux используем команду qemu-img
qemu-img resize /img/образ-расширяемого-диска.qcow2 +20G (т.е. увеличить объем на 20Gb)
b. В системе Windows в меню справа выбираем изменить диск
I. Выбираем нужный нам образ.
II. В следующем меню выбираем пункт Развернуть.
III. На следующем этапе указываем полный размер образа (в Linux указывается на сколько увеличить, а в Windows указывается полный объем диска).
IV. Нажимаем Готово.
3. Во избежания каких либо проблем, лучше запустить систему с помощью LiveCD (в некоторых случаях, когда система загружается, запускаются процессы использующие диск, если диск не смонтирован, в том месте где он был ранее смонтирован создадутся новые файлы и вам придется потом их объединять)
После того как загрузится система, выполняем команду
parted /dev/sdb (sdb диск который мы увеличиваем)
в консоле parted выводим командой print на экран наши разделы диска
Размер диска увеличился на 10GB (Диск /dev/sdb: 75.2GB)
Раздел ранее размеченного диска занимает 64.0GB primary ext4
resizepart 1 (1 — раздел который мы увеличиваем)
На вопрос где конец разделе указываем 75.2GB и нажимаем enter
Еще раз вводим команду print, чтобы убедится, что наш раздел увеличился

Если все в порядке нажимаем q и enter для выхода из parted
4. Запускаем утилиту e2fsck -f /dev/sdb1
5. Дальше нужно выполнить команду resize2fs /dev/sdb1 (без этого пункта система будет выдавать старую информацию о разделе)