Как увеличить/уменьшить размер виртуального диска Hyper-V?

Динамическое изменение размеров дисков виртуальных машин доступно, начиная с версии 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 диска (в том числе системного диска гостевой ОС) на-лету. Останавливать виртуальную машину не нужно;
    Нельзя динамически изменить размер VHD диско. Его сначала придется переконвертировать в формат 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 выберите виртуальную машину, перейдите в ее настройки ( Settings ) -> SCSI Controller;
  2. Выберите нужный виртуальный диск и нажмите кнопку Edit ;
    Если кнопка Edit неактивна, и внизу указано Edit is not available because checkpoint exist for this virtual machine , нужно удалить снапшоты. Возможно необходимо отключить Production Checkpoint в свойствах ВМ.

  3. В запустившемся мастере выберите пункт Expand ;
  4. Укажите новый размер виртуального жесткого диска (в нашем примере мы расширим диск до 170 Гб);
  5. Теперь нужно подключится к гостевой ОС, диск которой был расширен. Рассмотрим, как увеличить диск в гостевой ОС Windows. Откройте консоль диспетчера управления дисками Disk Manager . На диске должна появиться дополнительная неразмеченная область 43 Гб (Unallocated);
  6. Щелкните по разделу, который нужно растянуть и выберите Extend Volume (можно расширить только раздел, находящийся слева от неразмеченной области). Укажите на сколько нужно расширить этот раздел за счет неразмеченного места (подробнее процедура расширения описана здесь );

  7. После выполнения процедуры Extend, размер диска будет увеличен.
    В гостевой Linux можно расширить диск с помощью утилиты Parted .

Как сжать виртуальный VHDX диск в Hyper-V?

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

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

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

Можно изменить размер VHDX диска с помощью PowerShell. Для этого используется командлет Resize-VHD (не путать с Resize-VirtualDisk , который относится к командлетам модуля управления дисками Storage ).

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

Сначала нужно получить полный путь к VHDX диску виртуальной машины:

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

Здесь же можно увидеть реальный размер VHDX файла на диске ( FileSize ) и максимальный размер, который он может занять ( Size ).

MinimumSize – это минимальный размер VHDX диска, до которого можно уменьшить файл виртуального диска.

Чтобы увеличить размер 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

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

Инструкции по изменению размера виртуальных дисков в других гипервизорах доступны по ссылкам: KVM , VMWare .
admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago