В Hyper-V (2016) запущена виртуальная машина, которую я не вижу. Как узнать, есть ли еще?

Мы сделали какую-то глупость, и «клиент настоял» и «нам дали плохой совет» — это не оправдание, но мне не помешала бы помощь в уборке. Фон:

Мы добавили новый сервер Hyper-V 2019 года в группу из четырех существующих серверов 2016 года, которые реплицируются по всей сети (без использования кластеров или общего хранилища). (Плохой) план заключался в том, что до тех пор, пока мы создавали виртуальные машины в 2016 году и не обновляли их конфигурацию версии 8, мы могли без проблем выполнять репликацию туда и обратно.

На самом деле произошло то, что он, похоже, повредил файл data.vmcx серверов 2016 года (и, возможно, другие в запутанных структурах, которые Hyper-V поддерживает для отслеживания компьютеров). На серверах 2016 года виртуальные машины исчезнут, если гипервизор перезапустится. Повторная попытка репликации к ним привела к ошибке «уже существует», хотя вы их не видели. Похоже, это были только машины с конфигурацией 8, у нас было несколько машин с 5-й конфигурацией, которые, похоже, этого не делали. Или, может быть, это было поколение 2 против поколения 1, не знаю, что вызвало проблему.

В итоге мы обновили 2 сервера 2016 года до 2019 года в аварийном режиме, и новый сервер уже заказан, а два других сервера 2016 года (слишком старые для запуска 2019 года) скоро прекратят работу, но некоторые работы еще продолжаются.

ОДНАКО... сегодня мы обнаружили (через дублирующийся IP-адрес), что по крайней мере одна виртуальная машина на одном сервере 2016 года работает, но невидима. Он не отображается ни в диспетчере Hyper-V, ни в GET-VM Powershell. Я вполне уверен, что он пережил перезагрузку (но сейчас не могу проверить эту теорию).

Пройдет день или около того, прежде чем я смогу отключить последний сервер 2016 года и отключить его.

Мой вопрос таков: есть ли какой-нибудь способ (кроме GET-VM или диспетчера Hyper-V) узнать, какие виртуальные машины работают на сервере Hyper-V 2016? И убить их?

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

Могу ли я найти какой-нибудь процесс, какой-нибудь файл или запись в реестре для работающих серверов?

Как увидеть работающие виртуальные машины без диспетчера Hyper-V или Get-VM?

И да, настоящее решение было «не делай этого». Я понимаю. Но, «сделав это», есть идеи, как увидеть, что на самом деле работает?

1 ответ

В диспетчере задач на ваших хостах Hyper-V для каждой виртуальной машины будет запущен процесс vmwp.exe (рабочий процесс виртуальной машины). Уничтожение этих процессов приведет к остановке соответствующих виртуальных машин.

Другие вопросы по тегам