RazorBlade
@RazorBlade

Как включить/выключить VM в кластере через Powershell?

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

$cluster01 = New-PSSession -ComputerName "hv-02" 
Invoke-Command -Session $cluster01 -ScriptBlock {
Get-ClusterGroup -Name VM-01 | Stop-VM
Get-ClusterGroup -Name VM-02 | Stop-VM
}

$cluster02 = New-PSSession -ComputerName "hv-06" 
Invoke-Command -Session $cluster02 -ScriptBlock {
Get-ClusterGroup -Name VM-03 | Stop-VM
Get-ClusterGroup -Name VM-04 | Stop-VM
}

Однако, если ВМ находится не на той ноде (в примере hv-02 и hv-06), к которой подключаюсь, то скрипт не выполняется, т.к. он не находит ВМ. Выключаются только те машины, которые находятся на подключаемых нодах.
Можно конечно по очереди подключаться ко всем нодам и выключать нужные машины, но это не совсем правильно, к тому же добавляет прилично времени к полному выключению всех нужных машин, т.к. все командлеты выполняются по очереди, до полного окончания (выключения ВМ).
Если использовать командлет Stop-ClusterGroup -Name VM-01, то машины уходят в состояние паузы (Suspend).
  • Вопрос задан
  • 1086 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы