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

Поделитесь статьёй с друзьями


Необходимость увеличить объём жесткого диска виртуальной машины возникает часто, но не часто возникает вопрос как это сделать – просто берём и делаем. А вот вопрос уменьшить размер виртуального диска возникает реже, но почти всегда все задаются вопросом – как? И возникает он потому, что, имея инструмент управления виртуальными машинами (Диспетчер Hyper-V), мы ни где не можем найти нужную кнопку, нужную функцию.

На самом деле она есть. Но появляется она лишь в тот момент, когда уменьшить размер диска действительно можно.

Зачем может потребоваться уменьшение диска? У каждого может быть своя причина. Мне, например, потребовалось мигрировать виртуальные машины из одной системы (Hyper-V), в другую (VMware). Имея виртуальный диск в 100Гб, а реально занято под систему и сопутствующие файлы чуть больше 30 Гб – понимаешь, что 70% этого пространства занято просто нулями, которые только замедляют такие процессы, как конвертация и передачу этого диска по сети с одного сервера на другой. А если таких машин несколько, то имеет смысл перед процедурой смены системы виртуализации упростить себе жизнь и время ожидания процессов, тем более, что процесс уменьшения объёма виртуального диска не занимает много времени. И в сравнении с другими нужными мне процессами – это капля в море.

Для уменьшения размера виртуального диска, как ни странно, нам понадобится сам диск. Поэтому виртуальную машину сначала выключаем. Расположение файла можно посмотреть под оснасткой «Диспетчер Hyper-V». Для этого выбираем необходимую виртуальную машину, открываем ее параметры, находим нужный нам жесткий диск и смотрим путь, где расположен файл этого диска:

Как уменьшить размер виртуального дискаКак видим, формат виртуального диска —  *.vhdx. Запоминаем где находится наш диск. Далее его нужно подключить к любому компьютеру под управлением Windows как виртуальный диск. У меня это получилось под Windows 10, но НЕ получилось под Windows 7 – возможно это зависит от версии Hyper-V, где был создан виртуальный диск, но я не задавался этим вопросом. Для подключения виртуального HDD нам нужно попасть в раздел управления дисками на нашем компьютере. Это можно сделать, например, нажав правой кнопкой мыши на ярлыке «Компьютер» («Этот компьютер», «Мой компьютер») и выбрать раздел «Управление» (потребуются права администратора). Должно открыться окно «Управление компьютером», в котором нужно раскрыть раздел «Запоминающие устройства» и выбрать «Управление дисками»:

Как уменьшить размер виртуального дискаСправа в окне «Действия» нужно в меню «Дополнительные действия» выбрать «Присоединить виртуальный жесткий диск»:

Как уменьшить размер виртуального дискаИ указать полный путь до виртуального диска. Можно даже указать путь по сети – главное ,чтобы у Вас был полный доступ к файлу виртуального диска. Так же сам файл диска не должен использоваться никакой программой, в частности виртуальной машиной: Как уменьшить размер виртуального диска

Рекомендую всегда соблюдать меры предосторожности и важные манипуляции делать над копиями. Поэтому рекомендую виртуальную машину Hyper-V остановить, сделать копию виртуального диска этой машина (просто скопировать файл), и уже над копией проводить манипуляции с размером виртуального диска.

Вот так у нас выглядит подключенный виртуальный жесткий диск:

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

Если посмотреть свойства диска (на диске кликнуть правой кнопкой мыши и выбрать в контекстном меню «Свойства»), то мы увидим, что из 100Гб свободно 70Гб. Поэтому для сервера, на котором большой объём жесткого диска не нужен – его можно уменьшить до 50Гб. Как уменьшить размер виртуального диска

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

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

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

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

После процесса сжатия мы увидим, что наш диск теперь разделен на 2 раздела: основной и нераспределенный:

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

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

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

Но это еще не всё. Наш файл-диск как имел вес 100ГБ, так и остался столько весить – нули из файла по-прежнему занимают место под не распределенную область на нашем виртуальном диске. Для того, чтобы от нее избавиться – нужно вернуться на Hyper-V сервер и в настройках диска виртуальной машины, к которой он присоединён, сделать манипуляцию уменьшения размера диска – у нас теперь должна появиться кнопка, которая позволит нам реализовать требуемую операцию.

В настройках виртуальной машины на Hyper-V подключаем копию нашего модифицированного диска и нажимаем в его свойствах кнопку «Правка»:

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

В «Мастере изменения виртуального диска» наконец-то появляется нужная нам опция «Сжать»: Как уменьшить размер виртуального диска

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

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

Естественно Мастер подсказывает нам в каких пределах мы можем изменить диск, установив его новый размер. Чтобы убрать всю не размеченную область рекомендую установить то минимальное значение, которое предлагает Мастер: Как уменьшить размер виртуального диска Как уменьшить размер виртуального диска

Теперь старый диск можно отключить и оставить новый, сделав его основным для загрузки ОС — проверьте, что виртуальная машина корректно загружается.

В итоге, сокращение виртуального диска в 2 раза позволило мне сохранить время при копировании диска по сети, а так же время конвертации в другую систему виртуализации.



Поделитесь статьёй с друзьями

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *