Снимки, которые известны как контрольные точки в Hyper-V, пригодятся, когда вам нужно сохранить последнее правильно работающее состояние виртуальной машины перед развертыванием нового программного обеспечения или установкой обновления. Однако вы должны быть осторожны при удалении снимков, в противном случае вы можете потерять важные данные.
В этом посте мы объясним механизм контрольных точек Hyper-V. Мы рассмотрим, когда использовать эти контрольные точки, и покажем, как удалить снимки с помощью интерфейса Hyper-V Manager и с использованием PowerShell.
Механизм контрольных точек Hyper-V
Прежде чем мы подробно расскажем о том, как работают контрольные точки Hyper-V, позвольте мне прояснить любые недопонимания, связанные с терминами снимки и контрольные точки.
Снимки и контрольные точки представляют собой одно и то же возможность сохранения состояния виртуальной машины в определенный момент времени. Это состояние можно будет восстановить в будущем, если возникнет проблема с виртуальной машиной. Компания Microsoft называет эту функцию сохранения состояния виртуальной машины снимками для версий до Windows Server 2012 R2. В последующих версиях Microsoft использует термин контрольные точки. Кроме того, снимки – это термин, используемый в средах VMware. В этом посте мы используем оба термина взаимозаменяемо, так как описанный механизм и процедуры применимы как к снимкам, так и к контрольным точкам. Так как же работают контрольные точки/снимки?
Как сохраняются контрольные точки Hyper-V
Данные виртуальной машины Hyper-V сохраняются в виде файла .vhdx. При создании контрольной точки файл .vhdx становится доступным только для чтения. Новые изменения, примененные к виртуальной машине, сохраняются в дифференцирующем виртуальном жестком диске. Этот дифференцирующий виртуальный жесткий диск сохраняется в виде файла .avhdx в той же папке, что и файл .vhdx.
Можно создавать цепочку контрольных точек. Каждая контрольная точка представляет состояние виртуальной машины в определенный момент времени. Каждая контрольная точка представлена файлом .avhdx.
Механизм контрольных точек Hyper-V эффективен с точки зрения использования хранилища. Однако производительность операций чтения виртуального диска значительно снижается. Причина в том, что для чтения файлов требуется проверка всей цепочки контрольных точек (.avhdx файлов), пока не будет достигнут файл .vhdx виртуальной машины.
На скриншоте ниже вы можете увидеть один родительский виртуальный диск .vhdx и два диска .avhdx после создания двух контрольных точек Hyper-V для виртуальной машины.
Согласно этому механизму, удаление файла .avhdx не приводит к удалению контрольной точки. Вместо этого такое удаление разрывает цепочку и приводит к потере данных.
Чтобы удалить контрольную точку без потери данных, файл .avhdx следует объединить с другим (родительским) файлом .avhdx (или файлом .vhdx) в цепочке. Если это единственная контрольная точка для виртуальной машины, файл .avhdx объединяется с файлом .vhdx, и файл .vhdx снова становится доступным для записи.
В следующем разделе мы покажем, как удалить снимки (точки контроля) из интерфейса Hyper-V Manager без потери данных.
Удаление снимков с использованием интерфейса Hyper-V Manager
Hyper-V Manager – это бесплатный графический инструмент для управления хостами и ВМ Hyper-V. Его можно использовать для создания ВМ, выделения оперативной памяти, создания снимков или их удаления.
Для удаления снимка Hyper-V (точки контроля) из интерфейса Hyper-V Manager:
- Выберите хост из левой панели.
- Выберите ВМ из панели Виртуальные машины.
- Щелкните правой кнопкой мыши на снимке, который нужно удалить, в панели Точки контроля. Выберите Удалить точку контроля…
На скриншоте ниже вы можете видеть родительский виртуальный диск .vhdx и файл снимка .avhdx после удаления второго снимка Hyper-V.
Удаление снимков с помощью PowerShell
Для выполнения пакетных действий с ВМ Hyper-V Windows PowerShell эффективнее, чем GUI Hyper-V Manager, так как вы можете использовать команды для удаления нескольких снимков сразу. Кроме того, некоторые действия, такие как удаление точки контроля, для которой нет опции удаления в GUI, можно выполнить только с помощью PowerShell.
A checkpoint that cannot be deleted from the Hyper-V Manager is called a lingering checkpoint. Lingering checkpoints happen when a VM backup job fails.
Когда начинается задание резервного копирования виртуальной машины с использованием решения для резервного копирования, виртуальная машина переводится в режим только чтения. Новые данные, отправленные пользователями виртуальной машины, сохраняются в специальном типе контрольной точки, называемой контрольной точкой восстановления. Когда задание резервного копирования завершается успешно, файл .avhdx контрольной точки восстановления объединяется с файлом .vhdx виртуальной машины, и контрольная точка автоматически удаляется. Однако, если задание резервного копирования завершается неудачно, контрольная точка восстановления не удаляется автоматически и остается как зависшая контрольная точка.
Чтобы удалить контрольную точку с помощью PowerShell:
- Откройте Windows PowerShell ISE от имени администратора.
- Получите точное имя контрольной точки с помощью команды Get-VMSnapshot. Укажите имя виртуальной машины при запросе.
- Выполните команду:
Get-VM -Name <VMName> | Get-VMSnapShot -Name <CheckpointName> | Remove-VMSnapshot
- Убедитесь, что контрольная точка была успешно удалена с помощью команды:
Get-VMSnapshot
Заключение
Создание контрольных точек является хорошей практикой для целей тестирования и создания среды приемки. Однако не рекомендуется оставлять контрольные точки в производственной среде. Контрольные точки негативно влияют на производительность Hyper-V при операциях чтения.
Удаление файлов контрольных точек с диска прямым способом ведет к потере данных. Контрольные точки следует удалять из менеджера Hyper-V. Также можно использовать PowerShell для удаления их, особенно если в графическом интерфейсе менеджера Hyper-V отсутствует опция удаления.
Принятие решения о резервном копировании и репликации критически важно для защиты ваших данных и приложений.
Source:
https://www.nakivo.com/blog/how-to-delete-hyper-v-snapshots/