Назад | Перейти на главную страницу

Сжатие образов VHD-дисков, когда они динамические

У меня есть сервер Hyper-V, работающий на WS2012. У меня Windows 7 работает как динамический диск. Я удаляю файлы и многое другое изнутри, чтобы попытаться сэкономить место на диске и уменьшить размер. Однако размер не уменьшается даже после того, как я выключил его и запустил сжатие на VHD.

Нужно ли мне делать что-то еще, что позволит мне сжать виртуальный жесткий диск, чтобы предотвратить сбой виртуальной машины из-за нехватки места на диске?

РЕДАКТИРОВАТЬ: Я также смонтировал диск и запустил DEFRAG: E: /V /X для дефрагментации диска в надежде, что я смогу сжать .VHD, но размер по-прежнему остается более 30 ГБ по сравнению с фактическим используемым пространством внутри диска.

Нужно ли мне заполнить пустое пространство для виртуального жесткого диска перед запуском параметра сжатия из Hyper-V?

Закончилось место на диске:

VHD:

Диск внутри VHD:

PS C:\Users\Administrator> get-vhd

cmdlet Get-VHD at command pipeline position 1
Supply values for the following parameters:
Path[0]: X:\NAME.VHD
Path[1]:


ComputerName            : NAME
Path                    : X:\NAME.VHD
VhdFormat               : VHD
VhdType                 : Dynamic
FileSize                : 86707423744
Size                    : 256060514304
MinimumSize             : 256059113472
LogicalSectorSize       : 512
PhysicalSectorSize      : 512
BlockSize               : 2097152
ParentPath              :
FragmentationPercentage : 16
Alignment               : 0
Attached                : False
DiskNumber              :
IsDeleted               : False
Number                  : 

Встроенная поддержка сжатия файлов виртуальных дисков Hyper-V была представлена ​​в Windows Server 2012 и новом формате файлов VHDX. Если вы используете устаревший формат VHD, вам необходимо сначала преобразовать файл в VHDX.

Прежде чем начать, по возможности убедитесь, что у вас есть хорошая резервная копия. Вам это не нужно, но это всегда разумно.

Обе эти операции можно выполнить с помощью пользовательского интерфейса диспетчера Hyper-V. Сначала необходимо выключить виртуальную машину; эти операции не могут быть выполнены онлайн. Выберите VHD и выберите «редактировать». В итоговом мастере есть как параметр преобразования, так и параметр сжатия. Запустите мастер один раз, чтобы преобразовать, а затем еще раз, чтобы сжать новый VHDX.

Вы также можете выполнить то же самое с помощью Powershell с помощью командлетов Convert-VHD и Resize-VHD.

Вы можете найти хорошее пошаговое руководство на этой странице;

http://www.techrepublic.com/blog/data-center/working-with-and-resizing-windows-server-2012-vhds/

Я должен добавить, что обычно нет недостатков в конвертации в VHDX; это более современный масштабируемый формат файлов с множеством преимуществ (краткое описание Technet здесь: http://technet.microsoft.com/en-gb/library/hh831446.aspx). тем не мение, если вы хотите преобразовать обратно в VHD после выполнения процесса сжатия, вы можете это сделать; это полностью обратимая операция.

Надеюсь, это поможет.