Разное

Уменьшить размер vhd: Уменьшение размера фиксированного VHD с помощью VHD Resizer

08.09.1981

Содержание

Уменьшение размера фиксированного VHD с помощью VHD Resizer

Рассмотрим пример, когда созданный ранее виртуальный диск VHD фиксированного размера потребовалось уменьшить. В нашем примере на одном из виртуальных серверов с Windows Server 2008 R2 имеется NTFS том D:\ занимающий 100% пространства отдельного виртуального VHD диска размером 160Gb. Ранее емкость этого диска использовалась для сетевого файлового ресурса, а теперь на этом диске размещён контент локального сервера WSUS, который занимает гораздо меньше места, и поэтому появилось желание уменьшить размер этого диска.

Для начала через оснастку управления дисками Disk Management (diskmgmt.msc) внутри виртуального сервера выполним сжатие логического тома до того размера который мы хотим получить в конечном счете – в контекстном меню тома выберем пункт Shrink Volume

В единственном доступном для редактирования значении введём то количество мегабайт которое мы собираемся отрезать от размера тома.

В нашем примере мы укажем значение которое позволит уменьшить размер тома с 160Gb до 100Gb

После запуска операции Shrink консоль управления дисками может на некоторое время “задуматься”. Факт того что операции уменьшения тома выполнились успешно можно отследить в системном журнале событий Application где по окончании процесса будет зарегистрировано несколько событий с кодом 258 и примерно таким содержанием:

  • The disk defragmenter successfully completed shrink estimation on WSUS (D:)
  • The disk defragmenter successfully completed shrink on WSUS (D:)

После успешного окончания процесса сжатия в консоли управления дисками появится соответствующий объём не используемого под логические тома места. Именно это место мы и планируем отсечь от физического файла фиксированного VHD. Но прежде чем приступить к шагу непосредственного изменения VHD будет правильно сделать полную резервную копию всей VM.

Для изменения размера VHD в меньшую сторону мы воспользуемся утилитой VHD Resizer версии 1.0.42. Несмотря на то что эта последняя версия утилиты датируется началом 2007 года, она справляется со своими задачами и сегодня. Утилита может работать без предварительной установки, то есть можно один раз её где-то установить и просто при необходимости копировать на тот сервер где надо выполнять манипуляции с VHD файлами. Единственным требованием которое я увидел для работы утилиты является наличие Microsoft .Net 2.0 Framework

Перед началом работы с VHD файлом с этой утилитой, этот самый файл не должен находиться в использовании, то есть виртуальная машина к которой он подключён должна находиться в выключенном состоянии. Стоит так же помнить про то что используемое антивирусное ПО не должно пытаться сканировать VHD файлы. Тех кто не соблюдает эти простые условия, при попытке открытия VHD из утилиты могут получить сообщение «Invalid Vhd file, please select another»

В интерфейсе утилиты в поле Source Vhd to Resize выбираем имеющийся у нас исходный VHD файл, после чего сразу отображается его тип и текущий размер. В поле Destination Vhd вводим имя создаваемого файла VHD и указываем его размер.

В значениях Min и Max указаны значения минимального и максимального размера в который может быть преобразован исходный файл. Не смотря на то, что в моём случае утилита отображала в качестве минимально возможного значения 102401 Mb, мне так и не удалось указать значение меньше чем 102402 Mb

После нажатия кнопки resize до окончания процесса в моём случае прошло чуть больше часа. То есть это процесс не быстрый и лучше планировать такую операцию на нерабочее время. Так же стоит отметить, что в процессе работы утилиты исходный VHD файл не изменяется, а создаётся новый файл указанного размера, поэтому прежде чем выполнять такую операцию, нужно подумать о планировании свободного места на дисковом хранилище хоста виртуализации.

Далее в оснастке управления виртуальными машинами Hyper-V Manager открываем свойства нашего виртуального сервера и меняем ссылку на VHD.

При этом желательно не изменять Расположение (порядок диска на виртуальном контроллере) 

Удостовериться в том что заголовки VHD файла являются читаемыми можно жмакнув по кнопке проверки

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

 

Поделиться ссылкой на эту запись:

Похожее

Как изменить размер раздела VHD / VHDX без диспетчера Hyper-V?

В этой статье рассказывается, как изменить размер раздела VHD / VHDX без диспетчера Hyper-V, изменить размер виртуального раздела с физического компьютера.

Относится к

: Windows 10, Windows 8, Windows 7, Windows Server 2019, Windows Server 2016, Windows Server 2012 (R2), Windows Server 2008 (R2), Windows Server 2003 (R2).

То же самое с физическим жестким диском, вы можете изменить размер виртуальных разделов для виртуальной машины Hyper-V без потери данных. Изменить размер раздела очень просто, установив NIUBI Partition Editor Hyper-V VM, но возможно ли изменить размер раздела VHD / VHDX без Hyper-V? Ответ да, эта статья представляет подробные шаги для изменить размер виртуального раздела VHD / VHDX и диска без Hyper-V.

Подготовка перед изменением размера виртуального раздела VHD / VHDX

Перед началом изменения размера виртуальных разделов необходимо сделать две вещи:

1. Удалите все контрольные точки, связанные с VHD или VHDX, размер которых вы хотите изменить. В противном случае вы получите сообщение об ошибке ниже и не сможете загрузиться в Hyper-V Manager после изменения размера виртуальных разделов.

Как показано в сообщении об ошибке «Несоответствие идентифицированного родительского виртуального жесткого диска и разностного диска

Это легко понять, размер разделов после изменения размера отличается от размера в Checkpoint.

2.

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

Как изменить размер виртуального диска VHD / VHDX без диспетчера Hyper-V

Шаг 1: Откройте Управление диском in физический компьютер. (Правый клик Windows пометьте слева внизу или нажмите Windows и R ключи вместе, введите diskmgmt.msc и нажмите Enter.)

Шаг 2: Нажмите на Действие меню> Присоединить виртуальный жесткий диск

Шаг 3: Нажмите на Приложения выберите файл VHD / VHDX и затем нажмите OK, чтобы продолжить.

Затем этот виртуальный диск прилагается. Как видно на скриншоте, значок диска 2 отличается от двух других физических жестких дисков.

Шаг 4: Скачать и установить NIUBI Partition Editor на физический сервер или персональный компьютер. То же самое с управлением дисками, вы увидите все разделы физического и виртуального диска в NIUBI Partition Editor, В виртуальном диске 2 диск K является системным разделом в VHD / VHDX.

Шаг 5: Щелкните правой кнопкой мыши диск M: и выберите «Resize/Move Volume», тянуть левая граница направо во всплывающем окне или введите сумму в поле «Ранее не размеченное пространство»напрямую. Тогда диск D будет сжат, а с левой стороны от него будет оставлено нераспределенное пространство.

Шаг 6: Щелкните правой кнопкой мыши диск K: и выберите «Resize/Move Volume»снова во всплывающем окне перетащите правая граница вправо, чтобы объединить это нераспределенное пространство. Затем диск K расширяется в виртуальном режиме.

Шаг 7: Нажмите на Apply в левом верхнем углу, чтобы вступить в силу. (Размеры разделов не изменятся до щелчка Apply подтвердить.)

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

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

Как изменить размер виртуального жесткого диска VHD / VHDX без диспетчера Hyper-V

Виртуальный диск VHD / VHDX лучше, чем физический жесткий диск с фиксированным размером, и его размер можно быстро и легко изменить. Для выполнения этой задачи вы можете использовать диспетчер Hyper-V или PowerShell без Hyper-V.

Примечание: перед расширением виртуального диска с помощью PowerShell вы также должны закрыть гостевую виртуальную машину и удалить все связанные контрольные точки.

Как изменить размер / расширить VHD / VHDX диск без Hyper-V:

  1. Откройте PowerShell с правами администратора на панели быстрого запуска, в меню Пуск или в другом месте на вашем физическом компьютере.
  2. Тип Resize-VHD -Path ‘E: \ hyperv.vhdx’ -SizeBytes 500 ГБ

Объяснение:

  1. ‘E: \ hyperv.vhdx’ означает абсолютный путь и имя файла .vhd / .vhdx с кавычками.
  2. 500 ГБ означает расширение этого виртуального жесткого диска до 500 ГБ, не добавляя 500 ГБ.

После расширения виртуального диска дополнительное пространство будет показано как Нераспределенный на конецзатем беги NIUBI Partition Editor и объединить нераспределенное пространство с другими разделами. Следуйте инструкциям в видео:

  • Чтобы расширить любой непрерывный раздел, просто щелкните его правой кнопкой мыши, чтобы запустить «Resize/Move Volume», а затем перетащите границу, чтобы объединить Незанятое пространство.
  • Чтобы расширить несмежный раздел с Нераспределенным пространством, вам нужно переместить Нераспределенное пространство, чтобы оно было смежным с обеих сторон.

Помимо изменения размера раздела физического и виртуального диска, NIUBI Partition Editor помогает делать много других операций.

СКАЧАТЬ

Изменение размера VHD диска — Для сисадминов и не только

{jcomments on}Многие наверное сталкивались с такой необходимостью, необходимостью уменьшения, увеличения или преобразования из динамически расширяемого в фиксированный и наоборт VHD диска.

Hyper-V

Необходимо запустить мастер работы с виртуальными дисками, открыв контекстове меню виртуального сервера и выбрав элемент Edit Disk…

После выбора диска, данный мастер позволет:

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

Windows7

Опишу способы которыми лично я пользуюсь.

Для уменьшения размера жесткого диска, можно данный диск уменьшить при помощи консоли управления жесткого диска, подключив данный диск посредством Attach VHD, бырать диск в списке дисков, в конекстом меню выбрать Shrink. ..


Для увеличения или уменьшения вирутального диска можно воспользоваться утилитой командной строки diskpart:

Просмотреть наличие виртуальных дисков (если они подцеплены):

list vdisk

Необходимо выбрать нужный VHD:

SELECT VDISK file=»нужный_VHD»

Расширить диск до необходимого размера командой:

EXPAND VDISK MAXIMUM=»новый_размер_в_мегабайтах»

Уменьшить можно командой Shrink, просмотр на сколько можно уменьшить:

Shrink

Уменьшеам на требуемый (позволительный) размер:

shrink desired=300

Увеличение виртуального жесткого диска во время установки Windows7

VhdResizer

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

VhdTool

Данной утилитой можно расширять не только VHD диски но и файлы снимков AVHD.

Ниже приведен пример расширения файла снимка с 11Gb до 21Gb:

VhdTool.exe /extend e:\old\MySRV_EA532E0F-64CB-48A5-9EE9-C7C938F2CEC7_2243F389-C6BC-4E12-A322-5C3357F9E335.avhd 21904385536

Просмотреть наличие виртуальных дисков (если они подцеплены):

list vdisk

Необходимо выбрать нужный VHD:

SELECT VDISK file=»нужный_VHD»

Расширить диск до необходимого размера командой:

EXPAND VDISK MAXIMUM=»новый_размер_в_мегабайтах»

Изменение размера VHD диска. — Windows

Многие наверное сталкивались с такой необходимостью уменьшения, увеличения или преобразования из динамически расширяемого в фиксированный и наоборот VHD диска.

Hyper-V

Необходимо запустить мастер работы с виртуальными дисками, открыв контекстное меню виртуального сервера и выбрав элемент Edit Disk

После выбора диска, данный мастер позволяет

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

Конвертировать диск т.е. изменить тип диска с фиксированного в динамический и наоборот.

Расширить т.е. увеличить размер жесткого диска.

Windows7

Для уменьшения размера диска воспользуемся консолью управления жесткими дисками, подключив данный диск посредством Attach VHD, выбрать диск в списке дисков, в контекстном меню выбрать Shrink

Утилита командной строки diskpart:

Для увеличения или уменьшения виртуального диска можно воспользоваться утилитой командной строки diskpart:

Просмотреть наличие виртуальных дисков (если они подцеплены):

 

 

Необходимо выбрать нужный VHD:

 

SELECT VDISK file=»нужный_VHD»

 

Расширить диск до необходимого размера командой:

 

EXPAND VDISK MAXIMUM=»новый_размер_в_мегабайтах»

 

Уменьшить можно командой Shrink, просмотр на сколько можно уменьшить:

 

 

Уменьшаем на требуемый (позволительный) размер:

 

 

VHDResizer

При запуске программы открывается окно выбора VHD диска, после открытия в статусной строке отображается объем диска, для преобразования необходимо пере сохранить диск в другое месторасположение, при этом указав тип диска и его размер.


Скачать VhdResize-1.0.42.zip

VHDTool

VHD Tool – это отличный инструмент командной строки, который предоставляет полезные функции управления VHD, включая быстрое создание больших по размеру виртуальных жестких дисков

Данной утилитой можно расширять не только VHD диски, но и файлы снимков AVHD.

Создание нового VHD на 10 Гб в текущей директории:

VhdTool.exe /create c:\old\Test.vhd 10737418240

Ниже приведен пример расширения файла снимка с 11Gb до 21Gb: 

VhdTool.exe /extend c:\old\Test.vhd 21904385536
VhdTool.exe /create <FileName> <Size> [/quiet]
VhdTool. exe /convert <FileName> [/quiet]
VhdTool.exe /extend <FileName> <NewSize> [/quiet]
VhdTool.exe /repair <BaseVhdFileName> <FirstSnapshotAVhdFileName> [/quiet]


 

Как перейти в Azure на диск меньшего размера?

Да, вы можете изменить размер на больший. Остановите работу виртуальной машины, измените размер диска на больший, а затем снова запустите виртуальную машину. Уменьшить размер управляемого Azure диска вы не можете.

Как перейти в Azure на диск меньшего размера?

Стандартное неуправляемое хранилище данных рекомендуется создавать с наибольшим возможным размером, например 1 Тбайт, поскольку оплачиваются только записанные данные. Но при наличии хранилища данных класса премиум и управляемых дисков (стандартных и класса премиум), которые будут основаны на размере диска, а не на количестве записанных данных, ситуация меняется.

В Azure невозможно уменьшить размер диска, поэтому процесс, показанный ниже, является самым лучшим вариантом для перехода на диск меньшего размера:

  • Создайте меньший по размеру неуправляемый диск, основываясь на размере целевого диска.
  • Смонтируйте диск к виртуальной машине.
  • Остановите все службы, которые записывают текущие данные на диск.
  • Скопируйте данные с текущего диска данных на новый диск, например: robocopy E:\F:\*.*/j/e/sec/Xd «System Volume Information» «$RECYCLE.BIN»/Xo

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

$vmname = "TestVM"
$lPAddr = "10.1.1.11"
Write-Output "Creating VM $vmname ($IPAddr)"
$user = "iocaladmin"
$password = 'Pa55word!'
$securePassword = ConvertTo-SecureString $password -AsPlainText —Force
$cred = New-Object System.Management.Automation.
PSCredential ($user, SsecurePassword)
$rgname = "Dal-Infra-RG"
SavailSet = Get-AzureRmAvailabilitySet -Name "Dal-Infra-DC-AS"4 -ResourceGroupName $rgname $loc = "EastUS"
$networkname = "Prod-Dal-VNet"
Ssubnetname = "$networkname-Sub1"
SvnetRG = "Dal-VNets-RG"
$VNet = Get-AzureRmVirtualNetwork -Name Snetworkname -ResourceGroupName SvnetRG Ssubnet = get-azurermvirtualnetworksubnetcontig -VirtualNetwork $vnet -Name Ssubnetname SsubnetID = Ssubnet. ld
#	Create VM Object
$vm = New-AzureRmVMConfig -VMName Svmname -VMSize Svmsize -AvailabilitySetld SavailSet.Id $nic = New-AzureRmNetworklnterface -Force -Name (‘nic-’ + Svmname) -ResourceGroupName Srgname 4 -Location Sloe -Subnetld SsubnetID -PrivatelpAddress SlPAddr
#	Add NIC to VM
$vm = Add-AzureRmVMNetworklnterface -VM $vm -Id Snic.ld $vm = Set-AzureRmVMSourcelmage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest $vm = Set-AzureRmVMOSDisk -VM $vm -StorageAccountType StandardLRS -DiskSizelnGB 128'
-CreateOption Fromlmage -Caching ReadWrite -Name "$vmname-0S" $vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName Svmname'
-Credential Scred -ProvisionVMAgent -EnableAutollpdate #Add data disk
SdiskConfig = New-AzureRmDiskConfig -AccountType PremiumLRS -Location Sloe -CreateOption Empty '
-DiskSizeGB 128
SdataDiskl = New-AzureRmDisk -DiskName "$vmname-data1"
-Disk SdiskConfig -ResourceGroupName SrgName $vm = Add-AzureRmVMDataDisk -VM $vm -Name "$vmname-data1" -CreateOption Attach -ManagedDiskld SdataDiskl . Id -Lun 1 #Create Virtual Machine
New-AzureRmVM -ResourceGroupName Srgname -Location Sloe -VM $vm
  • Отмонтируйте больший по размеру диск от виртуальной машины.
  • Измените букву драйвера так, чтобы она соответствовала старому диску данных.
  • Перезапустите приложение.

Теперь вы можете подключиться к управляемым дискам. Обратите внимание, это работает только для дисков данных. Единственный способ уменьшить размер диска с операционной системой — это загрузить VHD локально, уменьшить размер раздела диска внутри гостевой операционной системы, уменьшить размер VHD, выгрузить обратно в Azure, а затем вновь создать виртуальную машину. Очевидно, что такой процесс приведет к значительному простою в работе.

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

Страница Подробности

Прежде чем приступить к работе

Разъяснение цели мастера. Можно создать виртуальный жесткий диск, не выполняя последовательно все этапы работы мастера. Если нажать кнопку Готово на этой странице, мастер создаст динамически расширяемый виртуальный жесткий диск объемом 127 ГБ.

Выберите тип диска

  • Динамически расширяемые виртуальные жесткие диски обеспечивают объем пространства, необходимый для хранения данных. Размер VHD-файла в момент создания диска небольшой, но увеличивается по мере добавления данных на диск. При удалении данных с виртуального жесткого диска размер VHD-файла не уменьшается автоматически. Однако это можно сделать, чтобы уменьшить размер файла виртуального диска после удаления данных, при помощи мастера изменения виртуального жесткого диска.
  • Фиксированные виртуальные жесткие диски обеспечивают необходимую емкость, используя VHD-файл, размер которого задается при создании виртуального жесткого диска. Размер VHD-файла остается постоянным независимо от объема хранимых данных. Однако с помощью мастера изменения виртуального жесткого диска можно увеличить размер виртуального жесткого диска. В этом случае размер VHD-файла также возрастет.
  • Пространство хранения на разностных виртуальных жестких дисках позволяет вносить изменения в родительский виртуальный жесткий диск, не изменяя данный диск. Размер VHD-файла для разностного диска увеличивается по мере сохранения новых изменений на диске.

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

Укажите имя и местонахождение

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

Важно!

Не создавайте виртуальный жесткий диск в папке, помеченной для шифрования. Hyper-V не поддерживает использование носителей данных, если для шифрования VHD-файла применялась шифрованная файловая система (EFS). Однако можно использовать файлы, хранящиеся на томе, на котором применяется шифрование диска BitLocker Windows.

Настройка диска

Параметры для настройки диска различаются в зависимости от выбранного типа диска.

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

Завершение работы мастера создания виртуального жесткого диска

Показывает сведения о настройке, выбранные для виртуального жесткого диска.

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

Страница Подробности

Прежде чем приступить к работе

Разъяснение цели мастера. Можно создать виртуальный жесткий диск, не выполняя последовательно все этапы работы мастера. Если нажать кнопку Готово на этой странице, мастер создаст динамически расширяемый виртуальный жесткий диск объемом 127 ГБ.

Выберите тип диска

  • Динамически расширяемые виртуальные жесткие диски обеспечивают объем пространства, необходимый для хранения данных. Размер VHD-файла в момент создания диска небольшой, но увеличивается по мере добавления данных на диск. При удалении данных с виртуального жесткого диска размер VHD-файла не уменьшается автоматически. Однако это можно сделать, чтобы уменьшить размер файла виртуального диска после удаления данных, при помощи мастера изменения виртуального жесткого диска.
  • Фиксированные виртуальные жесткие диски обеспечивают необходимую емкость, используя VHD-файл, размер которого задается при создании виртуального жесткого диска. Размер VHD-файла остается постоянным независимо от объема хранимых данных. Однако с помощью мастера изменения виртуального жесткого диска можно увеличить размер виртуального жесткого диска. В этом случае размер VHD-файла также возрастет.
  • Пространство хранения на разностных виртуальных жестких дисках позволяет вносить изменения в родительский виртуальный жесткий диск, не изменяя данный диск. Размер VHD-файла для разностного диска увеличивается по мере сохранения новых изменений на диске.

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

Укажите имя и местонахождение

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

Важно!

Не создавайте виртуальный жесткий диск в папке, помеченной для шифрования. Hyper-V не поддерживает использование носителей данных, если для шифрования VHD-файла применялась шифрованная файловая система (EFS). Однако можно использовать файлы, хранящиеся на томе, на котором применяется шифрование диска BitLocker Windows.

Настройка диска

Параметры для настройки диска различаются в зависимости от выбранного типа диска.

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

Завершение работы мастера создания виртуального жесткого диска

Показывает сведения о настройке, выбранные для виртуального жесткого диска.

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

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

Операция «сжатия» VHDX означает нечто иное, чем «компактность»

Многие путают термин «сжатие» с «компактностью» применительно к виртуальным жестким дискам. «Компактная» операция выжимает пустые биты из динамически расширяющегося жесткого диска, чтобы уменьшить объем места, которое они занимают на физическом диске. Сжатие не изменяет максимальный размер диска и не сообщает гостевой операционной системе ничего другого. Кроме того, «компактный» вообще не работает на фиксированных VHDX.Операция «сжатия», тема данной статьи, снижает физическое потребление VHDX и уменьшает размер диска, сообщаемый гостевой ОС.

VHDX Compact против Shrink

На изображении выше показано теоретическое сравнение, чтобы проиллюстрировать различия. Сжатие фиксированного VHDX всегда уменьшает его размер на диске. Уменьшение динамически расширяемого VHDX могло бы, если бы он расширился за пределы нового размера сжатия.

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

Практическое использование VHDX Shrink

Давайте посмотрим на это с точки зрения виртуальной машины:

127 ГБ VHD

На изображении выше представлен вероятный сценарий. Допустим, у вас есть новый системный администратор, который создал новую виртуальную машину с помощью мастера Hyper-V Manager и просто принял все настройки по умолчанию.Если вы когда-либо делали это, то знаете, что эта виртуальная машина родилась с виртуальным жестким диском на 127 ГБ. Вероятно, это чрезмерная сумма, если вы также не собираетесь устанавливать приложения в его загрузочный раздел. Вы можете просто оставить это в покое. Если этот администратор использовал настройки по умолчанию, то этот диск динамически расширяется. Если у него есть только операционная система, он, вероятно, никогда не превысит 30 или 40 ГБ.

Но у вас есть две потенциальные проблемы: то, что он, вероятно, не сильно расширится, не исключает возможности того, что это может произойти.Если вы установите более разумный максимум, вы будете меньше беспокоиться. Во-вторых, новые администраторы могут поверить всему, что они читают в Интернете, поэтому они могут преобразовать диск в фиксированный режим на основе большого количества FUD по этому вопросу. Это оставит вам около 90 ГБ полностью потраченного впустую места.

Вы столкнетесь с другими сценариями. Что следует помнить: Операция сжатия лучше всего работает для VHDX, который был переполнен во время создания.

Невозможно сжать VHDX, содержащий динамический логический диск

Если логический диск внутри VHDX, с которым вы работаете, является динамическим, вы не можете сжать его.Не путайте динамический логический диск с динамически расширяемым VHDX, поскольку это совершенно разные вещи. Быстрый способ определить разницу — на экране «Управление дисками» гостевой системы:

Динамический объем

Контрольными знаками являются слово «Динамический» в столбце Type и в поле дескриптора диска в крайнем левом углу, а также болезненная желто-зеленая окраска полос томов. Диск также не отображается, когда вы запускаете PowerShell «Get-Disk». Видимо, это было сделано намеренно.Diskpart все равно будет работать:

 diskpart
выберите диск 0
список разделов 

Ваш вывод будет отображать Динамические данные для Тип :

Дисковая часть для динамических дисков

Мораль истории: не используйте динамические логические диски. Hyper-V — не единственное, что не знает, что с ними делать. К сожалению, для некоторых продуктов требуются динамические диски. Даже в Microsoft по крайней мере одна команда еще не получила памятку о прекращении использования динамических дисков.Итак, вторичная мораль: если вам необходимо использовать динамические логические диски, выделяйте небольшие ресурсы, потому что вы всегда можете их увеличить. Если это звучит знакомо, то это потому, что я высказал вам ту же мораль в начале статьи.

Невозможно сжать VHD

Не существует официального инструмента для сжатия VHD. Я видел инструмент, который мог бы, но все ссылки, которые я могу найти, устарели. Официальной поддержки у него никогда не было.

Как определить право VHDX на сжатие

Вы можете очень легко узнать, можете ли вы сжать виртуальный диск, и если да, то насколько вы можете его сжать.Используйте Get-VHD для файла целевого виртуального диска. Найдите поля Size и MinimumSize .

Если поле MinimumSize пусто, как показано на следующем снимке экрана, то содержащийся в нем логический диск, скорее всего, является динамическим (опять же, не путать с динамически расширяющимся). Другая возможность состоит в том, что файловая система повреждена. Это поле также начинается как пустое, пока операционная система не инициализирует содержащийся диск.

Get-VHD на VHDX, содержащем динамический диск

Более нормальный вывод выглядит следующим образом:

Get-VHD на VHDX, содержащем базовый диск

Обратите внимание, что VhdType здесь — Dynamic , для динамического расширения.Это не помешает вам уменьшить его. Однако этот диск также не подлежит уменьшению, поскольку его минимальный размер и размер идентичны. Этот диск почти полностью пуст; просто посмотрите FileSize . Даже там, вероятно, много пустых блоков. Проблема здесь в разнице между , используемым и , выделенным . Внутри виртуальной машины, или, точнее, внутри таблицы распределения содержащегося диска, все пространство было заявлено (выделено), даже если большая его часть пуста.Чтобы этот диск можно было сжать, минимальный размер должен быть меньше размера .

Как подготовить гостевую файловую систему к сжатию

Прежде чем вы сможете сжать сам VHDX, вы должны освободить место на логическом диске гостевой системы. Эти инструкции работают только для Windows. Вы также можете сжать файловые системы Linux, но инструменты и методы различаются в зависимости от файловой системы и дистрибутива. Найдите инструкции, относящиеся к вашей настройке (читатели предоставили некоторые из них в комментариях ниже!), Следуйте им, а затем переходите к следующим разделам здесь, чтобы сжать сам VHDX.

Для сжатия VHDX необходимо удалить раздел или том в самом конце логического диска или сжать его. Удалить раздел или том легко; в этих инструкциях будет показано только, как их уменьшить. Помните: Операцией сжатия можно освободить только место в КОНЦЕ диска. Удаление или сжатие раздела или тома с начала или до середины не даст операции сжатия места для работы.

Как правило, вы всегда должны делать новую резервную копию перед выполнением каких-либо операций с диском.

Как уменьшить объем тома с помощью управления дисками

  1. В «Управлении дисками » внутри гостевой системы щелкните правой кнопкой мыши том или раздел в конце диска и выберите Сжать том .

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

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

    Запрос на усадку

  3. Обратите внимание! То, что вы видите сейчас, безусловно, должно занимать высокое место в любом списке самых запутанных диалоговых окон в истории.Первое поле — единственное, с которым все понятно: текущий размер тома. Второе поле неплохое, но для ясности: говорит вам, сколько места можно отнять . Это , а не , указывающий минимальный размер. Следующие два поля застают многих врасплох. Поле, которое вы можете ввести, — это , а не , как вы хотите, чтобы окончательный размер диска был. Это количество места, которое вы хотите удалить. Нижнее поле автоматически вычисляется при изменении числа, показывая прогнозируемый окончательный размер диска.Некоторые люди, читающие диалог, понимают его по формулировке, но их меньшинство. Большинство людей пропускают часть чтения и просто вводят желаемый окончательный размер и в итоге получают диск неожиданного размера. Итак, достаньте свой калькулятор и вычтите желаемую сумму из верхнего числа. Введите результат в текстовое поле. В моем случае я хочу, чтобы окончательный том был размером 60 ГБ, поэтому:

    Диалог сжатия

  4. После нажатия Shrink и небольшой задержки вы должны увидеть что-то вроде этого:

    Уменьшенный объем

Теперь на виртуальном жестком диске будет достаточно места для сжатия, что можно проверить с помощью Get-VHD.

Как уменьшить объем с помощью PowerShell

Процедура PowerShell для сжатия тома намного быстрее и проще, чем Управление дисками.

  1. Узнайте, насколько можно сжать том с помощью Get-PartitionSupportedSize. Вы можете использовать Get-Help, чтобы узнать обо всех способах использования этого командлета, но Get-PartitionSupportedSize -DriveLetter, вероятно, самый простой.

    Размер тома в PowerShell

  2. Теперь просто закончите с Resize-Partition и параметром Size .Чтобы указать, какой раздел вам нужен, DriveLetter снова работает, но вы можете использовать все те же селекторы, которые были у вас с Get-PartitionSupportedSize. Конечно, вы можете использовать Get-Help, чтобы увидеть их. Вам не нужно заниматься математикой; пусть PowerShell сделает тяжелую работу с суффиксами:

    Изменение размера раздела

Проверьте свои изменения с помощью Get-PartitionSupportedSize или управления дисками.

[thrive_leads id = ’17165 ′]

Как уменьшить объем с помощью DISKPART

DISKPART — самый сложный из трех показанных методов, поэтому используйте его только в системах, в которых нет управления дисками или PowerShell.

  1. В командной строке с повышенными привилегиями введите DISKPART и нажмите [Enter] , чтобы запустить интерактивную оболочку (вы не можете сделать это в удаленном сеансе PowerShell).
  2. В ответ на приглашение DISKPART введите список дисков и нажмите [Enter] .

    Диск со списком DISKPART

  3. В столбце Диск ### найдите номер диска, который вы хотите использовать. Выберите этот номер диска следующим образом: выберите диск 0.

    DISKPART выберите диск

  4. Теперь запустите список тома.

    Объем списка DISKPART

  5. Вы можете определить том по букве, этикетке или размеру. Выберите его, как вы выбрали диск, например: выберите том 2 (не показан).
  6. Чтобы определить, насколько можно уменьшить объем, введите shrink querymax.

    DISKPART querymax

  7. На самом деле уменьшение тома во многом похоже на то, как это делается в управлении дисками. Вы должны выполнить математику, чтобы выяснить, насколько вы хотите уменьшить его, и использовать это с «желаемым сжатием» и числом в мегабайтах, которое вы хотите удалить.Для меня это желаемая усадка = 68256. Если вы не запрашивали его сначала и не знаете, сколько вам разрешено удалять, вы также захотите указать «минимум», иначе это может не дать вам всего места, которое вам нужно. DISKPART выдаст ошибку, если он не может удовлетворить минимум. Если минимум не указан и он не может сократиться до желаемой суммы, он будет максимально приближен к нему.

    DISKPART усадочная

  8. Введите exit, чтобы выйти из DISKPART.

Теперь вы можете сжать VHDX.

Как сжать VHDX

Хорошие новости: вы проделали всю тяжелую работу.PowerShell — единственный инструмент, который вы можете использовать для этой последней части. Откройте командную строку PowerShell с повышенными привилегиями на узле Hyper-V, у которого есть доступ к файлу VHDX. Также подойдет удаленный сеанс PowerShell с подходящим хостом. Если целевой том находится на общем ресурсе SMB, имейте в виду, что удаленный сеанс с хостом будет подвержен проблеме двойного перехода. Если вы не хотите / не хотите настраивать ограниченное делегирование, запустите его непосредственно в системе, содержащей целевой файл.

  1. Чтобы продолжить, виртуальная машина должна быть в состоянии Off .Изменение размера в режиме онлайн поддерживается только для операций увеличения.
  2. Используйте Get-VHD, как описано выше, чтобы убедиться, что MinimumSize присутствует и меньше, чем Size .
  3. Для завершения используйте Resize-VHD. Лучше всего использовать параметр -ToMinimumSize , хотя у вас есть другие параметры, которые можно просмотреть в Get-Help.

    Изменение размера-VHD

Проверьте результаты с помощью инструмента управления дисками виртуальной машины или Get-Volume.

После усадки

Устранение непредвиденных результатов усадки

Я никогда не видел катастрофического исхода от психоаналитика.Однако усадка не всегда работает должным образом. Я видел случаи недостаточной усадки. У этого есть две возможные причины. Первая причина: на диске нет незанятого места в конце. Я не буду пересказывать части, касающиеся заявленного минимального размера; если вы пропустили эту часть, прокрутите вверх и прочтите ее. Вторая причина: вы не можете освободить столько места, сколько вам нужно. Для решения этой проблемы используйте инструмент дефрагментации.

Да, я почти фанатично выступаю против дефрагментации.Нет, это не изменение моей позиции. У дефрагментации есть несколько допустимых применений, включая очистку томов от сжатия. Сначала попробуйте стандартный проход дефрагментации Windows. Другие инструменты могут работать лучше. Вам нужно только переместить файлы с конца диска на передний план. Возможно, вам придется сначала удалить некоторые ненужные файлы, чтобы освободить место. У вас одна цель: освободить как можно больше места с конца тома. Том может сжиматься только до последнего непустого блока, даже если в более ранних блоках нет данных.

Если это не поможет, возможно, вам понадобится инструмент для переноса данных. Создайте новый VHDX желаемого размера и используйте что-то вроде robocopy для переноса содержимого старого диска на новый. Я бы не стал использовать это для томов операционной системы, но он хорошо работает для томов, содержащих только данные. Фактически, вы можете предпринять следующие шаги:

  1. Отключить виртуальную машину-владелец
  2. Отключите VHDX
  3. Смонтируйте старый VHDX и новый в операционной системе управления
  4. Используйте robocopy или аналогичный инструмент для передачи файлов
  5. Отключите оба диска VHDX от управляющей операционной системы
  6. Подключите новый VHDX к виртуальной машине вместо старого

Robocopy имеет переключатели для копирования списков управления доступом и файловых дескрипторов.Однако вам нужно будет дважды проверить, что операционная система повторно подключает любые общие папки.

Не злоупотребляйте усадкой

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

Хотите стать членом Алтаро Додзё?

Как изменить размер виртуальных жестких дисков в Hyper-V

С виртуализацией мы получаем много интересных трюков. Среди них — возможность изменить наше мнение практически о любом решении о предоставлении ресурсов.В этой статье мы собираемся изучить возможность Hyper-V изменять размер виртуальных жестких дисков. И сервер Hyper-V (2016+), и клиентский Hyper-V (Windows 10) имеют эту возможность.

Обзор изменения размера диска Hyper-V

Hyper-V использует два разных формата файлов виртуальных жестких дисков: исходный VHD и новый VHDX. 2016 добавила посредническую форму VHDX, называемую «набором VHD», которая следует тем же правилам изменения размера, что и VHDX. Мы можем легко вырастить как типы VHD, так и VHDX. Мы можем сжать файлы VHDX, приложив лишь немного усилий.Поддерживаемого способа сжатия VHD не существует. Когда-то в Интернете ходил инструмент, который мог бы это сделать. Насколько я знаю, все ссылки на него устарели.

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

Изменение размера файла виртуального диска только изменяет файл. Это не влияет на его содержимое.Файлы, разделы, форматирование — все остается прежним. Операция изменения размера VHD / X не является самостоятельной. Вам нужно будет выполнить дополнительные действия для содержимого.

Требования для изменения размера диска VHD / VHDX

Операция сжатия должна выполняться в системе с установленным Hyper-V. Инструменты полагаются на службу, которая существует только с Hyper-V.

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

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

  • Если виртуальная машина Выкл. , размер любого из ее дисков можно изменить, как если бы они никому не принадлежали
  • Если виртуальная машина Сохранена или имеет контрольные точки, размер ни одного из ее дисков нельзя изменить
  • Если виртуальная машина Запуск , то существуют дополнительные ограничения на изменение размера ее виртуальных жестких дисков

Особые требования к усадке VHDX

Для выращивания VHDX не требуется никаких изменений внутри VHDX.Для усадки нужно немного больше. Иногда даже немного больше. Направления изменения размера, которые я показываю в этой статье, будут увеличивать или уменьшать файл виртуального диска, но вы должны подготовить содержимое перед операцией сжатия. У нас есть еще одна статья, в которой подробно рассматривается эта тема.

Могу ли я изменить размер виртуальных жестких дисков виртуальной машины Hyper-V в режиме онлайн?

Очень важный вопрос: нужно ли выключать виртуальную машину Hyper-V, чтобы изменить размер виртуальных жестких дисков? Ответ: иногда.

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

Работает ли Online VHDX Resize с виртуальными машинами Hyper-V поколения 1?

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

Работает ли изменение размера виртуального диска Hyper-V с виртуальными машинами Linux?

Гостевая операционная система и файловая система не имеют значения. Различные гостевые операционные системы могут по-разному реагировать на событие изменения размера, и действия, которые вы предпринимаете для гостевой файловой системы, будут разными.Однако действие изменения размера виртуального диска не меняется.

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

В большинстве руководств показано, как использовать страницу свойств виртуальной машины для изменения размера виртуального жесткого диска. Это может создать впечатление, что вы можете изменять размер виртуального жесткого диска, только когда он принадлежит виртуальной машине. К счастью, вы можете легко изменить размер отключенного виртуального диска. И PowerShell, и графический интерфейс предоставляют подходящие методы.

Как изменить размер виртуального жесткого диска с помощью PowerShell

PowerShell — предпочтительный метод для всех операций изменения размера виртуального жесткого диска.Он универсален, гибок, поддерживает сценарии и, как только вы освоите его, становится намного быстрее, чем графический интерфейс.

Используемый командлет: Resize-VHD:

.
 Resize-VHD -Path '\ svstore01VMsVirtual Hard Diskstest.vhdx' -SizeBytes 30 ГБ 

VHDX, который я использовал в образце, начал свою жизнь с 20 ГБ. Следовательно, указанный выше командлет будет работать, если я выполнил хотя бы одно из следующих действий:

  • Оставил неподключенным
  • Подключил его к виртуальному контроллеру SCSI виртуальной машины
  • Выключил подключенную виртуальную машину

Обратите внимание на суффикс gb в параметре SizeBytes .PowerShell изначально предоставляет эту функцию; сам командлет тут ни при чем. PowerShell автоматически переведет суффиксы по мере необходимости. Имейте в виду, что 1 КБ равен 1024, а не 1000 (хотя оба значения b и B означают «байт»).

Если бы я использовал число для SizeBytes, меньше, чем текущий размер файла виртуального жесткого диска, у меня могли бы возникнуть проблемы. Каждый VHDX имеет определенный минимальный размер, зависящий от содержимого файла. См. Обсуждение сжатия в конце этой статьи для получения дополнительной информации.Короче говоря, вывод Get-VHD включает поле MinimumSize , которое показывает, насколько сильно вы сжали диск без дополнительных действий.

Этот командлет влияет только на размер виртуального жесткого диска. Это не влияет на содержащуюся в нем файловую систему (ы). Мы рассмотрим эту часть в следующем разделе.

Как изменить размер отключенного виртуального жесткого диска с помощью Hyper-V Manager

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

  1. На главном экране диспетчера Hyper-V сначала выберите хост на левой панели. Все действия VHD / X выполняются подсистемами гипервизора, даже если целевой виртуальный жесткий диск не принадлежит конкретной виртуальной машине. Убедитесь, что вы выбрали хост, который может подключиться к VHD / X. Если файл находится в хранилище SMB, может потребоваться делегирование.
  2. В крайнем правом углу панели Действия щелкните Изменить диск .
  3. Первая страница — это информация.Щелкните Далее .
  4. Найдите (или введите) местоположение диска для редактирования.
  5. Направления от этой точки такие же, как и для подключенного диска, поэтому переходите к следующему разделу и продолжайте на шаге 6.

Примечание : Несмотря на то, что в этих направлениях указаны отключенные виртуальные жесткие диски, их можно использовать на подключенных виртуальных дисках. Применяются все правила, упомянутые ранее.

[thrive_leads id = ’17165 ′]

Как изменить размер виртуального жесткого диска виртуальной машины с помощью Hyper-V Manager

Hyper-V Manager также может изменять размер виртуальных жестких дисков, подключенных к виртуальным машинам.

  1. Если виртуальный жесткий диск подключен к виртуальному IDE-контроллеру виртуальной машины, выключите виртуальную машину. Если виртуальная машина сохранена, запустите ее. Если на виртуальной машине есть контрольные точки, удалите их.
  2. Откройте диалоговое окно Настройки виртуальной машины.
  3. На левой панели выберите виртуальный диск, размер которого нужно изменить.
  4. На правой панели нажмите кнопку Edit в блоке Media .
  5. Мастер запустится с отображения местоположения файла виртуального жесткого диска, но страница будет неактивна.В противном случае он будет выглядеть так же, как на снимке экрана из шага 4 предыдущего раздела. Щелкните Далее .
  6. Выберите Расширить или Сжать виртуальный жесткий диск. Shrink отображается только для VHDX или VHDS и только в том случае, если у них есть нераспределенное пространство в конце файла. Если виртуальная машина выключена, вы увидите дополнительные параметры. Выберите нужную операцию и нажмите Далее .
  7. Если вы выбрали Expand , он покажет вам текущий размер и предоставит вам поле New Size для заполнения.Он отобразит максимально возможный размер для этого типа файла VHD / X. Все значения указаны в ГБ, поэтому вы можете изменять их только с шагом в ГБ (используйте PowerShell, если это неприемлемо).
    Если вы выбрали Shrink (только VHDX), он покажет вам текущий размер и предоставит вам поле New Size , которое нужно заполнить. Он покажет минимально возможный размер для этого файла в зависимости от содержимого. Все значения указаны в ГБ, поэтому вы можете изменять только с шагом в ГБ (используйте PowerShell, если это неприемлемо).
  8. Введите желаемый размер и нажмите Далее .
  9. Мастер покажет итоговый экран. Просмотрите его, чтобы убедиться в точности. Когда все будет готово, нажмите Готово .

Мастер покажет индикатор выполнения. Это может произойти так быстро, что вы этого не увидите, или это может занять некоторое время. Разница будет зависеть от того, что вы выбрали, и от скорости вашего оборудования. Рост фиксированных дисков займет некоторое время; усадка дисков обычно происходит практически мгновенно.Предполагая, что все в порядке, вы спокойно вернетесь к экрану, с которого начали.

Это изменение влияет только на размер виртуального жесткого диска. Это не влияет на содержащуюся в нем файловую систему (ы). Мы рассмотрим это в следующих разделах.

Действия после операции изменения размера виртуального жесткого диска

Когда вы увеличиваете виртуальный жесткий диск, меняются только параметры диска. Ничего не происходит с файловыми системами внутри VHD / X. Для операции роста вам потребуется выполнить некоторые дополнительные действия.Для гостя Windows это обычно означает использование управления дисками для расширения раздела:

Примечание : вам может потребоваться операция Rescan Disks в меню Action , чтобы увидеть добавленное пространство.

Конечно, вы также можете создать новый раздел (или разделы), если хотите.

Дистрибутивы

Linux имеют широкий спектр файловых систем со своими собственными требованиями к разделам и размеру. У них также есть множество инструментов для выполнения необходимых задач.Выполните поиск в Интернете вашего дистрибутива и файловой системы.

Операции сжатия VHDX

Как упоминалось ранее, вы не можете сжать VHDX без внесения изменений в содержащуюся файловую систему. Ознакомьтесь с нашей отдельной статьей, чтобы узнать, как это сделать.

Как насчет VHD / VHDX Compact Operations?

Я часто вижу путаницу между сжатием VHD / X и сжатием VHD / X. Эти операции не связаны. Когда мы говорим об изменении размера, то правильным термином для уменьшения размера виртуального жесткого диска является «сжатие».Это изменяет общее выделенное пространство содержащихся разделов. «Компактный» означает удаление обнуленных блоков динамически расширяемого VHD / VHDX, чтобы он занимал меньше места на физическом хранилище. Compact не вносит изменений в содержащиеся данные или разделы. У нас есть статья о сжатии VHD / X, содержащих файловые системы Microsoft, и еще одна статья о сжатии VHD / X с файловыми системами Linux.

Примечание: эта страница была первоначально опубликована в январе 2018 года и обновлена ​​до декабря 2019 года.

Хотите стать членом Алтаро Додзё?

Сколько места вы получите, уменьшив размер виртуального жесткого диска Hyper-V? — Redmondmag.com

Советы и уловки Поузи

