Как закрыть виртуальную машину
Перейти к содержимому

Как закрыть виртуальную машину

  • автор:

Удаление виртуальной машины и подключенных ресурсов

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

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

  • Портал
  • CLI
  • PowerShell
  • REST
  1. Откройте портал.
  2. Щелкните + Создать ресурс.
  3. На странице Создание ресурса в разделе Виртуальные машины выберите Создать.
  4. Внесите свой выбор в основные сведения, а затем нажмите кнопку «Далее: диски», чтобы открыть вкладку «Диски>«.
  5. В разделе Параметры диска по умолчанию для диска ОС установлено значение Удалить с виртуальной машиной. Если вы не хотите удалять диск ОС, снимите флажок. Если вы используете существующий диск ОС, по умолчанию при удалении виртуальной машины он отключается. Screenshot checkbox to choose to have the disk deleted when the VM is deleted.
  6. В разделе Диски данных можно подключить существующий диск данных или создать новый диск и подключить его к виртуальной машине.
    • Если выбрать «Создать и подключить новый диск», откроется страница «Создать новый диск«, и вы можете выбрать, следует ли удалить диск при удалении виртуальной машины. Screenshot showing a checkbox to choose to delete the data disk when the VM is deleted.
    • Если вы решили подключить существующий диск, можно выбрать диск, LUN и удалить диск данных при удалении виртуальной машины. Screenshot showing the checkbox to choose to delete the data disk when the VM is deleted.
  7. После добавления сведений о диске нажмите кнопку «Далее: сеть», чтобы открыть вкладку «Сеть>«.
  8. В нижней части страницы выберите Удалить общедоступный IP-адрес и сетевой адаптер при удалении виртуальной машины. Screenshot showing the checkbox to choose to delete the public IP and NIC when the VM is deleted.
  9. Когда все будет готово, выберите Проверка и создание.
  10. Вы можете проверить, какие ресурсы вы решили удалить при удалении виртуальной машины.
  11. Если вы удовлетворены своим выбором и прошли проверку, выберите Создать, чтобы развернуть виртуальную машину.

Чтобы указать, что должно происходить с подключенными ресурсами при удалении виртуальной машины, используйте параметры delete-option . Для каждого из них можно задать значение Delete , которое окончательно удаляет ресурс при удалении виртуальной машины или Detach , которое отключает ресурс и оставляет его в Azure, чтобы его можно было использовать позже. Значение по умолчанию для виртуальных машин, созданных с помощью CLI, — это отключение диска ОС. Плата за ресурсы, помеченные Detach , как и за диски, будет взиматься по мере необходимости.

  • —os-disk-delete-option —Диск ОС.
  • —data-disk-delete-option — Диск данных.
  • —nic-delete-option — Сетевой адаптер.

В этом примере мы создадим виртуальную машину с именем myVM в группе ресурсов с именем myResourceGroup с помощью образа myImage, а при удалении виртуальной машины необходимо удалить диск ОС и сетевой адаптер.

az vm create \ --resource-group myResourceGroup \ --name myVM \ --image myImage \ --public-ip-sku Standard \ --nic-delete-option delete \ --os-disk-delete-option delete \ --admin-username azureuser \ --generate-ssh-keys 

Чтобы указать, что должно происходить с подключенными ресурсами при удалении виртуальной машины, используйте параметры DeleteOption . Для каждого из них можно задать значение Delete , которое окончательно удаляет ресурс при удалении виртуальной машины или Detach , которое отключает ресурс и оставляет его в Azure, чтобы его можно было использовать позже. По умолчанию для виртуальных машин, созданных с помощью PowerShell, при удалении виртуальной машины диск ОС отключается. Плата за ресурсы, помеченные Detach , как и за диски, будет взиматься по мере необходимости.

Используются следующие параметры DeleteOption :

  • -OSDiskDeleteOption —Диск ОС.
  • -DataDiskDeleteOption — Диск данных.
  • -NetworkInterfaceDeleteOption — Сетевой адаптер.

В этом примере мы создадим виртуальную машину и настроим диск ОС и сетевой адаптер на удаление при удалении виртуальной машины.

New-AzVm ` -ResourceGroupName "myResourceGroup" ` -Name "myVM" ` -OSDiskDeleteOption Delete ` -NetworkInterfaceDeleteOption Delete ` -Location "East US" ` -VirtualNetworkName "myVnet" ` -SubnetName "mySubnet" ` -SecurityGroupName "myNetworkSecurityGroup" ` -PublicIpAddressName "myPublicIpAddress" 

В этом примере показано, как настроить диск данных и сетевой адаптер на удаление при удалении виртуальной машины. Обратите внимание, что версия API, указанная в параметре версии API, должна быть «2021-03-01» или более поздней, чтобы настроить параметр удаления.

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/myVM?api-version=xx < "storageProfile": < "dataDisks": [ < "diskSizeGB": 1023, "name": "myVMdatadisk", "createOption": "Empty", "lun": 0, "deleteOption": "Delete" >] >, "networkProfile": < "networkInterfaces": [ < "id": "/subscriptions/. /Microsoft.Network/networkInterfaces/myNIC", "properties": < "primary": true, "deleteOption": "Delete" >> ] > > 

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

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic?api-version=xx < "properties": < "enableAcceleratedNetworking": true, "ipConfigurations": [ < "name": "ipconfig1", "properties": < "publicIPAddress": < "id": "/subscriptions/../publicIPAddresses/test-ip", "properties": < "deleteOption": "Delete" >>, "subnet": < "id": "/subscriptions/../virtualNetworks/rg1-vnet/subnets/default" >> > ] >, "location": "eastus" > 

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

При удалении виртуальной машины можно изменить поведение.

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

az resource update --resource-group myResourceGroup --name myVM --resource-type virtualMachines --namespace Microsoft.Compute --set properties.storageProfile.osDisk.deleteOption=detach 

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

$vmConfig = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM $vmConfig.StorageProfile.OsDisk.DeleteOption = 'Delete' $vmConfig.StorageProfile.DataDisks | ForEach-Object < $_.DeleteOption = 'Delete' >$vmConfig.NetworkProfile.NetworkInterfaces | ForEach-Object < $_.DeleteOption = 'Delete' >$vmConfig | Update-AzVM 

В следующем примере в виртуальную машину вносятся обновления для удаления сетевого адаптера, диска ОС и диска данных при удалении виртуальной машины. Обратите внимание, что версия API, указанная в параметре версии API, должна быть «2021-03-01» или более поздней, чтобы настроить параметр удаления.

PATCH https://management.azure.com/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/virtualMachines/testvm?api-version=2021-07-01 < "properties": < "hardwareProfile": < "vmSize": "Standard_D2s_v3" >, "storageProfile": < "imageReference": < "publisher": "MicrosoftWindowsServer", "offer": "WindowsServer", "sku": "2019-Datacenter", "version": "latest", "exactVersion": "17763.3124.2111130129" >, "osDisk": < "osType": "Windows", "name": "OsDisk_1", "createOption": "FromImage", "caching": "ReadWrite", "managedDisk": < "storageAccountType": "Premium_LRS", "id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/OsDisk_1" >, "deleteOption": "Delete", "diskSizeGB": 127 >, "dataDisks": [ < "lun": 0, "name": "DataDisk_0", "createOption": "Attach", "caching": "None", "writeAcceleratorEnabled": false, "managedDisk": < "storageAccountType": "Premium_LRS", "id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/DataDisk_0" >, "deleteOption": "Delete", "diskSizeGB": 1024, "toBeDetached": false >, < "lun": 1, "name": "DataDisk_1", "createOption": "Attach", "caching": "None", "writeAcceleratorEnabled": false, "managedDisk": < "storageAccountType": "Premium_LRS", "id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/DataDisk_1" >, "deleteOption": "Delete", "diskSizeGB": 1024, "toBeDetached": false > ] >, "osProfile": < "computerName": "testvm", "adminUsername": "azureuser", "windowsConfiguration": < "provisionVMAgent": true, "enableAutomaticUpdates": true, "patchSettings": < "patchMode": "AutomaticByOS", "assessmentMode": "ImageDefault", "enableHotpatching": false >>, "secrets": [], "allowExtensionOperations": true, "requireGuestProvisionSignal": true >, "networkProfile": < "networkInterfaces": [ < "id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Network/networkInterfaces/nic336", "properties": < "deleteOption": "Delete" >> ] > > > 

Принудительное удаление для виртуальных машин

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

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

  1. Откройте портал.
  2. Перейдите к виртуальной машине.
  3. На странице Обзор выберите Удалить.
  4. На панели Удаление виртуальной машины установите флажок Применить принудительное удаление.
  5. Щелкните ОК.

Используйте параметр —force-deletion для az vm delete.

az vm delete \ --resource-group myResourceGroup \ --name myVM \ --force-deletion none 

Используйте параметр -ForceDeletion для Remove-AzVM.

Remove-AzVm ` -ResourceGroupName "myResourceGroup" ` -Name "myVM" ` -ForceDeletion $true 

