Поделиться через


Балансировка нагрузки между виртуальными машинами

Применимо к: Azure Local 2311.2 и более поздних версий; Windows Server 2022, Windows Server 2019, Windows Server 2016

Примечание.

Ключевым аспектом развертывания Azure Local является капитальные расходы (CapEx), необходимые для перехода в рабочую среду. Обычно добавляют избыточность, чтобы избежать недостаточной емкости во время пикового трафика в производственной среде, но это увеличивает капитальные затраты (CapEx). Эта избыточность часто требуется, так как некоторые компьютеры в системе размещают больше виртуальных машин (виртуальных машин), а другие компьютеры недостаточно используются.

Балансировка нагрузки виртуальных машин — это функция, которая позволяет оптимизировать использование компьютера в локальных системах Azure. Он идентифицирует перегруженные компьютеры и переносит виртуальные машины с этих компьютеров на недогруженные компьютеры. Политики сбоев, такие как антиаффинность, домены сбоя (сайты) и возможные владельцы, учитываются.

Балансировка нагрузки виртуальных машин оценивает нагрузку компьютера на основе следующих эвристики:

  • Текущее давление памяти: Память является наиболее распространенным ограничением ресурсов на узле Hyper-V.
  • Использование ЦП в среднем за пять минут: Предотвращает чрезмерную нагрузку на любую машину в системе.

Как работает балансировка нагрузки виртуальных машин?

Балансировка нагрузки виртуальных машин происходит автоматически при добавлении нового компьютера в локальную службу Azure, а также может быть настроена для периодической, повторяющейся балансировки нагрузки.

При добавлении нового компьютера

При присоединении нового компьютера к системе функция балансировки нагрузки виртуальной машины автоматически балансирует емкость с существующих компьютеров на только что добавленный компьютер в следующем порядке:

  1. Давление на память и загрузка ЦП оцениваются на существующих компьютерах в системе.
  2. Определяются все компьютеры, превышающие пороговое значение.
  3. Компьютеры с наибольшим давлением памяти и загрузкой ЦП определяются для определения приоритета балансировки.
  4. Виртуальные машины переносятся (без простоя) с машины, превышающей допустимый порог, на новую машину, недавно добавленную в систему.

Изображение, показывающее добавление нового компьютера в систему.

Повторяющаяся балансировка нагрузки

По умолчанию балансировка нагрузки виртуальных машин настраивается для периодической балансировки: давление на память и использование ЦП на каждом компьютере в системе оцениваются для балансировки каждые 30 минут. Ниже приведен процесс действий.

  1. Давление на память и загрузка ЦП оцениваются на всех компьютерах в системе.
  2. Все компьютеры, превышающие пороговое значение, и те, которые ниже порогового значения, определены.
  3. Компьютеры с наибольшим давлением памяти и загрузкой ЦП определяются для определения приоритета балансировки.
  4. Виртуальные машины переносятся (без простоя) с компьютера, превышающего пороговое значение на другой компьютер, который находится под минимальным пороговым значением.

Изображение, показывающее автоматическую балансировку динамической системы

Настройка балансировки нагрузки виртуальной машины с помощью Windows Admin Center

Самый простой способ настроить балансировку нагрузки виртуальных машин — использовать Windows Admin Center.

Настройка балансировки нагрузки виртуальной машины с помощью Windows Admin Center

  1. Подключитесь к системе и перейдите к параметрам инструментов>.

  2. В разделе "Параметры" выберите балансировку нагрузки виртуальной машины.

  3. В разделе «Баланс виртуальных машин» выберите «Всегда», чтобы балансировать нагрузку при присоединении виртуальной машины и каждые 30 минут, «Присоединение серверов», чтобы балансировать нагрузку только при присоединении виртуальных машин, или «Никогда», чтобы отключить функцию балансировки нагрузки виртуальной машины. Параметр по умолчанию — Always.

  4. В разделе агрессивность выберите низкий для живой миграции виртуальных машин, если загрузка компьютера превышает 80%, средний для миграции при загрузке компьютера более 70% или высокий для усреднения загрузки компьютеров в системе и миграции, если загрузка компьютера более чем на 5% выше среднего. Значение по умолчанию — Low.

Настройка балансировки нагрузки виртуальной машины с помощью Windows PowerShell

Можно настроить, если и когда происходит балансировка нагрузки с помощью общего свойства AutoBalancerModeкластера. Чтобы управлять балансом кластера, выполните следующую команду в PowerShell, подставив значение из приведенной ниже таблицы:

(Get-Cluster).AutoBalancerMode = <value>
Режим АвтоБалансировки Поведение
0 Отключено
1 Балансировка нагрузки при присоединении компьютера
2 (по умолчанию) Балансировка нагрузки при подключении компьютера и каждые 30 минут

Вы также можете настроить агрессивность балансировки с помощью общего свойства AutoBalancerLevelкластера. Чтобы управлять пороговым значением агрессивности, выполните следующую команду в PowerShell, заменив значение из приведенной ниже таблицы:

(Get-Cluster).AutoBalancerLevel = <value>
Уровень автосбалансировки Агрессивность Поведение
1 (по умолчанию) Низкая Перемещаться, когда загрузка хоста превышает 80 %
2 Средняя Переместить, если сервер загружен более чем на 70 %
3 Высоко Среднее количество машин в системе и перемещаются, когда хост превышает среднее значение более чем на 5%

Чтобы проверить, как заданы свойства AutoBalancerLevel и AutoBalancerMode, выполните в PowerShell:

Get-Cluster | fl AutoBalancer*

Следующие шаги

Дополнительные сведения см. также: