Уменьшение размер диска виртуальной машины

Уменьшение размер диска виртуальной машины

Всем привет сегодня я хочу вам рассказать, о очень полезной функции которой к сожалению нет у VMware ESXI 5.5, а есть у Hyper-V начиная с Windows Server 2012. Это функция уменьшения размера виртуального диска. Сделано очень удобно, так как это может спасти администратора виртуализации он неправильно спланированной инфраструктуры виртуальной машины.

Как уменьшить виртуальный диск hyper v

Напомню, что VMware тоже давал некоторые методы по уменьшению vmdk файлов, но там это делалось не очень удобно через конвертер. В MS как ни странно данный процесс сделали в виде удобного мастера.

Итак как же уменьшить виртуальный диск hyper v, для этого логинимся в свою виртуальную машину, у меня на ней установлен Windows Server 2012 R2, но это не принципиально. Вам нужно зайти в оснастку Управление дисками.

Выбираем диск который следует уменьшить, щелкаем по нему правым кликом и нужна нажать Сжать.

Задаете размер сжимаемого пространства и жмете сжать.

в итоге у вас появится не размеченное пространство на вашем локальном диске, за счет него мы и уменьшим диск hyper-v.

Теперь выключаем виртуальную машину и заходим в ее свойства.

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

Откроется мастер изменения виртуального жесткого диска

Как видите, тут тоже есть функция Сжать, она то и позволит в hyper-v уменьшить размер диска, жмем далее.

Мастер вам подскажет до какого минимума можно сжать диск.

Осталось только проверить, запускаем виртуалку и открываем Мой компьютер. И как видите, все успешно сжалось.

Как увеличить виртуальный диск hyper v

Для увеличения виртуального жесткого диска, следует в мастере изменения виртуального жесткого диска, выбрать пункт развернуть, перевод конечно очень корявый. Так, что увеличить диск hyper v, ни чуть не сложнее.

Уменьшить с помощью Powershell

давайте тоже самое проделаем из командной строки сильного языка:) Первым делом у нас есть виртуальная машина dc1, давайте ее закинем в переменную и посмотрим ее свойства.

  • File Size > по сути это нынешний размер файла VHD. Отображает, сколько реально используется.
  • Size > нынешний размер виртуального диска. Если VHD динамический, то вам отобразят максимальный размер, до которого он может увеличиться
  • Minimum Size > отображает до какого размера можно уменьшить VHD.
    Имеем динамически расширяемый VHD — размером 40Gb, из которых занято > 20Gb. Как видите свободное пространство имеется, но оно практически одинаково с минимальным, и уменьшить диск, не выйдет.

Как и в графическом варианте, виртуальная машина должна быть потушена.

Берем и монтируем данный виртуальный диск к нашей системе на физическом компьютере, ее еще называют родительской. Посмотрим свойства данного виртуального диска

Читайте также:  Тесты драйва тойоты ленд крузер

Запоминаем номер диска и поглядим все разделы на нем с помощью команды

Нас интересует раздел, имеющий букву диска. Уменьшим его до 30Gb и проверим:

Как видите команда прошла успешно, давайте отмантируем данный VHD:

И уменьшим его до минимально значения:

Популярные Похожие записи:

4 Responses to Как в Hyper-V уменьшить размер диска

Добрый день.
Пытаюсь уменьшить диск первым способом, но в мастере изменения виртуального жесткого диска вижу только два варианта «convert» и «expand»
Случайно выделил 96 гигов не на тот виртуальный диск. Присоединить неразмеченное пространство с одного виртуального локального диска на второй вряд ли возможно, а дарить столько памяти не тому диску обидно.
Вторым способом сжимать боюсь, так как в программировании не силен и боюсь потерять важные данные
Может я что-то упустил?

Какая у вас версия Hyper-V?

Если диск не уменьшается необходимо прогнать на нем командлет Optimize-VHD

Спасибо за мануал! C Windows разделом понятно. А как в Hyper-V уменьшить размер диска Linux (ext4)?

OSBoy notes.

Записки обо всём.

Изменение размера виртуального диска в VirtualBox

Увеличение размера

Предположим, что нам стало не хватать дискового пространства на виртуальной машине. Можно, конечно, добавать ещё один виртуальный диск, но в Oracle VirtualBox, также, есть возможность увеличить уже имеющийся виртуальный диск.
Для увеличения размера виртуального диска, сначала удаляем все снимки состояния данной ВМ. Затем воспользуемся утилитой VBoxManage, идущей в комплекте с Virtualbox. Открываем командную строку и выполняем в ней команду, подобную этой:

«C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» modifyhd «E:\VirtualBox\VMs\Debian\Debian_disk1.vdi» —resize 102400

  • C:\Program Files\Oracle\VirtualBox\ — путь до каталога с установленной VirtualBox (у вас может отличаться);
  • E:\VirtualBox\VMs\Debian\Debian_disk1.vdi — путь до образа виртуального диска, размер которого мы изменяем;
  • 102400 — размер в мегабайтах, до которого мы хотим увеличить наш виртуальный диск (в данном случае — 100ГБ).

После выполнения данной команды, запускаем виртуальную машину и можем видеть, что на виртуальном диске появилось нераспределённое пространство, на которое теперь можно растянуть нужные разделы, средствами гостевой ОС, либо загрузившись с LiveCD (например, можно воспользоваться diskmgmt.msc или Acronis Disk Director в Windows, GParted в Linux, и т.п. утилитами ).

Однако, опция —resize работает только для увеличения размера диска. Для уменьшения — алгоритм будет другой.

Уменьшение размера

В VirtualBox очень удобно использовать динамически расширяющиеся жёсткие диски, которые не резервируют сразу всё отведённое им место на хост-машине, а расширяются по мере необходимости. Но при всём их удобстве, есть у них и недостаток: если с такого диска удалить файлы, то размер его образа на хост машине не уменьшится, а останется прежним.

Чтобы cжать образ этого диска до минимальных размеров, для начала нужно очистить его неразмеченные области (от остатков удалённых файлов). Для этого, в гостевой ОС нужно воспользоваться специальной утилитой, обнуляющей свободные секторы.

В Windows — можно использовать утилиту Sdelete. Утилита не требует установки, ее достаточно распаковать и запустить из командной строки команду:

Читайте также:  Gc8 китайский крузак тест драйв

В Linux — есть утилита zerofree.

В моём примере на ВМ установлен Debian. Устанавливаем zerofree через систему управления пакетами (если ещё не установлена):

# apt install zerofree

Для очистки раздела, его нужно отмонтировать, либо перемонтировать в режиме read-only (только чтение), иначе zerofree выдаст ошибку. Если требуется перемонтировать коренной раздел, то сначала нужно перейти в однопользовательский режим:

В данном случае будем чистить раздел /dev/sda3 , который у меня смонтирован в /home — на нём хранятся все пользовательские файлы:

# mount -o remount,ro -t ext4 /dev/sda3

Запускаем zerofree для очистки нужного раздела:

# zerofree -v /dev/sda3

Для выхода из однопользовательского режима выключаем ВМ:

После очистки диска и выключения ВМ, удаляем все снимки состояния данной ВМ, запускаем консоль и выполняем команду:

«C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» modifyhd «E:\VirtualBox\VMs\Debian\Debian_disk1.vdi» —compact

Эта команда сожмёт образ виртуального диска до минимального размера.

Следует отметить, что в интернете есть информация, что можно увеличить размер только ДИНАМИЧЕСКИХ виртуальных дисков форматов VDI или VHD, уменьшить — только VDI. Лично я использую динамические диски в формате VDI (родной формат VirtualBox), с которым всё вышеописанное точно работает. С другими форматами не эксперементировал.

Как уменьшить размер диска Hyper V в интерфейсе и Powershell

12 сентября 2019

Уменьшить размер диска Hyper V можно через диспетчер виртуальных машин и с помощью Powershell. Оба варианта мы покажем на примерах.

В Hyper V возможно уменьшить тип диска VHDX, относящийся ко второму поколению виртуальных машин (Generation 2). Тип VHD уменьшить нельзя. Если вы не уверены в типе винчестера его можно проверить в свойстве виртуальной машины — этот способ показан на скриншоте ниже. Если вы используете VHD можно либо конвертировать тип в VHDX либо скопировать содержимое при создании нового диска Hyper V.

Разницы в сжатии динамических и фиксированных устройств нет.

Перед уменьшением диска Hyper V нужно зайти в саму виртуальную машину где этот файл подключен и открыть диспетчер управления дисками:

Аналогично увеличению диска Hyper V нужно выбрать тот, размер которого необходимо уменьшить. Если есть не используемые разделы, то можно их удалить — эффект тот же. Если таких разделов нет, то нужно в выплывающем меню выбрать «Сжать том. » (Shrink). После нажатия кнопки пойдет расчет места, которое возможно освободить:

В новом окне нужно выбрать размер, который будет вычтен из выбранного диска. «Доступное для сжатия пространство» — максимальный размер, на который мы можем уменьшить раздел. Изначально я попробовал уменьшить на 1 Гб, но в дальнейшем Hyper V отказался уменьшать диск на такое пространство. С уменьшением на 10 ГБ проблем с Hyper V не было. Под «отказался» я имею виду, что не появлялась возможность уменьшения в диспетчере Hyper V. Какой минимальный размер для сжатия точно сказать не могу, но как я и написал при 10 Гб работает нормально.

Читайте также:  Volvo s40 ремонт двигателя

После завершения процесса сжатия у нас появится неразмеченная область, выделяющиеся черным цветом — это та часть, которая будет убрана в дальнейшем через диспетчер Hyper V. Выключать виртуальную машину не обязательно, но я бы рекомендовал это сделать что бы избежать возможных проблем.

Теперь нужно зайти в настройки виртуальной машины гипервизора:

В открытом окне выбрать виртуальный жесткий диск который вы сжимали и нажмите кнопку редактирования. Тут же мы можем увидеть тип диска, который вы используете VHD или VHDX.

В первом окне ничего нельзя изменить, так как мы открывали конкретный VHDX файл, а не из диспетчера управления дисками Hyper V. Открываем следующее окно, где увидим возможность Hyper V уменьшения размера диска (Сжатие/Shrink). Выбираем ее:

Уменьшить виртуальный диск Hyper V можно на тот размер, на который мы освободили внутренний раздел машины:

На последнем окне еще раз убеждаемся, что введенные данные верны и подтверждаем их:

Виртуальный диск Hyper V уменьшен.

Уменьшение диска Hyper V в Powershell

Первое что нужно сделать это узнать имя виртуальной машины Hyper V для сжатия диска:

Моя виртуальная машина называется Win10 и на примерах вам нужно изменить ее имя на свое. Нам нужно проверить, что файл виртуального винчестера имеет тип VHDX, возможности уменьшения VHD нет:

Далее включаем виртуальную машину:

Подключимся к операционной системе виртуальной машины. Если вы подключаетесь с хоста гипервизора проблем быть не должно, но возможно потребуется настроить средства для удаленных команд Powershell.

Либо можно запустить консоль Powershell с самой виртуальной машины.

Сейчас нам нужно уменьшить раздел внутри виртуальной машины что бы в последующем это место убрать через возможности гипервизора. Уменьшить можно и через diskpart, но описывается вариант с Powershell. Нужно выбрать раздел, с которого будет убираться место:

Конечно не стоит уменьшать размер загрузочного раздела или системного до минимального размера.

Далее нам нужно узнать насколько возможно уменьшить раздел. В этой команде я передаю только букву раздела:

Если команда запущена не под администратором, то вы увидите ошибку:

Get-PartitionSupportedSize: клиенту не удалось получить доступ к ресурсу CIM.

Если важно увидеть размер в гигабайтах, то можно сделать так:

Если нужно изменить данные на MB или TB просто замените соответствующие буквы.

В этой команде мы указываем конечный размер раздела, а не сколько хотим от него отнять. В случае работы с интерфейсом возможность уменьшения VHDX в диспетчере гипервизора не была активна при неразмеченном пространстве в 1GB. Эта ситуация исправилась при 10GB.

Можно указывать и другую единицу измерения:

Виртуальную машину можно оставить включенной, но я бы рекомендовал выключить:

Этой командой мы увидим, на сколько мы можем уменьшить диск Hyper V. Я использую конвейер что бы не прописывать путь к файлу VHDX:

Команда ниже в Hyper V уменьшает размер диска. Я вставил изначально значение, но можно использовать и варианты с примеров выше:

Убедимся что диск виртуальной машины Hyper V уменьшен:

Оцените статью