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


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

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

Сбалансированные и дисбалансные наборы весов

Масштабируемый набор считается сбалансированным , если каждая зона имеет одинаковое количество виртуальных машин ±1 виртуальной машины. Отклонение в 1 позволяет масштабировать до любого количества экземпляров, а не только до кратного числа зон, которые использует набор масштабирования.

Виртуальные машины, которые соответствуют любому из этих критериев, все равно учитываются при оценке равномерности масштабируемого набора:

  • Виртуальная машина успешно создана, но расширения на виртуальной машине не удается развернуть.
  • Виртуальная машина деаллоцирована.

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

  • Пример 1. Масштабируемый набор с 2 виртуальными машинами в зоне 1, 2 виртуальными машинами в зоне 2 и 2 виртуальными машинами в зоне 3 считается сбалансированным. Каждая зона содержит одинаковое количество экземпляров.

    Схема с сбалансированным масштабируемым набором с двумя экземплярами в каждой зоне.

  • Пример 2. Масштабируемый набор с 2 виртуальными машинами в зоне 1, 3 виртуальными машинами в зоне 2 и 3 виртуальными машинами в зоне 3 считается сбалансированным. Существует только одна зона с другим числом виртуальных машин, и это только 1 меньше, чем другие зоны.

    Схема с сбалансированным масштабируемым набором с двумя экземплярами в зоне 1 и тремя экземплярами в зонах 2 и 3.

  • Пример 3. Масштабируемый набор с 1 виртуальной машиной в зоне 1, 3 виртуальными машинами в зоне 2 и 3 виртуальными машинами в зоне 3 считается несбалансированной. Зона 1 имеет 2 меньше виртуальных машин, чем зоны 2 и 3, что превышает допустимое пороговое значение ±1 виртуальной машины.

    Схема, показывающая небалансированное масштабируемое множество с одним экземпляром в зоне 1 и тремя экземплярами в зонах 2 и 3.

  • Пример 4. Масштабируемый набор с 2 виртуальными машинами в зоне 1, 2 виртуальными машинами в зоне 2 и 2 виртуальными машинами в зоне 3 считается сбалансированным, даже если все расширения не удалось выполнить в зоне 1, а все расширения успешно выполнены в зоне 2 и виртуальные машины в зоне 3 освобождены.

    Схема, показывающая сбалансированный набор, даже если некоторые экземпляры неудачные и некоторые из них деаллоцированы.

Режимы балансировки зоны

Чтобы задать режим балансировки зоны, масштабируемый набор должен использовать несколько зон. Масштабируемый набор, который не использует зоны или использует только одну зону, не требует балансировки и поэтому не имеет режима балансировки.

Для масштабируемого набора, использующего несколько зон, можно выбрать один из двух режимов балансировки зоны:

  • Балансировка зоны лучших усилий (режим по умолчанию): Масштабируемый набор предназначен для поддержания баланса между зонами во время операций масштабирования, но не гарантируется, что он остается сбалансированным.

    Если одна из зон недоступна, набор масштабирования пытается увеличить масштаб в зонах, которые по-прежнему доступны, и допускает временный дисбаланс. Однако этот дисбаланс допускается только в том случае, если одна зона недоступна. Как только зона станет доступной, во время последующих операций масштабирования, масштабируемый набор пытается обеспечить баланс следующим образом:

    • При масштабировании, удаление виртуальных машин из слишком подготовленных зон
    • При горизонтальном масштабировании добавляйте виртуальные машины в недостаточно обеспеченные зоны

    Если две или более зон недоступны, масштабируемый набор не может продолжаться с операциями масштабирования, а любые операции масштабирования блокируются.

  • Строгая балансировка зоны: Масштабируемый набор всегда должен быть сбалансирован. Любая операция масштабирования, которая может привести к разбалансировке наборов масштабирования, будет заблокирована, даже если одна или несколько зон находятся в нерабочем состоянии.

Как вручную сбалансировать масштабируемый набор

При добавлении зон доступности в существующий масштабируемый набор существующие виртуальные машины остаются неизменными и не перемещаются или не распространяются. Кроме того, добавление зоны не запускает операцию перебалансирования. Балансировка зоны выполняется только во время операций горизонтального масштабирования, когда в масштабируемый набор добавляются новые экземпляры. Балансировка зоны не заменяет существующие экземпляры.

Вы можете вручную перебалансировать масштабируемые наборы, выполнив следующую последовательность операций:

  1. Масштабирование. Добавьте дополнительные экземпляры, обновив емкость масштабируемого набора. Новая емкость должна быть установлена как сумма исходной емкости и количества новых экземпляров.

    Масштабируемый набор пытается создать новые экземпляры в зонах, настроенных в масштабируемом наборе.

  2. Уменьшение масштаба. Когда новые экземпляры будут готовы, уменьшите масштаб набора, чтобы удалить предыдущие экземпляры. Этот процесс оставляет масштабируемый набор в сбалансированном состоянии.

    Можно либо вручную удалить определенные экземпляры, либо масштабировать, уменьшая емкость масштабируемого набора. При масштабировании путем уменьшения емкости масштабируемого набора платформа всегда предпочитает удалять незональные экземпляры, а затем следует политике масштабирования масштабируемого набора.

    Замечание

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

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

Предположим, что у вас есть незональный масштабируемый набор с 5 экземплярами:

Схема с масштабируемым набором с пятью незональными экземплярами.

Вы обновляете его до зонально распределенного масштабируемого набора в трех зонах. Сразу после обновления конфигурации зоны масштабируемого набора существующие экземпляры остаются в незональном состоянии.

  1. Горизонтальное масштабирование: Поскольку в вашем масштабируемом наборе сейчас 5 незональных экземпляров, и вы хотите распределить 5 экземпляров по 3 зонам, необходимо установить емкость 10 (5 начальных экземпляров плюс 5 дополнительных). Новые экземпляры создаются в зонах, а старые экземпляры остаются там, где они:

    Схема, на которую показан масштабируемый набор с двумя экземплярами в зоне 1, двумя экземплярами в зоне 2, одним экземпляром в зоне 3 и пятью незональными экземплярами.

  2. Масштабирование в: Вы сокращаете емкость до 5. Azure удаляет незональные экземпляры, оставляя 5 экземпляров, распределенных по зонам:

    Диаграмма, показывающая набор масштабов с двумя экземплярами в зоне 1, двумя экземплярами в зоне 2 и одним экземпляром в зоне 3.