Балансировка нагрузки между виртуальными машинами
Область применения: Azure Stack HCI версий 23H2 и 22H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
Примечание
Рекомендуемый способ создания виртуальных машин и управления ими в Azure Stack HCI 23H2 — использование уровня управления Azure Arc. Используйте описанный ниже механизм для управления виртуальными машинами только в том случае, если вам нужны функциональные возможности, недоступные на виртуальных машинах Azure Arc.
Ключевым аспектом развертывания HCI является капитальные затраты (CapEx), необходимые для перехода в рабочую среду. Обычно это повышает избыточность, чтобы избежать недостаточной емкости во время пикового трафика в рабочей среде, но это увеличивает capEx. Такая избыточность часто необходима, так как на некоторых серверах в кластере размещается больше виртуальных машин, в то время как другие серверы используются недостаточно.
Включенная по умолчанию в Azure Stack HCI, Windows Server 2022, Windows Server 2019 и Windows Server 2016, балансировка нагрузки виртуальных машин — это функция, которая позволяет оптимизировать использование серверов в кластерах. Он идентифицирует чрезмерно зафиксированные серверы и выполняет динамическую миграцию виртуальных машин с этих серверов на недостаточно зафиксированные серверы. Соблюдаются политики сбоев, такие как защита от сходства, домены сбоя (сайты) и возможные владельцы.
Балансировка нагрузки виртуальной машины оценивает нагрузку сервера на основе следующих эвристических данных:
- Текущая нехватка памяти: Память — это наиболее распространенное ограничение ресурсов на узле Hyper-V.
- Загрузка ЦП в среднем за 5 минут: Устраняет чрезмерную фиксацию любого сервера в кластере.
Как работает балансировка нагрузки виртуальных машин?
Балансировка нагрузки виртуальных машин выполняется автоматически при добавлении нового сервера в кластер. Кроме того, ее можно настроить для периодической и повторяющейся балансировки нагрузки.
При добавлении нового сервера в кластер
При присоединении нового сервера к кластеру функция балансировки нагрузки виртуальной машины автоматически распределяет емкость между существующими серверами и только что добавленным сервером в следующем порядке:
- Нагрузка на память и загрузка ЦП оцениваются на существующих серверах в кластере.
- Определяются все серверы, превышающие пороговое значение.
- Серверы с наибольшим объемом памяти и загрузкой ЦП определяются для определения приоритета балансировки.
- Виртуальные машины переносятся в реальном времени (без простоев) с сервера, который превышает пороговое значение, на только что добавленный сервер в кластере.
Повторяющаяся балансировка нагрузки
По умолчанию балансировка нагрузки виртуальных машин настроена для периодической балансировки: нагрузка на память и загрузка ЦП на каждом сервере в кластере оцениваются для балансировки каждые 30 минут. Ниже приведены шаги.
- Нехватка памяти и загрузка ЦП оцениваются на всех серверах в кластере.
- Определяются все серверы, превышающие пороговое значение, и серверы, которые ниже порогового значения.
- Серверы с наибольшим объемом памяти и загрузкой ЦП определяются для определения приоритета балансировки.
- Виртуальные машины переносятся в режиме реального времени (без простоев) с сервера, который превышает пороговое значение, на другой сервер, который не превышает минимальное пороговое значение.
Настройка балансировки нагрузки виртуальных машин с помощью Windows Admin Center
Самый простой способ настроить балансировку нагрузки виртуальных машин — использовать Windows Admin Center.
Подключитесь к кластеру и перейдите в раздел Сервис > Параметры.
В разделе Параметры выберите Балансировка нагрузки виртуальных машин.
В разделе Балансировка виртуальных машин выберите Всегда балансировать нагрузку при присоединении к серверу. Каждые 30 минут серверные соединения будут балансировать нагрузку только при присоединении сервера или Никогда , чтобы отключить функцию балансировки нагрузки виртуальной машины. Значение по умолчанию — Always.
В разделе Агрессивность выберите Низкий для динамической миграции виртуальных машин, если сервер загружен более чем на 80 %, Средний для миграции при загрузке сервера более чем на 70 % или Высокий для среднего значения серверов в кластере и миграция, когда сервер более чем на 5 % выше среднего. Значение по умолчанию — Низкий.
Настройка балансировки нагрузки виртуальных машин с помощью Windows PowerShell
Вы можете настроить, когда и когда происходит балансировка нагрузки, с помощью общего свойства AutoBalancerMode
кластера . Чтобы управлять балансировкой кластера, выполните следующую команду в PowerShell, заменив значение из приведенной ниже таблицы:
(Get-Cluster).AutoBalancerMode = <value>
AutoBalancerMode | Поведение |
---|---|
0 | Выключено |
1 | Балансировка нагрузки при присоединении к серверу |
2 (по умолчанию) | Балансировка нагрузки при присоединении к серверу и каждые 30 минут |
Вы также можете настроить агрессивность балансировки с помощью общего свойства AutoBalancerLevel
кластера . Чтобы контролировать порог агрессивности, выполните следующую команду в PowerShell, заменив значение из приведенной ниже таблицы:
(Get-Cluster).AutoBalancerLevel = <value>
AutoBalancerLevel | Агрессивность | Поведение |
---|---|---|
1 (по умолчанию) | Низкий | Перемещение при загрузке узла более чем на 80 % |
2 | Средний | Перемещение при загрузке узла более чем на 70 % |
3 | Высокий | Среднее значение серверов в кластере и перемещение, если узел более чем на 5 % выше среднего |
Чтобы проверка, как AutoBalancerLevel
задаются свойства и AutoBalancerMode
, выполните следующую команду в PowerShell:
Get-Cluster | fl AutoBalancer*
Дальнейшие действия
Дополнительные сведения см. также в разделе: