Перейти к содержимому

Hyper v как объединить контрольные точки

  • автор:

Объединение контрольных точек с несколькими разностными дисками

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

Объединение контрольных точек, которые можно просмотреть в диспетчере Hyper-V

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

Снимок экрана: контрольная точка в диспетчере Hyper-V, в которой контекстное меню содержит команду

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

В таких случаях можно по-прежнему использовать клавишу DELETE для удаления контрольной точки.

Таким образом, чтобы удалить контрольные точки в диспетчере Hyper-V (и объединить файлы разностных дисков), выполните следующие действия:

  1. В диспетчере Hyper-V выберите виртуальную машину.
  2. В списке контрольных точек щелкните правой кнопкой мыши контрольную точку, которую нужно удалить, и выполните одно из следующих действий:
    • Выберите » Удалить контрольную точку».
    • Если контрольная точка удаления недоступна, выберите контрольную точку, а затем — Del.

Объединение контрольных точек, которые невозможно просмотреть в диспетчере Hyper-V

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

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

Когда можно завершить работу виртуальной машины

Чтобы объединить разностные диски, завершите работу виртуальной машины. Как правило, разностные дисковые файлы объединяются в процессе завершения работы виртуальной машины.

Если вы не можете завершить работу виртуальной машины

Вы можете объединить разностные диски в виртуальную машину в сети. Однако это многоэтапный процесс, который включает Windows PowerShell скриптов. Для этого выполните следующие общие действия:

  1. Создайте резервную копию всех разностных дисков (VHD-файлов).
  2. Создайте и запустите функцию Get-VHDChain . Этот шаг подробно описан далее в этом разделе.
  3. Создайте и выполните команды слияния. Этот шаг подробно описан далее в этом разделе.
  4. Измените параметры виртуальной машины, чтобы они указывали на объединенный родительский виртуальный жесткий диск.
  5. Запустите виртуальную машину. Успешный запуск означает, что слияние успешно завершено.
Создание и запуск функции Get-VHDChain
  1. На сервере узла Hyper-V откройте административное окно командной строки PowerShell.
  2. Скопируйте следующий скрипт и вставьте его в окно 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 выполняется без ошибок.

Снимок экрана: выходные данные Get-VHDChain скрипта при возникновении ошибки.

Важно! Если выходные Get-VHDChain данные содержат ошибки, необходимо удалить затронутые разностные диски из папки. В следующем примере диск 24 сгенерировал ошибку и должен быть удален из папки разностного диска.

Создание и выполнение команд слияния
  1. Ниже приведены инструкции по созданию скрипта вC:\temp\merge.txt для объединения дисков. Выполните следующие действия:
    1. На локальном диске C: создайте папку с именем temp.
    2. Откройте окно Администрирования 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 > > 

    Снимок экрана: скрипт после его вставки в окно PowerShell.

    Скрипт должен выглядеть следующим образом:

  • Откройте C:\temp\merge.txt. Этот файл содержит список командной строки, сгруппированных по парам. Каждая пара команд определяет операции слияния для одного разностного диска.
  • Скопируйте первую команду первой пары, вставьте ее в командную строку и запустите. Затем выполните то же самое для второй команды первой пары. Эти операции объединяют разностной диск, который адресовывались командам.
  • После слияния диска повторите шаг 7 для следующего разностного диска в списке. Продолжайте для всех разностных дисков, которые merge.txtадресов файла.
  • Обратная связь

    Были ли сведения на этой странице полезными?

    Как удалить контрольные точки Hyper-V?

    Итак дано: Win Server 2016 Std
    Hyper-V машинка в работающем состоянии
    По умолчанию машина поддерживает 50 контрольных точек, и новые не создадутся, пока не будут удалены старые.

    Вопрос знатокам:
    1. Для удаления контрольных надо останавливать ВМ? А то у меня нет пункта меню удалить у контрольной точки
    2. При удалении контрольных точек (к примеру через PS, у меня боевая система не слетит? Страшновато за Ексч)
    3. Как удалить контрольные точки самым безопасным способом, чтоб не уронить ВМ? А то меня сильно смутила формулировка на технете: «Контрольные точки хранятся в виде AVHDX-файлов в том же расположении, что и VHDX-файлы для виртуальной машины. При удалении контрольной точки Hyper-V для удобства объединяет AVHDX- и VHDX-файлы. После завершения AVHDX-файл данной контрольной точки будет удален из файловой системы. «

    Объединение файлов дело хорошее, лишь бы не пошло что-то не так))
    4. Что произойдет если я не останавливая ВМ сниму галочку использовать контрольные точки, они просто удаляться? Боевая система останется на месте?

    • Вопрос задан более трёх лет назад
    • 14781 просмотр

    Комментировать
    Решения вопроса 0
    Ответы на вопрос 1

    akelsey

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

    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
    Ваш ответ на вопрос

    Войдите, чтобы написать ответ

    python

    • Python
    • +2 ещё

    Python как получить данные из 1С находящейся на удаленном рабочем столе?

    • 1 подписчик
    • 46 минут назад
    • 16 просмотров

    Контрольные точки Hyper-V

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

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

    Диспетчер Hyper-V позволяет выполнить откат на выбранную контрольную точку при вызове правой кнопкой мышки контекстного меню и выборе пункта Применить.

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

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

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

    Похожие записи:

    1. Установка и конфигурирование Hyper-V Server 2012 R2
    2. Тонкости установки Linux на Hyper-V
    3. Обновление с Windows 7/8.1 до Windows 10

    Posted by logout at 02:07 Tagged with: Hyper-V, windows

    Восстановление предыдущего состояния виртуальных машин с помощью контрольных точек

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

    Hyper-V в Windows 10 включает два типа контрольных точек:

    • Стандартные контрольные точки — контрольные точки, при инициировании которых создается моментальный снимок виртуальной машины и состояния ее памяти. Моментальный снимок не является полной резервной копией и может приводить к проблемам с согласованностью данных в системах, которые реплицируют данные между различными узлами, например Active Directory. До Windows 10 Hyper-V предоставлял только стандартные контрольные точки (прежде называвшиеся моментальными снимками).
    • Рабочие контрольные точки — контрольные точки, при инициировании которых создается согласованная (на уровне данных) резервная копия виртуальной машины при помощи службы теневого копирования томов или «заморозки» файловой системы (на виртуальной машине Linux). Моментальный снимок состояния памяти для виртуальной машины не создается.

    По умолчанию используются рабочие контрольные точки, но с помощью диспетчера Hyper-V или PowerShell это можно изменить.

    Примечание. Чтобы контрольная точка и моментальный снимок были взаимозаменяемы, в модуле Hyper-V PowerShell создается несколько псевдонимов.
    В этом документе используется термин «контрольная точка», но в аналогичных командах также может использоваться термин «моментальный снимок».

    Изменение типа контрольных точек

    Использование диспетчера Hyper-V

    1. Откройте диспетчер Hyper-V.
    2. Щелкните правой кнопкой мыши виртуальную машину и выберите Параметры.
    3. В разделе «Управление» выберите Контрольные точки.
    4. Выберите необходимый тип контрольной точки.

    Screenshot of the options for Checkpoints in the Management section of the Hyper V Manager.

    PowerShell

    Чтобы изменить контрольную точку с помощью PowerShell, можно использовать следующие команды:

    Задать стандартную контрольную точку:

    Set-VM -Name -CheckpointType Standard 

    Задать рабочую контрольную точку. При сбое рабочей контрольной точки создается стандартная контрольная точка:

    Set-VM -Name -CheckpointType Production 

    Задать рабочую контрольную точку. При сбое рабочей контрольной точки стандартная контрольная точка не создается.

    Set-VM -Name -CheckpointType ProductionOnly 

    Создание контрольных точек

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

    Использование диспетчера Hyper-V

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

    1. В диспетчере Hyper-V выберите виртуальную машину.
    2. Щелкните имя этой виртуальной машины правой кнопкой мыши и выберите пункт Контрольная точка.
    3. По завершении всего процесса данная контрольная точка будет отображаться в разделе Контрольные точкидиспетчера Hyper-V.

    PowerShell

    Создайте контрольную точку с помощью команды CheckPoint-VM.

    Checkpoint-VM -Name

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

    Get-VMCheckpoint -VMName

    Применение контрольных точек

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

    Использование диспетчера Hyper-V

    1. В разделе Виртуальные машиныдиспетчера Hyper-V выберите виртуальную машину.
    2. В разделе «Контрольные точки» щелкните правой кнопкой мыши контрольную точку, которую хотите использовать, и выберите пункт Применить.
    3. Появится диалоговое окно со следующими параметрами:
    • Создать и применить контрольную точку: создает новую контрольную точку виртуальной машины до применения более ранней контрольной точки.
    • Применить: применяет только выбранную контрольную точку. Это действие нельзя отменить.
    • Отменить: закрывает диалоговое окно, не выполняя никаких действий.

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

    PowerShell

      Чтобы просмотреть список контрольных точек виртуальной машины, выполните команду Get-VMCheckpoint.

    Get-VMCheckpoint -VMName
    Restore-VMCheckpoint -Name -VMName -Confirm:$false 

    Переименование контрольных точек

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

    По умолчанию имя контрольной точки — имя виртуальной машины в сочетании с указанием даты и времени создания контрольной точки. Стандартный формат:

    virtual_machine_name (MM/DD/YYY -hh:mm:ss AM\PM) 

    Имя должно содержать не более 100 знаков и не может быть пустым.

    Использование диспетчера Hyper-V

    1. В диспетчере Hyper-V выберите виртуальную машину.
    2. Щелкните правой кнопкой мыши контрольную точку и выберите команду Переименовать.
    3. Введите новое имя для контрольной точки. Длина этого имени не должна превышать 100 знаков. Поле не может быть пустым.
    4. По завершении нажмите клавишу ВВОД.

    PowerShell

    Rename-VMCheckpoint -VMName -Name -NewName

    Удаление контрольных точек

    Удаление контрольных точек помогает освободить пространство на узле Hyper-V.

    Контрольные точки хранятся в виде AVHDX-файлов в том же расположении, что и VHDX-файлы для виртуальной машины. При удалении контрольной точки Hyper-V для удобства объединяет AVHDX- и VHDX-файлы. После завершения AVHDX-файл данной контрольной точки будет удален из файловой системы.

    Не следует удалять непосредственно AVHDX-файлы.

    Использование диспетчера Hyper-V

    Чтобы полностью удалить контрольную точку:

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

    PowerShell

    Remove-VMCheckpoint -VMName -Name

    Экспорт контрольных точек

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

    PowerShell

    Export-VMCheckpoint -VMName -Name -Path

    Включение и отключение контрольных точек

    1. В диспетчере Hyper-V щелкните имя нужной виртуальной машины правой кнопкой мыши и выберите Параметры.
    2. В разделе Управление выберите элемент Контрольные точки.
    3. Чтобы разрешить создание контрольных точек для этой виртуальной машины, установите флажок «Включить контрольные точки». Это поведение по умолчанию.
      Чтобы отключить контрольные точки, снимите флажок Включить контрольные точки.
    4. Нажмите кнопку Применить, чтобы применить изменения. После этого нажмите кнопку ОК, чтобы закрыть диалоговое окно.

    Настройка расположения контрольной точки

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

    1. В диспетчере Hyper-V щелкните имя нужной виртуальной машины правой кнопкой мыши и выберите Параметры.
    2. В разделе Управление выберите Контрольные точки или Расположение файла контрольной точки.
    3. В окне Расположение файла контрольной точки введите путь к папке, где нужно хранить эти файлы.
    4. Нажмите кнопку Применить, чтобы применить изменения. После этого нажмите кнопку ОК, чтобы закрыть диалоговое окно.

    По умолчанию для хранения файлов конфигурации контрольных точек используется расположение: %systemroot%\ProgramData\Microsoft\Windows\Hyper-V\Snapshots .

    Демонстрация контрольной точки

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

    Стандартная контрольная точка

    1. Войдите в виртуальную машину и создайте текстовый файл на рабочем столе.
    2. Откройте файл в Блокноте и введите текст «Это стандартная контрольная точка». Не сохраняйте файл и не закрывайте Блокнот.
    3. Инструкции по изменению контрольной точки на стандартную см. здесь.
    4. Создание новой контрольной точки.

    Screenshot of the created checkpoint in the Hyper V Manager

    Применение стандартной контрольной точки с помощью диспетчера Hyper-V

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

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

    Screenshot of the dialog that asks for confirmation to apply the selected checkpoint.

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

    Рабочая контрольная точка

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

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

    1. Войдите в виртуальную машину и создайте текстовый файл. Если вы выполнили предыдущее упражнение, можно использовать существующий текстовый файл.
    2. В этом файле введите текст «Это рабочая контрольная точка», сохраните его, но не закрывайте Блокнот.
    3. Откройте диспетчер Hyper-V щелкните правой кнопкой мыши виртуальную машину и выберите пункт Контрольная точка.
    4. В окне «Создана рабочая контрольная точка» нажмите кнопку ОК.

    Screenshot of the dialog that confirms the checkpoint was created.

    Применение рабочей контрольной точки с помощью диспетчера Hyper-V

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

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

    Обратите внимание, что после применения рабочей контрольной точки виртуальная машина отключается.

    1. Запустите виртуальную машину и войдите в систему.
    2. Обратите внимание, что текстовый файл восстановлен, но, в отличие от стандартной контрольной точки, Блокнот закрыт.

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

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