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

Как перезагрузить виртуальную машину

  • автор:

Удаленная перезагрузка виртуальных машин esxi

Удаленная перезагрузка виртуальных машин на esxi. Например, если виртуальная машина не отвечает на telnet 192.168.0.1 80 послать команду перезагрузить. Можно на windows поставить PowerCLI написать скрипт и поставить в планировщик. Из под Linux кто-нибудь пробовал удаленно перезагружать виртуалки?

useresxi
12.09.17 12:03:05 MSK

Можно на windows поставить PowerCLI написать скрипт и поставить в планировщик

Из под Linux кто-нибудь пробовал удаленно перезагружать виртуалки?

Можно в linux поставить bash написать скрипт и поставить в cron

l0stparadise ★★★★★
( 12.09.17 12:06:25 MSK )
Ответ на: комментарий от l0stparadise 12.09.17 12:06:25 MSK

Только как при этом PowerCLI в linux поставить?

useresxi
( 12.09.17 12:14:23 MSK ) автор топика
Ответ на: комментарий от useresxi 12.09.17 12:14:23 MSK

что из себя команда перегружающая сервер представляет ? запрос на определ порт или что-то другое ? И куда она отправляется ? на гипервизор ?

Jopich1
( 12.09.17 12:17:09 MSK )
Ответ на: комментарий от Jopich1 12.09.17 12:17:09 MSK

Идея какая. Проверяем telnet 192.168.0.1 80 если не доступен, то с помощью PowerCLI подключаемся к серверу Connect-VIServer -server имя_сервера -user root -password пароль Дальше даем команду на перезагрузку Restart-VM имя_виртуальной_машины

Можно ли это сделать через linux?

useresxi
( 12.09.17 12:28:53 MSK ) автор топика
Ответ на: комментарий от useresxi 12.09.17 12:28:53 MSK

можно если скажешь какой протокол «PowerCLI->Connct-VIServer»

Jopich1
( 12.09.17 12:40:33 MSK )
Ответ на: комментарий от Jopich1 12.09.17 12:40:33 MSK

а так если это приоретарщина то ставь https://github.com/PowerShell/PowerShell/releases под линукс

Jopich1
( 12.09.17 12:41:55 MSK )

Из под Linux кто-нибудь пробовал удаленно перезагружать виртуалки?

Заходишь через веб-интерфейс и перегружаешь.

Guest_now ★
( 12.09.17 12:51:38 MSK )
Ответ на: комментарий от Guest_now 12.09.17 12:51:38 MSK

а если в планировщике надо запланировать?

useresxi
( 12.09.17 12:58:10 MSK ) автор топика
Ответ на: комментарий от useresxi 12.09.17 12:58:10 MSK

значит по крону дергаешь ссылку через web интерфейс

Jopich1
( 12.09.17 13:15:18 MSK )
Ответ на: комментарий от Jopich1 12.09.17 13:15:18 MSK

А что, SSH отменили уже?

VovanE ★
( 12.09.17 13:20:57 MSK )
Ответ на: комментарий от Jopich1 12.09.17 13:15:18 MSK

Вернее через web интерфейс можно поставить планировщик на перезагрузку, вот только как сделать чтобы по условию перезагружалась виртуалка, когда не отвечает порт 80? а как можно web интерфейс cron дергать?

useresxi
( 12.09.17 13:21:21 MSK ) автор топика
Ответ на: комментарий от useresxi 12.09.17 12:58:10 MSK

Тогда можно через консоль esxi

Guest_now ★
( 12.09.17 13:22:05 MSK )
Ответ на: комментарий от useresxi 12.09.17 13:21:21 MSK

от только как сделать чтобы по условию перезагружалась виртуалка, когда не отвечает порт 80

Jopich1
( 12.09.17 13:23:12 MSK )
Ответ на: комментарий от VovanE 12.09.17 13:20:57 MSK

По ssh можно подключиться к esxi, но как можно через linux выполнить перезагрузку виртуальной машины?

useresxi
( 12.09.17 13:23:34 MSK ) автор топика
Ответ на: комментарий от Jopich1 12.09.17 13:23:12 MSK

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