REST API Azure можно использовать для принудительного удаления виртуальных машин. Используйте параметр forceDeletion для Виртуальные машины — Удалить.

Принудительное удаление для масштабируемых наборов

Принудительное удаление позволяет принудительно удалять масштабируемый набор виртуальных машин, уменьшая задержку удаления и немедленно освобождая подключенные ресурсы. Принудительное удаление не сразу освобождает MAC-адрес, связанный с виртуальной машиной, так как это физический ресурс, который может занять до 10 минут. Если необходимо немедленно повторно использовать MAC-адрес на новой виртуальной машине, принудительное удаление не рекомендуется. Принудительное удаление следует использовать только в том случае, если вы не планируете повторно использовать виртуальные жесткие диски. Принудительное удаление можно выполнить посредством портала, интерфейса командной строки, PowerShell и REST API.

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

  1. Откройте портал.
  2. Перейдите к масштабируемой группе виртуальных машин.
  3. На странице Обзор выберите Удалить.
  4. На панели «Удалить масштабируемый набор виртуальных машин» выберите проверка box для принудительного удаления.
  5. Щелкните ОК.

—force-deletion Используйте параметр для az vmss delete .

az vmss delete \ --resource-group myResourceGroup \ --name myVMSS \ --force-deletion true 

Используйте параметр -ForceDeletion для Remove-AzVmss.

Remove-AzVmss ` -ResourceGroupName "myResourceGroup" ` -Name "myVMSS" ` -ForceDeletion $true 

С помощью REST API Azure можно применить принудительное удаление к масштабируемой группе. Используйте параметр forceDeletion для Масштабируемые наборы виртуальных машин — Удалить.

Вопросы и ответы

Вопрос. Работает ли эта функция с общими дисками?

Ответ. Для общих дисков нельзя задать для свойства «deleteOption» значение «Delete». Вы можете оставить его пустым или задать для него значение «Detach»

Вопрос. Какие ресурсы Azure поддерживают эту функцию?

Ответ. Эта функция поддерживается для всех типов управляемых дисков, используемых в качестве дисков ОС и дисков данных, сетевых адаптеров и общедоступных IP-адресов

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

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

Вопрос. Как эта функция работает с гибким масштабируемым набором виртуальных машин?

Ответ. Для гибкого масштабируемого набора виртуальных машин диски, сетевые карты и общедоступные IP-адреса устанавливаются deleteOption Delete по умолчанию, чтобы эти ресурсы автоматически очищались при удалении виртуальных машин.

Для дисков данных, которые были явно созданы и подключены к виртуальным машинам, можно изменить это свойство на «Detach», а не «Delete», если диски должны сохраняться после удаления виртуальной машины.

Вопрос. Поддерживают ли другие виртуальные машины эту функцию?

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

Вопрос. Как сохранить диски, сетевые адаптеры и общедоступные IP-адреса, связанные с виртуальной машиной?

Ответ. По умолчанию диски, сетевые адаптеры и общедоступные IP-адреса, связанные с виртуальной машиной, при ее удалении сохраняются. Если эти ресурсы настроены на автоматическое удаление, можно обновить параметры таким образом, чтобы ресурсы оставались после удаления виртуальной машины. Для сохранения этих ресурсов задайте для свойства deleteOption значение Detach .

Следующие шаги

Дополнительные сведения об основных возможностях управления виртуальными машинами см. в разделе Руководство. Создание виртуальных машин Linux и управление ими с помощью Azure CLI.

Как включить или отключить Hyper-V в Windows 11 Pro и Домашняя

Как включить или отключить Hyper-V в Windows 11

Windows 11, как и предыдущие версии системы, включает поддержку платформы виртуализации Hyper-V, позволяющую легко создавать и использовать виртуальные машины. Функция по умолчанию доступна лишь в редакциях Pro и Корпоративная, но при желании Hyper-V можно установить и в Windows 11 Домашняя.

  • Как включить или установить Hyper-V в Windows 11
    • Windows 11 Pro и Enterprise
    • Windows 11 Домашняя

    Установка Hyper-V в Windows 11

    Виртуальные машины Hyper-V доступны в виде компонента в Windows 11 Pro и Enterprise, но отсутствуют в редакции «Домашняя», хотя мы можем включить их и там, что также будет показано в инструкции.

    Прежде чем приступать, учитывайте: для работы виртуальных машин Hyper-V требуется поддержка виртуализации. Быстрый способ проверить её наличие — открыть диспетчер задач, перейти на вкладку «Производительность» и выбрать пункт «ЦП».

    Статус виртуализации в диспетчере задач

    Включение Hyper-V В Windows 11 Pro и Enterprise

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

    1. Нажмите правой кнопкой мыши по кнопке «Пуск», выберите пункт «Выполнить», введите appwiz.cpl и нажмите Enter. Запуск appwiz.cpl
    2. В открывшемся окне слева нажмите «Включение или отключение компонентов Windows». Включение или отключение компонентов Windows 11
    3. В списке компонентов отметьте Hyper-V так, чтобы вложенные пункты тоже были отмечены — «Платформа Hyper-V» и «Средства управления Hyper-V». Включить компоненты Hyper-V в Windows 11
    4. Нажмите «Ок», дождитесь завершения установки, при появлении запроса о перезагрузке компьютера — выполните перезагрузку.

    Готово, компоненты Hyper-V установлены, а инструменты управления виртуальными машинами вы сможете найти в пункте «Инструменты Windows» меню пуск (раздел «Все приложения») или Панели управления.

    Компоненты управления Hyper-V в инструментах Windows

    Как установить Hyper-V в Windows 11 Домашняя

    pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txt for /f %%i in ('findstr /i . hv.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" del hv.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL pause

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

    Запуск bat файла для установки Hyper-V в Windows 11 Домашняя

    Это запустит установку необходимых компонентов.

    Процесс установки Hyper-V в Windows 11 Домашняя

    По завершении установки вам предложат выполнить перезагрузку в окне командной строки. Введите Y и нажмите Enter, дождитесь завершения перезагрузки и установки необходимых для работы Hyper-V компонентов.

    В результате всё, что требуется для работы виртуальных машин Hyper-V и управления ими будет установлено, а нужные пункты для запуска настроек вы найдете в «Инструментах Windows» в меню Пуск и Панели управления.

    Как отключить Hyper-V

    Возможны два способа и ситуации необходимости отключения Hyper-V.

    Первый — простое удаление компонентов, которое подойдёт в ситуации, когда использовать виртуальные машины Hyper-V в этой системе больше не планируется:

    1. Нажмите клавиши Win+R на клавиатуре, введите appwiz.cpl и нажмите Enter.
    2. Слева нажмите по пункту «Включение или отключение компонентов Windows».
    3. Снимите отметку с компонента Hyper-V и нажмите «Ок».
    4. Дождитесь удаления, при запросе о перезагрузке Windows — выполните её.

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

    1. Запустите командную строку от имени Администратора.
    2. Введите команду

    bcdedit /set hypervisorlaunchtype off
    bcdedit /set hypervisorlaunchtype auto

    А вдруг и это будет интересно:

    • Лучшие бесплатные программы для Windows
    • Как разрешить обычному пользователю запускать программу от имени Администратора без ввода пароля
    • Как выйти из полноэкранного режима в Windows
    • Как включить компактный вид панели быстрых настроек Windows 11
    • Шрифты в интерфейсе Chrome стали более жирными и размытыми — как исправить?
    • Msftconnecttest.com — что это и как исправить возможные ошибки
    • Windows 11
    • Windows 10
    • Android
    • Загрузочная флешка
    • Лечение вирусов
    • Восстановление данных
    • Установка с флешки
    • Настройка роутера
    • Всё про Windows
    • В контакте
    • Одноклассники

      Сергей 13.07.2023 в 21:30

    • Dmitry 14.07.2023 в 10:24
    • Dmitry 24.07.2023 в 16:24

    Как отключить Hyper-V в Windows 10

    Как отключить Hyper-V в Windows 10

    Компоненты Hyper-V в Windows 10 позволяют создавать виртуальные машины встроенными средствами системы (подробнее: Виртуальные машины Hyper-V в Windows 10), а также служит для работы таких компонентов как Песочница Windows 10. Однако в некоторых случаях включенные компоненты Hyper-V могут мешать: например, для запуска виртуальных машин VirtualBox или эмуляторов Android.

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

    • Отключение Hyper-V путем удаления в компонентах
    • Как отключить Hyper-V без удаления
    • Видео инструкция
    • Дополнительные способы удалить Hyper-V

    Отключение Hyper-V в компонентах Windows 10

    Первый способ отключить Hyper-V предполагает использование соответствующего раздела «Программы и компоненты» в панели управления, шаги будут следующими:

    1. Откройте Панель управления, для этого можно использовать поиск в панели задач, либо нажать Win+R на клавиатуре, ввести control и нажать Enter.
    2. В панели управления перейдите в раздел «Программы и компоненты» или «Удаление программы».
    3. Слева нажмите по пункту «Включение или отключение компонентов Windows». Включение и отключение компонентов Windows
    4. Снимите отметку с пункта «Hyper-V» и примените настройки. Отключить Hyper-V в Windows 10
    5. При появлении запроса на перезагрузку, перезагрузите Windows 10 для вступления изменений в силу.

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

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

    Как отключить Hyper-V без удаления компонентов

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

    bcdedit /set hypervisorlaunchtype off

    После перезагрузки Hyper-V (гипервизор) будет выключен и не будет влиять на запуск каких-либо других виртуальных машин, при этом сам компонент останется включенным.

    Отключение Hyper-V в меню загрузки Windows 10

    Видео

    Дополнительные способы удалить Hyper-V

    Помимо описанных способов, вы можете удалить компоненты Hyper-V в PowerShell с помощью команды

    Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor

    Или, при использовании командной строки, с помощью команды:

    DISM /Online /Disable-Feature:Microsoft-Hyper-V

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

    А вдруг и это будет интересно:

    • Лучшие бесплатные программы для Windows
    • Как разрешить обычному пользователю запускать программу от имени Администратора без ввода пароля
    • Как выйти из полноэкранного режима в Windows
    • Как включить компактный вид панели быстрых настроек Windows 11
    • Шрифты в интерфейсе Chrome стали более жирными и размытыми — как исправить?
    • Msftconnecttest.com — что это и как исправить возможные ошибки
    • Windows 11
    • Windows 10
    • Android
    • Загрузочная флешка
    • Лечение вирусов
    • Восстановление данных
    • Установка с флешки
    • Настройка роутера
    • Всё про Windows
    • В контакте
    • Одноклассники

      Олександр 17.01.2021 в 13:03

    • Dmitry 17.01.2021 в 14:10
    • Dmitry 06.09.2021 в 15:50

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

    date

    06.09.2022

    user

    itpro

    directory

    Hyper-V, PowerShell, Windows Server 2016, Windows Server 2019

    comments

    комментариев 5

    Если ваша виртуальная машина, запущенная на хосте Hyper-V зависла по каким-то причинам, перестала отвечать, и не реагирует на кнопки включения, выключения, перезагрузки в консоли Hyper-V Manager, единственный быстрый способ принудительно остановить такую машину — завершить процесс этой ВМ в хостовой ОС. Вы можете принудительно перезапустить конкретную ВМ в Hyper-V на Windows Server 2022/2019/2016 (или бесплатного Hyper-V Server) без перезагрузки всего сервера и запущенных на нем виртуальных машин (полезно, если у вас нет HA кластера Hyper-V и Live-Migration).

    Виртуальная машина Hyper-V зависла в статусе Stopping или Starting

    Администраторы Hyper-V периодически сталкиваются с ситуациями, когда что одна из ВМ на хосте Hyper-V зависает в состоянии Stopping (Stopping-Critical), Starting (Starting 10%) или Backing up.

    Виртуальная машина hyper зависла в статусе stopping

    При этом гостевая ОС перестаёт отвечать, и кнопки “Turn Off”,” Shut Down” и” Reset” вв консоли Hyper-V Manager становиться недоступны или при нажатии возвращают ошибку:

    Failed to change state The operation cannot be performed while the object is in its current state

    The operation cannot be performed while the object is in its current state

    Если ваш хост Hyper-V не показывает список зарегистрированных виртуальных машин в консоли Hyper-V Manager и возвращает ошибку “Connecting to Virtual Machine Management service”, вам нужно перезапустить процесс vmms.exe (служба Hyper-V Virtual Machine Management). Это безопасная операция, которая не прервет работу запушенных виртуальных машин. Проще всего перезапустить процесс службы vmms через консоль services.msc или PowerShell командой:

    перезапустить службу vm management service hyper v

    Как завершите процесс зависшей виртуальной машины Hyper-V?

    Чтобы принудительно выключить/ перезапустить зависшую виртуальную машину без перезагрузки всего хостового сервера Hyper-V, нужно завершить ее рабочий процесс на гостевой ОС. Все ВМ на хосте Hyper-V запускаются с помощью процесса vmwp.exe (Virtual Machine Worker Process). Для поиска конкретного PID процесса нужно узнать GUID виртуальной машины.

    Настройки hyper v manager

    Вы можете найти GUID ВМ в консоли управления Hyper-V Manager. Откройте настройки сервера (Hyper-V Settings). В разделе Server указан каталог, в котором хранятся конфигурационные файлов ВМ (в нашем примере D:\VMStore).

    Откройте этот каталог в File Explorer и найдите каталог с именем зависшей виртуальной машины. Скопируйте GUID, который указан в имени конфигурационного файла ВМ с расширением *.vmcx.

    hyper-v guid виртуальной машины

    Теперь нужно запустить диспетчер задач (Task Manager) и перейти на вкладку Details. Все виртуальные машины запускаются в рамках собственного экземпляра процесса vmwp.exe. Чтобы определить какой процесс за какую ВМ отвечает, нам нужен полученный ранее GUID зависшей ВМ. Найдите процесс vmwp.exe, у которого в столбце User name содржится GUID вашей ВМ. Завершите данный процесс (End Task).

    Завершить процесс зависшей вирулаьной машины Hyper-V

    По аналогии вы можете найти и завершить процесс подвисшей виртуальной машины на хосте Hyper-V с помощью утилиты Process Explorer.

    process explorer завершить процесс vmwp зависшей виртуальонй машины hyper-v

    1. Запустите Process Explorer с правами администратора и нажмите Find Handle or DLL (или нажмите Ctrl-F );
    2. В строке поиска укажите путь к виртуальному диску зависшей виртуальной машину (*.vhdx);
    3. Process Explorer выведет все процессы, которые используются VHDX файл виртуальной машины;
    4. Найдите процесс виртуальной машину vmwp.exe и завершите его.

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

    Выключить зависшую ВМ на Hyper-V с помощью PowerShell

    Гораздо проще найти и завершить процесс зависшей виртуальной машины с помощью PowerShell. Запустите консоль PowerShell с правами администратора (учетная запись должна состоять в локальной группе Hyper-V administrators).

    В этом случае встроенный командлет Stop-VM из модуля Hyper-V PowerShell не позволит вам выключить ВМ. Если попробовать выполнить команду Stop-VM –Force , она также зависает. Очевидно ожидает ответа от ВМ.

    Вы также можете завершить процесс ВМ по ее VM ID. Можно получить GUID ВМ по ее имени. Например, для ВМ с именем SVM-GUARDEDHOST1, выполните команду:

    $VMGUID = (Get-VM «SVM-GUARDEDHOST1»).ID

    Если вы не хотите набирать полное имя ВМ, можете вывести список всех ВМ, зарегистрированных на данном хосте Hyper-V и их ID:

    Get-VM | Select VMName, VMId, Parh

    получить id виртуальной машины hyper v из powershell

    Скопируйте VMID нужной вам ВМ из полученного списка.

    Теперь нужно найти идентификатор процесса (PID) ‘vmwp.exe’ для вашего VMGUID:

    Затем нужно принудительно завершить рабочий процесс подвисшей виртуальной машины Hyper-V с помощью команды Stop-Process:

    Stop-Process ($VMWMProc.ProcessId) –Force

    powershell остановить зависшую ВМ

    Совет. У нас также описана аналогичная процедура по завершению процесса зависшей ВМ на хосте VMWare ESXi.

    Виртуальная машина Hyper-V зависает при резервном копировании

    При выполнении резервного копирования ВМ на хосте Hyper-V вы можете столкнуться с зависанием виртуальной машины Hyper-V в состоянии Running и статусом Backing up. При этом вы не можете остановить или запустить ВМ через Hyper-V Manager.

    hyper-v: виртуальня машина зависла в статусе backing up

    Если вы не хотите перезагружать хост Hyper-V, проверьте сначала состояние службу «Microsoft Hyper-V VSS Writer»:

    vssadmin list writers

    проверить состояние vss writer

    Убедитесь, что команда не вернула ошибку. Значит нужно перезапустить службу «Hyper-V Virtual Machine Management» с помощью команды PowerShell:

    Get-service vmms | stop-process
    Убедитесь, что процесс vmms.exe завершен. Если нет, завершите его принудительно:

    Get-Process | Where-Object < $_.ProcessName -eq 'vmms' >| Stop-Process

    Теперь можно запустить службу Hyper-V:

    Start-Service vmms
    Перезапуск службы Virtual Machine Management должно сбросить состояние VSS Writer для Hyper-V.

    Hyper-V: Не удалось изменить состояние виртуальной машины

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

    Virtual Machine Connection Не удалось изменить состояние. Failed to Change State.

    hyper v ошибка запуска ВМ failed to change state

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

    hyper v сетевая карта с configuration error

    • Проверьте что на диске, на котором хранятся файлы ВМ достаточно свободного места;
    • Если в настройках ВМ подключен ISO образ, проверьте этот файл доступен;
    • Проверьте сетевые настройки ВМ. Виртуальные сетевые адаптеры должны быть подключены к существующему виртуальному коммутатору Hyper-V (не должно быть статуса Network Adapter – Configuration Error);
    • Проверьте, что служба Hyper-V Virtual Management Service (VMMS) запушена, и не зависла в статусе Stopping;
    • Убедитесь, что ваш антивирус не блокирует доступ к файлам ВМ. Добавьте пути к каталогу с виртуальными машинами в исключения антивируса ( см. как добавить исключения во встроенный антивирус Windows Defender в Windows Server);
    • Проверьте ошибки в журнале событий Event Viewer -> Applications and Services Logs -> Microsoft -> Windows -> Hyper-V-Worker;
    • Отключите режим сна и гибернации в гостевых операционных системах виртуальных машин. В Windows спящий режим отключается через Control Panel –>Power Options -> Change plan settings -> Put the computer to sleep -> Never. Чтобы отключить спящий режим в гостевой ОС с Ubuntu Linux, выполните команду: systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

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

    Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

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

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