Live Migration — перемещение работающей виртуальной машины между узлами кластера без остановки. Для «ИнжПроект» это основная ценность: плановое обслуживание серверов выполняется без простоя.
# Live Migration — перемещение ВМ между узлами
Move-VM -Name "ERP-Server" -DestinationHost "HV02" `
-IncludeStorage -DestinationStoragePath "C:\ClusterStorage\Volume1\VMs"
# Quick Migration — для случаев, когда Live Migration невозможна
# (пауза ВМ → перемещение → возобновление, простой 2-5 сек)
Move-ClusterVirtualMachineRole -Name "ERP-Server" `
-Node "HV02" -MigrationType Quick
# Мониторинг миграции
Get-VM -Name "ERP-Server" | Select-Object Name,State,Status
# Проверка, какие ВМ на каком узле
Get-ClusterGroup | Where-Object { $_.GroupType -eq 'VirtualMachine' } |
Format-Table Name,OwnerNode,State -AutoSize
Cluster-Aware Updating (CAU) — автоматическое обновление кластера без простоя. CAU последовательно обновляет каждый узел: мигрирует ВМ на соседний узел, устанавливает обновления, перезагружает, возвращает ВМ обратно, переходит к следующему узлу.
# Установка CAU
Install-WindowsFeature RSAT-Clustering-PowerShell
Add-CauClusterRole -ClusterName "HV-Cluster" `
-DaysOfWeek Sunday `
-WeeksOfMonth 2 `
-CauPluginName Microsoft.WindowsUpdatePlugin `
-MaxRetriesPerNode 3 `
-MaxFailedNodes 1 `
-RequireAllNodesOnline `
-Force
# Ручной запуск обновления кластера
Invoke-CauRun -ClusterName "HV-Cluster" `
-CauPluginName Microsoft.WindowsUpdatePlugin `
-MaxRetriesPerNode 3 `
-RequireAllNodesOnline `
-EnableFirewallRules `
-Force
# Мониторинг процесса
Get-CauRun -ClusterName "HV-Cluster" | Format-List *
# Журнал обновлений
Get-CauReport -ClusterName "HV-Cluster" -Last 5 | Format-Table
Настройки Failover для каждой виртуальной машины определяют поведение при сбое узла:
# Настройка failover для критичных ВМ
$vm = Get-ClusterGroup -Name "ERP-Server"
$vm | Set-ClusterParameter -Name AutoFailbackType -Value 1 # Auto failback
$vm | Set-ClusterParameter -Name FailbackWindowStart -Value 2 # 02:00
$vm | Set-ClusterParameter -Name FailbackWindowEnd -Value 5 # до 05:00
# Приоритет восстановления
(Get-ClusterGroup -Name "ERP-Server").Priority = 3000 # Highest
(Get-ClusterGroup -Name "FileServer").Priority = 2000 # High
(Get-ClusterGroup -Name "TestServer").Priority = 1000 # Medium
# Мониторинг состояния ВМ (перезапуск при crash приложения)
Add-ClusterVMMonitoredItem -VirtualMachine "ERP-Server" `
-Service "MSSQLSERVER" # Если SQL упадёт — перезапуск ВМ
Оставить комментарий