useresxi
( 12.09.17 13:25:56 MSK ) автор топика
Ответ на: комментарий от useresxi 12.09.17 13:25:56 MSK

firebug включи в web интерфейсе и посмотри

Jopich1
( 12.09.17 13:28:10 MSK )
Ответ на: комментарий от useresxi 12.09.17 13:25:56 MSK
Guest_now ★
( 12.09.17 13:33:55 MSK )
Ответ на: комментарий от Guest_now 12.09.17 13:33:55 MSK

Спасибо, интересная штука.

useresxi
( 12.09.17 13:50:06 MSK ) автор топика
Ответ на: комментарий от Guest_now 12.09.17 13:33:55 MSK

Написано, что VMware Scripting API (for VMware ESX Server 2.x, GSX Server 2.x, GSX Server 3.x, and ESX Server 3.0) Можно ли им управлять ESXI 5.1 вопрос хороший.

useresxi
( 12.09.17 13:55:50 MSK ) автор топика
Ответ на: комментарий от useresxi 12.09.17 13:55:50 MSK

Думаю можно, посмотри свою версию API

Guest_now ★
( 12.09.17 14:21:06 MSK )

Чем esxcli или rvc не устраивает?

anonymous
( 12.09.17 15:54:09 MSK )
Ответ на: комментарий от useresxi 12.09.17 13:23:34 MSK

А что, сейчас уже не только в гугле банят? https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd. См. последнюю колонку в таблице.

VovanE ★
( 12.09.17 16:46:07 MSK )

Забилась пепельница — продавай машину, правильно 🙂

Deleted
( 12.09.17 17:50:49 MSK )

Есть vSphere CLI ( perl sdk + набор утилит )

Есть vcsa ( VCenter Server Appliance с уже установленными утилитами )

Но проще через PowerCLI, это давно основной вариант автоматизации для vSphere

router ★★★★★
( 12.09.17 18:17:32 MSK )
Ответ на: комментарий от Jopich1 12.09.17 12:41:55 MSK

PowerShell и PowerCLI это не братья и даже не однофамильцы

Формально PowerCLI под linux есть, но сильно урезанный. Даже не смотрел его.

router ★★★★★
( 12.09.17 18:20:39 MSK )

А теперь главный вопрос! А нафига перегружать если с него не telnet-ится? Что при этом поменяется? Может разобраться, почему http-сервер падает?

vodz ★★★★★
( 12.09.17 19:22:08 MSK )
Последнее исправление: vodz 12.09.17 19:23:49 MSK (всего исправлений: 1)

Ответ на: комментарий от vodz 12.09.17 19:22:08 MSK

А теперь главный вопрос! А нафига перегружать если с него не telnet-ится?

Это просто для примера. Интересна сама возможность управлять гипервизором из командной строки linux

useresxi
( 13.09.17 09:53:51 MSK ) автор топика
Ответ на: комментарий от Guest_now 12.09.17 13:33:55 MSK

Перед запуском скрипта vmware-install.pl надо зависимости поставить, которые в инструкции не описаны sudo aptitude install libarchive-zip-perl libclass-methodmaker-perl libuuid-perl libdata-dump-perl libsoap-lite-perl

Например, следующая команда позволяет подключиться к гипевизору и посмотреть какие виртуальные машины на нем есть. esxcli -s имя_сервера -u имя_пользователя -p пароль vm process list

useresxi
( 13.09.17 10:07:15 MSK ) автор топика
Ответ на: комментарий от useresxi 13.09.17 10:07:15 MSK

Например, следующая команда позволяет подключиться к гипевизору и посмотреть какие виртуальные машины на нем есть. esxcli -s имя_сервера -u имя_пользователя -p пароль vm process list

Так это скорее пример, как не юзая vsphere получить хоть что-то из linux. Иначе говоря, пока полноценной замены не будет, будет как в анектоде про японскую бензопилу и сибирских лесорубов с ломом.

vodz ★★★★★
( 13.09.17 10:43:02 MSK )
Ответ на: комментарий от useresxi 13.09.17 10:07:15 MSK

Сейчас тестирую команду vmware-cmd. Пробу остановить виртуалку.