Сколько места вы получите, уменьшив размер виртуального жесткого диска Hyper-V?

Ответ кроется в мастере редактирования виртуального жесткого диска Hyper-V. Вот пошаговая инструкция.

Одна из функций Hyper-V, которую я считаю наиболее полезной на протяжении многих лет, — это мастер редактирования виртуального жесткого диска.

Этот мастер, который вы можете увидеть на рис. 1 , имеет возможность расширять виртуальный жесткий диск (VHD), чтобы на нем размещались дополнительные данные. Он также может преобразовывать VHD из одной архитектуры в другую. Например, вы можете использовать мастер для преобразования файла VHD в файл VHDX.

[Щелкните изображение, чтобы увеличить.] Рисунок 1: Это мастер редактирования виртуального жесткого диска.

Если вы посмотрите на рисунок выше, вы заметите, что по умолчанию выбран вариант «Компактный».Этот параметр особенно полезен для виртуальных жестких дисков с тонким выделением ресурсов (динамических), поскольку он позволяет освободить потраченное впустую дисковое пространство.

Если вы не знакомы с опцией Compact, основная идея действительно проста. Динамически расширяемый виртуальный жесткий диск спроектирован так, чтобы изначально занимать всего около 4 МБ пространства независимо от его выделенного размера. По мере добавления данных на VHD файл VHD увеличивается, чтобы вместить данные, пока в конечном итоге не достигнет максимального размера, указанного при создании VHD.

Однако, хотя файл VHD увеличивается по мере добавления данных, он не сжимается при удалении данных. Использование опции Compact мастера редактирования виртуального жесткого диска сжимает файл VHD, что позволяет вам освободить место, занимаемое данными, которые с тех пор были удалены.

Хотя сжатие VHD — действительно простой процесс, иногда вы можете обнаружить, что сжатие диска не дает столько физического дискового пространства, сколько вы думаете.Давайте взглянем.

При подготовке к этой статье я создал новый файл VHDX. Этот файл имеет размер 127 ГБ и изначально занимает 4 МБ дискового пространства, как показано на рис. , рис. 2 .

[Щелкните изображение, чтобы увеличить.] Рисунок 2: Это исходный размер VHD.

Следующее, что я сделал, — создал небольшой (48,8 ГБ) том на VHD. Теперь посмотрим, как это повлияло на файл VHDX. Как вы можете видеть на рис. 3 , файл вырос с 4 МБ до примерно 330 МБ без добавления каких-либо данных.

[Щелкните изображение, чтобы увеличить.] Рисунок 3: Создание тома приводит к увеличению VHD.

Итак, следующее, что я сделал, — скопировал примерно 10 ГБ данных на том на VHD. Это займет несколько минут, но в конечном итоге файл VHD разрастется, чтобы вместить данные, как показано на рис. 4 , рис. 4 . Как отмечалось ранее, удаление файлов не влияет на размер VHD.

[Щелкните изображение, чтобы увеличить его.] Рисунок 4: Размер файла VHD увеличился для размещения данных.

Теперь вопрос заключается в том, насколько маленьким будет VHD после его сжатия. Обратимся к PowerShell за некоторыми ответами. Командлет Get-VHD можно использовать для отображения такой информации, как размер файла и размер виртуального жесткого диска, но в выводе используются большие числа, за которыми может быть непросто следить. Я собираюсь поступить немного иначе.

Я начал с создания переменной с именем $ A и установил для нее значение Get-VHD *. Это позволило мне вывести информацию о размере в ГБ.Например, чтобы увидеть размер VHD, я просто набрал $ A.Size / 1GB. Вы можете увидеть результат выполнения моих команд в Рисунок 5 .

Рисунок 5: Вот соответствующие значения для VHD.

Итак, эта информация говорит мне, что размер VHD составляет 127 ГБ. Текущий размер файла (объем физического дискового пространства, занимаемого файлом VHDX) составляет 10,9 ГБ, а минимальный размер — 48,95 ГБ. Другими словами, если бы я попытался сжать виртуальный диск, я бы не получил никакого места, потому что я не могу уменьшить его меньше 48.95 ГБ (даже при том, что файл в настоящее время далеко не такой большой). Причина в том, что в настоящее время у меня на диске объем 48,8 ГБ. Если бы я удалил значительный объем данных и хотел бы сжать диск, мне нужно было бы сначала сжать том.

Рисунок 6: Минимальный размер теперь значительно меньше.

Для примера я удалил том и снова выполнил командлеты. На этот раз вы можете видеть, что минимальный размер составляет всего около 125 МБ. Следовательно, мы видим, что размер тома играет важную роль в сжатии VHD.


Об авторе

Брайен Поузи — 20-кратный MVP Майкрософт с многолетним опытом работы в ИТ. В качестве внештатного писателя Поузи написал тысячи статей и написал несколько десятков книг по широкому кругу тем в области информационных технологий. До того, как стать фрилансером, Поузи был ИТ-директором национальной сети больниц и медицинских учреждений. Он также работал сетевым администратором в некоторых из крупнейших страховых компаний страны и в Министерстве обороны Форт-Нокса.В дополнение к своей постоянной работе в сфере информационных технологий, Пози последние несколько лет активно тренировался в качестве кандидата в коммерческие ученые и астронавты, готовясь к полету в миссии по изучению полярных мезосферных облаков из космоса. Вы можете следить за его обучением космическим полетам на его веб-сайте.

Уменьшение размера динамически расширяемого файла VHD

Все программное обеспечение виртуализации Microsoft позволяет управлять файлами виртуальных жестких дисков (VHD).Стандартные операции, которые вы можете выполнять, смотрите в таблице ниже.

* Для фиксированного размера, равного исходному
** Для динамического расширения того же размера, что и исходный

Чего здесь не хватает, так это возможности сжимать диски, динамически расширяемые или фиксированные. Это то, чего не могут сделать встроенные инструменты. Введите ребят из vmToolkit и их VHDResizer. VHDResizer позволит вам сжать фиксированный или динамически расширяемый диск, если вы выполните некоторую подготовку.

Обратите внимание, как VHDResizer определил, что исходный виртуальный жесткий диск является динамически расширяемым диском и что целевой виртуальный жесткий диск может быть установлен как фиксированный, так и динамически расширяемый. Этот конкретный исходный VHD имеет максимальный размер 16 ГБ. Из-за этого минимальный размер, который мы можем выбрать для целевого виртуального жесткого диска, составляет 16 ГБ, независимо от типа диска. Причина, по которой мы не можем получить диск меньше 16 ГБ, заключается в том, что разделы или тома на VHD занимают все 16 ГБ пространства, даже если фактический физический файл намного меньше.Это сама основа динамически расширяющегося диска; гостевая операционная система видит все пространство и может адресовать его, но только блоки, содержащие данные, записываются в файл VHD. Поэтому нам нужно сжать тома внутри VHD, чтобы освободить место. Я считаю, что самый простой способ сделать это — использовать Diskpart.exe и команду SHRINK . Если в конце тома есть свободное место, SHRINK может уменьшить размер тома. Вы можете увидеть, насколько можно уменьшить объем, запустив SHRINK QUERYMAX .Затем вы можете использовать SHRINK для сжатия тома на максимально доступное пространство.

Microsoft Windows [Версия 6.0.6001]
Авторское право (c) Корпорация Microsoft, 2006. Все права защищены.
C: UsersAdministrator.LAB> diskpart
Microsoft DiskPart версии 6.0.6001
Copyright (C) 1999-2007 Microsoft Corporation.
На компьютере: LAB-RODC1
DISKPART> выберите диск 0
Диск 0 теперь является выбранным диском.
DISKPART> выберите том 1
Том 1 — это выбранный том.
DISKPART> shrink querymax
Максимальное количество восстанавливаемых байтов: 15 ГБ
DISKPART> shrink
DiskPart успешно сжал том на: 15 ГБ
DISKPART>

Но иногда данные находятся в конце тома или очень близко к нему, что делает размер, который вы можете уменьшить, очень маленьким. Чтобы обойти это, вам нужно переместить файлы в начало тома. Лучший инструмент, который я нашел для этого, — JKDefrag. Используя опцию действия 5 JKDefrag ( Собрать вместе ), мы можем принудительно объединить все файлы на томе в начале тома.Это вызовет фрагментацию, но мы можем справиться с этим, выполнив обычный запуск дефрагментации, когда том достигнет желаемого размера.

JkDefrag.exe -a 5 c:

Но иногда и этого недостаточно. Сколько бы раз вы ни запускали JKDefrag, вы все равно будете видеть данные в конце тома. Скорее всего, это главная таблица файлов NTFS (MFT), хранящаяся в файле $ Mft . MFT также резервирует часть тома, которую она называет зарезервированным пространством MFT. Это гарантирует, что у MFT есть место для роста, даже когда диск почти заполнен.Невозможность записи или обновления MFT может привести к повреждению диска и потерям файлов, что является причиной этой меры предосторожности. Но для достижения нашей цели нам нужно переместить блоки MFT и MFT Reserved space из конца тома к началу тома. (MFT на самом деле не в конце тома, по крайней мере, это не было в начале. Windows по умолчанию размещает MFT примерно в середине тома, но, поскольку мы уменьшили наш том, теперь он находится в конце .) Автор JKDefrag говорит, что версия 4 JKDefrag сможет перемещать и дефрагментировать MFT, но пока эта версия не станет доступной, мы должны использовать другой инструмент.Лучшее, что я нашел, — это Raxco PerfectDisk 10. PerfectDisk — это коммерческое программное обеспечение, но вы можете загрузить пробную версию для выполнения дефрагментации MFT. Не забудьте, что для получения правильной версии PerfectDisk, например, версия Pro не будет установлена ​​на Windows Server. Установите PerfectDisk 10 на свою виртуальную машину и проанализируйте объем, который вы хотите уменьшить. Установите флажок Boot рядом с буквой диска тома и перезагрузите виртуальную машину.

Во время загрузки PerfectDisk дефрагментирует ваш том и перемещает MFT примерно в его середину.Вы не можете контролировать, куда PerfectDisk перемещает MFT, для этого используется собственная внутренняя логика. Вы, вероятно, также увидите, что MFT будет расти, это также связано с настройками внутренней оптимизации PerfectDisk. После загрузки виртуальной машины вы снова можете использовать Diskpart.exe и команду SHRINK , чтобы еще больше уменьшить размер тома. Вы можете повторять этот процесс, пока не достигнете желаемого размера тома. Затем, наконец, вы можете запустить VHDResizer и сжать файл VHD, а также одновременно преобразовать его.

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

Hyper-V, ранее известный как Windows Server Virtualization, позволяет создавать виртуальные машины в системах x86-64 под управлением Windows. Работа с динамически расширяющимися дисками Hyper-V всегда представляет собой риск, поскольку диск бесконтрольно растет и в несколько раз достигает максимального размера. Чтобы справиться с этой проблемой, вы можете регулярно проверять изменения размера диска и вручную изменять параметры виртуального жесткого диска.Чтобы обеспечить впечатляющее распределение дискового пространства, пользователь может сжимать или сжимать виртуальные жесткие диски. В этом блоге мы узнаем, как сжать и сжать виртуальный диск Hyper-V. Следуй до конца.

Что такое динамически расширяемые диски Hyper-V?

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

Основное различие между сжатием и сжатием виртуальных жестких дисков

Уменьшение максимального размера диска Hyper-V — это сжатие виртуального жесткого диска, в то время как физическое дисковое пространство, поглощаемое виртуальным диском, уменьшается, а неиспользуемое физическое дисковое пространство освобождается при сжатии виртуального жесткого диска. Сжатие только уменьшает емкость хранилища, но компактность позволяет пользователю уменьшить размер файла виртуального жесткого диска, не затрагивая объем хранилища.

Теперь, в следующей части, мы узнаем методы сжатия и сжатия виртуального диска Hyper-V.

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

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

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

  • Откройте диспетчер Hyper-V и подключитесь >> войдите в виртуальную машину.
  • После этого запустите инструмент управления дисками и, чтобы запустить этот инструмент, введите MSC в строке поиска.
  • Щелкните правой кнопкой мыши том диска, который нужно сжать, и выберите параметр «Сжать том» в раскрывающемся меню.

  • Теперь введите объем пространства, который вы хотите уменьшить, в МБ.Щелкните «Сжать».
  • В результате после сжатия у вас будет примерно 25 ГБ нераспределенного дискового пространства.

  • Наконец, выключите виртуальную машину и снова откройте ее, а затем снова в диспетчере Hyper-V щелкните виртуальную машину правой кнопкой мыши и выберите «Параметры».
  • В разделе «Оборудование» щелкните Жесткий диск, чтобы получить доступ к настройкам виртуального жесткого диска.

  • Выберите «Изменить», чтобы открыть мастер редактирования виртуального жесткого диска. Пропустите шаг «Найти диск», если вы уже выбрали, какой диск вы хотите сжать.Нажмите «Далее.
  • Выберите «Сжать» в разделе «Выбор действия» и нажмите «Далее».

  • Следующим шагом является настройка нового размера виртуального жесткого диска.

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

  • Здесь вы можете посмотреть на изменения, которые вы собираетесь внедрить, в разделе «Сводка». Нажмите Готово, чтобы завершить действие и закрыть мастер.
  • Щелкните «Проверить», чтобы убедиться, что размер диска действительно изменился, и вы успешно уменьшили размер виртуального жесткого диска.

Наконец, максимальный размер диска успешно уменьшился до 115 ГБ.

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

Hyper v shrink disk не уменьшает емкость хранилища, а только уменьшает размер файла виртуального жесткого диска, удаляя из файла пустые блоки. Теперь, чтобы сжать виртуальный диск Hyper v, выполните следующие действия.

  1. Войдите и откройте диспетчер Hyper-V.Щелкните правой кнопкой мыши виртуальную машину (ВМ) и выберите «Параметры».
  2. Щелкните Жесткий диск, чтобы получить доступ к виртуальному жесткому диску, подключенному к этой виртуальной машине. Затем нажмите «Изменить», чтобы запустить мастер редактирования виртуального жесткого диска.
  3. Пропустите шаг «Найти диск», если уже выбрали, какой диск нужно сжать. Нажмите «Далее.
  4. В поле «Выбрать действие» выберите вариант «Компактный».
  5. Теперь в сводке проверьте изменения, внесенные на виртуальный жесткий диск. Нажмите Готово, чтобы завершить действие и закрыть мастер.

Заключение

Я подробно рассказал, как сжимать и сжимать виртуальный диск Hyper-V, а также шаг за шагом описал метод сжатия и сжатия. Но это кажется очень сложным и требует технических знаний для выполнения вышеуказанных методов. Таким образом, часто случается, что данные виртуального диска вступают в силу во время сжатия или сжатия виртуального диска hyper v. Поэтому, если по какой-либо причине вы столкнетесь с какой-либо проблемой в файле VHD Hyper v, вы можете использовать инструмент VHDX File Recovery для восстановления поврежденного файла VHD.Это высококлассное программное обеспечение для восстановления VHD, которое может легко сохранять данные VHD без какого-либо изменения данных.

Загрузить демо сейчас

Невозможно сжать файл VHDX, потому что нельзя сжать том на виртуальном диске

Я обсуждал возможность изменения размера VHDX в режиме онлайн в этом сообщении блога. Изменение размера виртуальных дисков Hyper-V в Интернете возможно в Windows 2012 R2. Это хороший ресурс, чтобы узнать, как это сделать.

Несмотря на это, вы все равно можете столкнуться с проблемой.Как упоминалось в вышеупомянутом сообщении в блоге, вам нужно нераспределенное дисковое пространство в конце диска внутри виртуальной машины, иначе вы не сможете сжать VHDX вообще. Эта ситуация показана на скриншоте ниже.

В большинстве случаев это потребует от вас сначала уменьшить размер тома внутри вашей виртуальной машины, поскольку все пространство может быть выделено для этого тома. Для этой статьи мы настроили лабораторную виртуальную машину, чтобы воссоздать проблему. На виртуальной машине изначально был отключен файл подкачки.Мы скопировали в него много данных, а затем создали теневые копии. Только после этого мы создали файл подкачки фиксированного размера 10 ГБ, чтобы убедиться, что он находится где-то в начале пространства тома. Все это было сделано для моделирования реальной ситуации, когда с течением времени происходит отток данных. Затем мы Shift удалили данные. Теперь посмотрим на диск, на котором нам нужно сжать том C, чтобы иметь возможность сжать сам виртуальный диск.

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

Кажется, мы сможем освободить до 26 ГБ. Но когда вы пытаетесь уменьшить этот объем, вы видите это:

Доступно только 11 ГБ доступной термоусадочной памяти. Не совсем то, что вы ожидали, исходя из свободного места на томе! Мы уже несколько раз видели это на виртуальных серверах в реальной жизни.Причины на самом деле хорошо известны, хотя чаще они связаны с домашним ПК, чем с виртуализированными серверами. Так как же нам с этим справиться?

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

Дефрагментировать том

Пока файлы являются перемещаемыми, фрагментация сама по себе не должна препятствовать изменению размера тома.Но никогда не помешает запустить его раньше, и он создаст непрерывное свободное пространство в конце тома, которое можно уменьшить. Что еще более важно, дефрагментация не может переместить все файлы, некоторые из них невозможно переместить. Фрагменты этих файлов разбросаны повсюду, что может помешать вам уменьшить объем.

В современных операционных системах Windows дефрагментация является частью работы по оптимизации хранилища. Он также запускает UNMAP, который информирует виртуальный жесткий диск о свободном пространстве из-за удаления данных.

Это все хорошо и означает, что вам даже не нужно запускать дефрагментацию вручную. Но как мы можем справиться с этими неподвижными файлами?

Существуют бесплатные и коммерческие инструменты, которые могут дефрагментировать неподвижные файлы во время выполнения дефрагментации во время загрузки. Они могут даже дефрагментировать и перемещать системные файлы, которые иначе переместить невозможно. Коммерческий инструмент может выполнять дефрагментацию файла подкачки и других системных файлов в автономном режиме. Выполняя дефрагментацию во время загрузки, они могут обрабатывать файлы метаданных NTFS в каталоге% systemdrive% (обычно C: \), такие как $ MFTMirr, $ LogFile, $ Volume, $ Bitmap, $ Boot и $ BadClus: $ Bad.

Однако не со всеми неподвижными файлами можно справиться таким образом. Вы должны понимать, что с момента появления Windows Vista содержимое каталога System Volume Information, в котором Windows хранит точки восстановления системы (теневые копии), полностью недоступно для программного обеспечения дефрагментации.

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

Удалите все «предыдущие версии» или точки восстановления, созданные теневыми копиями

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

Совет. Вы можете разместить теневые копии на другом диске. Об этом стоит подумать, когда они становятся большими как по занимаемому пространству, так и по производительности.

Может ли файл гибернации вызывать проблемы?

Мы обсуждаем изменение размера и виртуальный жесткий диск, и на виртуальной машине вы не найдете hyberfil.sys файл. Это работает только при уменьшении тома на физическом оборудовании. Гибернация не поддерживается и даже не доступна в гостевой ОС. Вы можете увидеть это, если попытаетесь включить:

Отключить файл подкачки

Сам файл подкачки может быть фрагментирован, и он может полностью или частично находиться в том месте на диске, которое предотвращает сжатие тома. Хотя файл подкачки важен для операционной системы, вы можете отключить его во время периода обслуживания, чтобы убедиться, что он не блокирует изменение размера виртуального жесткого диска.Имейте в виду, что как для отключения, так и для повторного включения файла подкачки требуется перезагрузка. Таким образом, это означает, что изменение размера VHDX в Интернете приведет к простою, но не потому, что он не поддерживается, а из-за действия, которое вам необходимо предпринять, чтобы уменьшить объем.

Осталось немного лишнего незанятого места или немного расширив диск. Выполнено!

Не забудьте после этого снова включить файл подкачки в наилучшей конфигурации для вашей рабочей нагрузки.

Некоторые ситуации требуют еще более решительного вмешательства

Другая проблема может заключаться в том, что на виртуальном жестком диске имеется несколько томов, а свободное пространство находится не в конце диска, как на снимке экрана ниже.

Если вы не можете удалить том тома H: и создать его снова, чтобы восстановить данные на новый том, который затем находится в конце тома F: вам нужно обратиться к 3 rd партийным инструментам. Бесплатные инструменты с открытым исходным кодом, такие как GParted, отлично справятся со своей задачей, и я активно им пользовался.У меня есть сообщение в блоге об использовании Gparted для исправления проблем с изменением размера виртуального диска. На всякий случай вам все еще нужна резервная копия или копия вашего vhdx, прежде чем делать что-либо подобное.

В приведенном выше примере, который представляет собой лабораторную настройку, удаление теневых копий и избавление от файла подкачки, который, к сожалению, был обнаружен, и предотвращение уменьшения объема, это позволило уменьшить размер до 23 ГБ вместо 11 ГБ. Неплохо.

Что дает нам 23 ГБ нераспределенного пространства на виртуальном диске.

Теперь мы можем сжать виртуальный жесткий диск на это количество!

Осталось немного лишнего незанятого места или немного расширив диск. Выполнено!

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

Реальный пример этого — когда нам нужно было переместить 120 ГБ файлов индексации на выделенный виртуальный диск, потому что это приводило к нехватке места для тома ОС, диска C: \.Мы могли и не хотели наращивать виртуальный жесткий диск, на котором располагался диск гостевой ОС. После того, как мы переместили индекс, мы хотели уменьшить том примерно на 120 ГБ, оставив достаточно свободного места для оптимального функционирования тома ОС, но мы не смогли. Мы могли бы получить жалкие 2 ГБ места!

Сначала мы убедились, что данные индекса были удалены со сдвигом, и запустили оптимизатор для дефрагментации диска, но это не помогло. Мы проверяем наличие теневых копий, но их не было. Поскольку это был виртуальный сервер, у нас не было файла hyberfil.sys, о котором стоит беспокоиться. В конце концов, уловка для нас заключалась в отключении файла подкачки, перезагрузке виртуальных машин, уменьшении объема и повторной перезагрузке виртуальной машины.

Вы узнали, как решить проблему, при которой, несмотря на наличие свободного места в томе, вы не можете его сжать и, как следствие, не можете уменьшить размер файла VHDX. Это блокировало нашу настоящую цель — сжать виртуальный жесткий диск. Хотя последнее возможно онлайн, мы не всегда можем решить проблемы, с которыми мы сталкиваемся при уменьшении тома (само по себе онлайн-событие) без простоя.Отключение или включение файла подкачки требует перезагрузки. В большинстве случаев дефрагментацию можно выполнять в оперативном режиме, но не в случае метаданных NTFS. Однако отключение и включение теневых копий — это интерактивный процесс.

Это, безусловно, яркий пример того, что не поощряет масштабирование DevOps и облачных вычислений. Этот дивный новый мир способствует тому, что ваши серверы становятся скотом. Когда кто-то дает вам проблему, вы не лечите ее, а разжигаете барбекю, как сказал бы Джеффри Сновер.Это отличная модель, если она применима к вашей среде. Но прежде чем вы это сделаете, я хотел бы убедиться, что ваш сервер не священная корова, а не крупный рогатый скот. Многие приложения, даже современные, на предприятии невозможно не убить. Если хотите, вам лучше иметь отличные резервные копии, но даже они не решат проблем, как мы, мы рассмотрели здесь. Резервные копии существуют, чтобы защитить вас, когда что-то пойдет не так с вашим вмешательством.

Нравится:

Нравится Загрузка …

Связанные

Сжатие виртуальных дисков

Особенности | Документация | База знаний | Дискуссионные форумы

Назад СОДЕРЖАНИЕ Последний Следующий

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

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

Примечание: Максимальное преимущество достигается при дефрагментации виртуального диска перед его сжатием. См. Раздел «Дефрагментация виртуальных дисков».

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

Сжатие виртуального диска — удобный способ преобразовать виртуальный диск в формат, поддерживаемый Workstation.Виртуальные диски, созданные в новом формате, распознаются только VMware Workstation 3.0 и выше.

В этом разделе описаны следующие темы:

Ограничения и требования

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

Сжатие применяется только к виртуальным дискам. Вы не можете сжать физические диски или компакт-диски.

Функция сжатия не включена, если виртуальная машина

  • Содержит снимок
  • Родитель связанного клона
  • Связанный клон
  • Функция сжатия не включена для виртуальной машины, если какой-либо из ее виртуальных дисков

  • Выделено заранее при создании
  • Не используется в независимом-постоянном режиме
  • Устаревшие диски, которые не находятся в постоянном режиме
  • Загружается как независимые диски
  • Примечание: Вы можете изменить режим виртуального диска до того, как виртуальная машина будет включена.См. Раздел «Исключение дисков из снимков» для обсуждения независимых дисков.

    Процесс усадки

    Процесс сжатия диска состоит из двух этапов:

  • На первом этапе, называемом очисткой, VMware Tools восстанавливает все неиспользуемые части разделов диска (например, удаленные файлы) и подготавливает их к сжатию. Очистка выполняется в гостевой операционной системе.
  • Второй шаг — это сам процесс сжатия, который происходит на хосте.Рабочая станция уменьшает размер файлов на диске на объем дискового пространства, освобождаемого в процессе очистки.
  • Когда виртуальная машина включена, вы сжимаете ее виртуальные диски из панели управления VMware Tools. Вы не можете сжать виртуальные диски, если существует моментальный снимок. Чтобы удалить моментальный снимок, если он существует, выберите ВМ> Снимок> Диспетчер моментальных снимков> Удалить . См. Неподдерживаемые и отключенные разделы.

    В гостевой операционной системе Linux или FreeBSD, чтобы подготовить виртуальные диски к сжатию, вы должны запустить VMware Tools от имени пользователя root.Таким образом обеспечивается сжатие всего виртуального диска. В противном случае, если вы сжимаете диски как пользователь без полномочий root, вы не сможете стереть части виртуального диска, требующие разрешений корневого уровня.

    Чтобы сжать виртуальный диск:

    1. Запустите панель управления.

  • Гость Windows — дважды щелкните значок VMware Tools на панели задач или выберите Пуск> Настройка> Панель управления , затем дважды щелкните VMware Tools .
  • Linux или Гость FreeBSD — станьте пользователем root (su -), затем запустите vmware-toolbox.
  • 2. Щелкните вкладку Shrink .

    3. Выберите виртуальные диски, которые нужно сжать, затем нажмите Подготовить к сжатию .

    В диалоговом окне отслеживается ход процесса очистки.

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

    4. Нажмите Да , когда VMware Tools завершит очистку выбранных разделов диска.

    В диалоговом окне отслеживается ход процесса сжатия. Усадка дисков может занять значительное время.

    5. Нажмите OK для завершения.

    Неподдерживаемые и отключенные разделы

    В некоторых конфигурациях невозможно сжать виртуальные диски. Если ваша виртуальная машина использует такую ​​конфигурацию, на вкладке «Сжатие» отображается информация, объясняющая, почему вы не можете сжимать виртуальные диски.

    Например, вы не можете сжать виртуальный диск, если

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

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