Объединение контрольных точек с несколькими разностными дисками
В этой статье описываются методы, которые можно использовать для объединения контрольных точек в виртуальную машину, если Hyper-V сгенерирует множество разностных дисков. Используемый метод зависит от сведений о ситуации.
Объединение контрольных точек, которые можно просмотреть в диспетчере Hyper-V
Контрольные точки, которые можно просмотреть в диспетчере Hyper-V, проще всего обрабатывать. Обычно для удаления этих контрольных точек можно использовать команду « Удалить контрольную точку» в контекстном меню.

В некоторых случаях в контекстном меню не отображаются элементы «Удалить контрольную точку» и «Удалить поддерево контрольных точек». Это может произойти, если стороннее программное обеспечение резервного копирования создает контрольные точки, но не удаляет их после операции резервного копирования.
В таких случаях можно по-прежнему использовать клавишу DELETE для удаления контрольной точки.
Таким образом, чтобы удалить контрольные точки в диспетчере Hyper-V (и объединить файлы разностных дисков), выполните следующие действия:
- В диспетчере Hyper-V выберите виртуальную машину.
- В списке контрольных точек щелкните правой кнопкой мыши контрольную точку, которую нужно удалить, и выполните одно из следующих действий:
- Выберите » Удалить контрольную точку».
- Если контрольная точка удаления недоступна, выберите контрольную точку, а затем — Del.
Объединение контрольных точек, которые невозможно просмотреть в диспетчере Hyper-V
Может возникнуть ситуация, когда диспетчер Hyper-V не отображает контрольные точки для конкретной виртуальной машины. В то же время в соответствующей папке файловой системы отображается множество разностных файлов дисков. Это может произойти, если стороннее программное обеспечение резервного копирования создает контрольные точки, но не удаляет их после операции резервного копирования.
Вы можете объединить разностные диски одним из двух способов в зависимости от того, можно ли завершить работу виртуальной машины.
Когда можно завершить работу виртуальной машины
Чтобы объединить разностные диски, завершите работу виртуальной машины. Как правило, разностные дисковые файлы объединяются в процессе завершения работы виртуальной машины.
Если вы не можете завершить работу виртуальной машины
Вы можете объединить разностные диски в виртуальную машину в сети. Однако это многоэтапный процесс, который включает Windows PowerShell скриптов. Для этого выполните следующие общие действия:
- Создайте резервную копию всех разностных дисков (VHD-файлов).
- Создайте и запустите функцию Get-VHDChain . Этот шаг подробно описан далее в этом разделе.
- Создайте и выполните команды слияния. Этот шаг подробно описан далее в этом разделе.
- Измените параметры виртуальной машины, чтобы они указывали на объединенный родительский виртуальный жесткий диск.
- Запустите виртуальную машину. Успешный запуск означает, что слияние успешно завершено.
Создание и запуск функции Get-VHDChain
- На сервере узла Hyper-V откройте административное окно командной строки PowerShell.
- Скопируйте следующий скрипт и вставьте его в окно PowerShell:
function Get-VHDChain < [CmdletBinding()] param( [string]$ComputerName = $env:COMPUTERNAME, [string[]]$Name = '*' ) try < $VMs = Get-VM -ComputerName $ComputerName -Name $Name -ErrorAction Stop >catch < Write-Warning $_.Exception.Message >foreach ($vm in $VMs) < $VHDs = ($vm).harddrives.path foreach ($vhd in $VHDs)< Clear-Variable VHDType -ErrorAction SilentlyContinue try < $VHDInfo = $vhd | Get-VHD -ComputerName $ComputerName -ErrorAction Stop >catch < $VHDType = 'Error' $VHDPath = $vhd Write-Verbose $_.Exception.Message >$i = 1 $problem = $false while (($VHDInfo.parentpath -or $i -eq 1) -and (-not($problem))) < If ($VHDType -ne 'Error' -and $i -gt 1)< try < $VHDInfo = $VHDInfo.ParentPath | Get-VHD -ComputerName $ComputerName -ErrorAction Stop >catch < $VHDType = 'Error' $VHDPath = $VHDInfo.parentpath Write-Verbose $_.Exception.Message >> if ($VHDType -ne 'Error') < $VHDType = $VHDInfo.VhdType $VHDPath = $VHDInfo.path >else < $problem = $true >[pscustomobject]@ < Name = $vm.name VHDNumber = $i VHDType = $VHDType VHD = $VHDPath >$i++ > > > > ==================================
Get-vhdchain -name
Примечание. В этой команде имя <виртуальной машины> представляет имя виртуальной машины.

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

Важно! Если выходные Get-VHDChain данные содержат ошибки, необходимо удалить затронутые разностные диски из папки. В следующем примере диск 24 сгенерировал ошибку и должен быть удален из папки разностного диска.
Создание и выполнение команд слияния
- Ниже приведены инструкции по созданию скрипта вC:\temp\merge.txt для объединения дисков. Выполните следующие действия:
- На локальном диске C: создайте папку с именем temp.
- Откройте окно Администрирования PowerShell и выполните следующую команду:
$vm = Read-Host("please enter the VMname")$vhds=Get-VM $vm | Select-Object -Property VMId | Get-VHD if (Test-Path '.\merge.txt') foreach($vhd in $vhds) < $chain=[ordered]@<>while ($vhd.ParentPath) < $chain.add($vhd.Path,$vhd.ParentPath) $vhd=Get-VHD -Path $vhd.ParentPath >$chain.GetEnumerator() | ForEach-Object < $line='Merge-VHD -Path "" -Destination ""' -f $_.key, $_.value $line | Out-File -FilePath .\merge.txt -Append > >
Скрипт должен выглядеть следующим образом:
Обратная связь
Были ли сведения на этой странице полезными?
Объединение Snapshot в Hyper-V

Правильное объединение снимков осуществляется через их удаление в консоли управления Hyper-V от самого старого к самому новому и перезагрузкой виртуальной машины. Если по каким-то причинам сделать это не возможно, то потребуется объединять снимки вручную.
- Изменяем расширение снимков виртуальной машины с *.avhd на *.vhd;
- Щёлкаем правой кнопкой мыши по гипервизору в диспетчере и открываем оснастку «Изменить диск» / «Edit Disk»;
- Далее кнопкой «Обзор» выбираем снимок сделанный позже всего (самый свежий снимок);
- Указываем «Объединить» / «Merge»; Щёлкаем по «К родительскому виртуальному диску»;
- Потом открывается информационное окно, в котором будет виден родитель объединяемого файла.
- Нажимаем «Готово» и процесс слияния будет запущен.

Если снимков несколько — повторите теже самые действия.
SKY — IT-решения для бизнеса, 2012–2023 г.
Как удалить контрольные точки Hyper-V?
Итак дано: Win Server 2016 Std
Hyper-V машинка в работающем состоянии
По умолчанию машина поддерживает 50 контрольных точек, и новые не создадутся, пока не будут удалены старые.
Вопрос знатокам:
1. Для удаления контрольных надо останавливать ВМ? А то у меня нет пункта меню удалить у контрольной точки
2. При удалении контрольных точек (к примеру через PS, у меня боевая система не слетит? Страшновато за Ексч)
3. Как удалить контрольные точки самым безопасным способом, чтоб не уронить ВМ? А то меня сильно смутила формулировка на технете: «Контрольные точки хранятся в виде AVHDX-файлов в том же расположении, что и VHDX-файлы для виртуальной машины. При удалении контрольной точки Hyper-V для удобства объединяет AVHDX- и VHDX-файлы. После завершения AVHDX-файл данной контрольной точки будет удален из файловой системы. «
Объединение файлов дело хорошее, лишь бы не пошло что-то не так))
4. Что произойдет если я не останавливая ВМ сниму галочку использовать контрольные точки, они просто удаляться? Боевая система останется на месте?
- Вопрос задан более трёх лет назад
- 14890 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1

По пункту 4 — делать можно на живую, все 50 контрольных точек начнут сливаться в одну. Время и надежность будет зависеть только от дисков. Можно делать не останавливая, но скорость доступа к почтовым ящикам резко снизится. Если на этой машине есть другие виртуалки, у них тоже уменьшится время отклика.
Я бы этого делать не стал, по крайней мере без бэкапов уж точно.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Linux
- +2 ещё
Существуют визуальные панели управления сервером?
- 3 подписчика
- вчера
- 440 просмотров
Как объединить снимки жёстких дисков виртуалки Hyper-v 2008R2 в один vhd-файл

При корректном удалении снимков виртуальной машины при её выключении снимки жёстких дисков должны объединяться автоматически. К сожалению, не всегда это получается и в силу разных причин папка со снимками может распухать и привести ко всяким неприятным последствиям. Инструмента по автоматическому объединению таких “бесхозных” снимков нет. Приходится делать объединение вручную. Для этого необходимо знать где находятся снимки жёстких дисков (находятся обычно в папке виртуальной машины в подпапке Snapshots) и где находится исходный vhd-файл, к которому эти снимки мы будем прикреплять. Так же необходимо понять в каком порядке объединять снимки. Сначала объединяем самый свежий снимок (дата изменения снимка при включённой виртуалке совпадает с текущей, например 20/05/2010) со снимком более старшим (дата изменения снимка меньше предыдущей, но больше остальных, например 15/05/2010). Получившийся в итоге снимок объединяем со следующим по старшинству. Процедуру повторяем до тех пор пока не остается один снимок, который объединяется с исходным vhd-файлом. Процедура получается следующая:
- Выключаем виртуалку, чьи диски-снимки надо объединить.
- Меняем расширения всех снимков с .avhd на .vhd.
- На всякий случай делаем копии всех преобразуемых файлов (бывших .avhd и исходных .vhd).
- Записываем порядок в котором быдем объединять диски (20/05/2010.vhd => 15/05/2010.vhd =>… => Virtual Disk.vhd), чтобы в процессе не сбиться.
- В оснастке Hyper-V запускаем Edit Disk, выбираем самый новый снимок (20/05/2010.vhd). В окне выбора действия будет доступно только одно действие – Reconnect. Далее надо будет указать родительский снимок (предыдущий относительно того, который последний – 15/05/2010.vhd). При этом, для облегчения выбора, будет подсказка какой диск является родительским к исходному. Выбираем его. Нажимаем Finish.
- Запускаем Edit Disk повторно, выбираем самый свежий снимок. В окне выбора действия должно появится 2 пункта – Compact и Merge. Нас интересует второй. Выбираем его. В окне Summary можно будет посмотреть какой снимок с каким объединяется. Убеждаемся что это нужные нам снимки и запускаем процесс. При больших размерах снимков процесс может длиться достаточно долго.
- По завершении процесса в папке со снимками останется только самый новый снимок (20/05/2010.vhd). Родительский снимок (15/05/2010.vhd) будет удалён. Если в папке остались ещё более старые снимки, то переходим к пункту 5 и повторяем процесс объединения.
- Запускаем снова Edit Disk, в окне выбора действия будет 2 пункта – Compact и Merge. Выбираем второй. По завершении процесса в папке снимков снимков исходного диска не останется – все они будут объединены с исходным vhd-диском.
- Теперь, если мы зайдём в свойства виртуальной машины, то при попытке посмотреть на свойства нашего разбитого на снимки диска будет ошибка – виртуалка не сможет найти последний снимок. Смело можно удалять диск из свойств виртуалки и подключать его заново.
Популярные Похожие записи:
Ошибка virtual machine disks consolidation is needed в ESXI- Как мигрировать отдельный диск виртуальной машины ESXI
Ошибка запуска VM: File system specific implementation of Ioctl[file] failed- Отличия Global Hot Spare и Dedicated Hot Spare
- Удаление застрявших VMDK из прокси Veeam
- Решено: EFI Virtual disk (0.0) Not found
Ноя 16, 2014 01:28 Автор — Сёмин Иван
6 Responses to Как объединить снимки жёстких дисков виртуалки Hyper-v 2008R2 в один vhd-файл
Ёпти ! Афтар — Я тя расцелую ! В дёсна Если захочешь ! реально меня этот мануал выручил. Я уже хотел было дело гениталии тупыми ножницами отрезать
Иван Семин :
Рад, что подмог, и все цело осталось.
Просто класс!! Я думал, что уже никогда не восстановлю виртуальную машину. Меня эта инструкция тоже выручила! Объединил снимки для Huper-V Windows 10. Всё получилось
Спасибо…. Реально помогло после рассинхронизации родительского (vhd) и нового (avhd) дисков.(Ошибка не совпадения меток дисков) Huper-V Windows 10
Иван Семин :
Рад, что помог!
Ругается на несоответствие ИД.. тут ещё такой момент: на один снимок приходится целых два файла AVHD.. с одинаковой датой изменения И какой из них новый/старый не совсем понятно