Столкнулся с проблемой vmware-cmd —server имя_сервера —username имя_пользователя —password пароль /vmfs/volumes/. /server/server.vmx stop soft Выдает такое сообщение Server version unavailable at ‘https://имя_сервера:443/sdk/vimService.wsdl’ at /usr/share/perl/5.18/VMware/VICommon.pm line 545.

Версия гипервизора Esxi 5.1

Версия утилиты vmware-cmd —version vSphere SDK for Perl version: 5.1.0 Script ‘vmware-cmd’ version: 5.1.0

useresxi
( 13.09.17 11:04:41 MSK ) автор топика
Ответ на: комментарий от useresxi 13.09.17 11:04:41 MSK

Необходимо добавить параметр $ENV = 0 в файл VICommon.pm

sed -i «s/package Util;/package Util;\n\$ENV = 0;/g» /usr/lib/vmware-vcli/VMware/share/VMware/VICommon.pm

Если не заработает, нужно добавить параметр $ssl_opts ||= 0; в фал https.pm

sed -i «s/$ssl_opts ||= 1;/$ssl_opts ||= 0;/g» /usr/share/perl5/LWP/Protocol/https.pm

Это снижает безопасность, но работает.

useresxi
( 13.09.17 13:48:52 MSK ) автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Похожие темы

  • Форум Удаленная перезагрузка (2006)
  • Форум Виртуальная машина (2007)
  • Форум После перезагрузки виртуальной машины нет сети (2014)
  • Форум Kvm каждый раз при запуске виртуальной машины новый ethernet интерфейс (2015)
  • Форум Пропала связь с виртуальными машинами KVM (2012)
  • Форум Не пускает telnet. (2001)
  • Форум Debian 9.1 виснет при перезагрузке (2017)
  • Форум virtualbox: ввод виртуальной машины в рабочую группу, проблема с настройкой сети (2009)
  • Форум Драйверы для ESXi 5.5 на сетевой адаптер. Где искать, кроме гугла? (2017)
  • Форум Выбор схемы использования VMWare ESXi (2011)

Как перезагрузить виртуальную машину

Зайдите в личный кабинет и перейдите по следующему пути: Панель клиента > Продукты/услуги > Детали продукта > Управление сервером.
Нажмите кнопку «Перезагрузка» или «Завершение работы» и после того, как сервер выключится, нажмите кнопку «Включение».

Reboot

這篇文章有幫助嗎?

相關文章

Предоставляются ли лицензии на ОС и ПО для виртуальных машин? Какие?
Maxiplace является SPLA партнером Microsoft и может предоставить в аренду любые лицензии компании.

Как организовать VPN-тоннель от виртуальной машины (или нескольких) до моего офиса?
В рамках стандартных услуг бесплатно предоставляется возможность организовать 1 IPSEC VPN до.

Как сбросить пароль для пользователей Bitrix?
После миграции проектов с других площадок, очень часто возникает проблема со входом в панель.

Как найти файлы которые были недавно изменены на сервере?
Зачастую требуется найти файлы, которые были модифицированы/созданы недавно, или за какой-либо.

Как остановить зависшую виртуальную машину в 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.

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

Как перезагрузить виртуальную машину

  • Актуально для:
    • Parallels Desktop for Mac Standard Edition
    • Parallels Desktop for Mac Pro Edition
    • Parallels Desktop for Mac Business Edition
  • Последняя проверка: Июн 22, 2022
  • Доступные переводы:ENKRRUJPDEITFRESCNHK
  • Получить обновленияСкачать

Симптомы

Вы не можете остановить или перезапустить виртуальную машину через интерфейс пользователя Parallels Desktop, так как все кнопки неактивны.

Решение

В таких ситуациях необходимо принудительно завершить процесс виртуальной машины в приложении «Мониторинг системы». Для этого выполните следующие действия:

  1. На компьютере Mac откройте программу Мониторинг системы(Finder >Программы >Служебные программы) и найдите следующий процесс: В Parallels Desktop имя процесса — это имя виртуальной машины.
  2. Выделите этот процесс, щелкните X в левом верхнем углу и выберите параметр Принудительно завершить.
  3. Перезапустите виртуальную машину.

Была ли эта статья полезной?

Как, по вашему мнению, можно улучшить эту статью?

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

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