Автомасштабирование планов масштабирования и примеры сценариев в Виртуальном рабочем столе Azure

Автомасштабирование позволяет масштабировать виртуальные машины узла сеансов в пуле узлов вверх или вниз в соответствии с расписанием оптимизации затрат на развертывание.

Примечание.

  • Виртуальный рабочий стол Azure (классический) не поддерживает автомасштабирование.
  • Автомасштабирование не поддерживается в виртуальном рабочем столе Azure для Azure Stack HCI.
  • Вы не можете использовать автомасштабирование и масштабировать узлы сеансов с помощью службы автоматизации Azure в одном пуле узлов. Необходимо использовать только одну из этих функций.
  • Автомасштабирование доступно в Azure и Azure для государственных организаций в том же регионе, в котором можно создавать пулы узлов.

Для получения наилучших результатов рекомендуется использовать автомасштабирование с виртуальными машинами, развернутыми с помощью шаблонов Azure Resource Manager (ARM) Виртуального рабочего стола Azure или средств от Майкрософт.

Как работает план масштабирования

Перед созданием плана учитывайте следующие моменты:

  • Один план масштабирования можно назначить одному или нескольким пулам узлов одного и того же типа пула узлов. Расписания плана масштабирования будут применяться ко всем назначенным пулам узлов.

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

  • Гибернат (предварительная версия) доступен для личных пулов узлов. Дополнительные сведения см. в режиме гибернации на виртуальных машинах.

  • План масштабирования может использоваться только в настроенном часовом поясе.

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

  • Прежде чем определять расписание, убедитесь, что понимаете закономерности использования. Необходимо запланировать следующее время суток:

    • Увеличение: начало дня, когда потребление начинается.
    • Пиковые часы: время дня, когда ожидается, что использование будет максимально высоким.
    • Снижение: при снижении потребления. Обычно это происходит при завершении работы виртуальных машин для экономии затрат.
    • Вне пиковые часы: время дня, когда ожидается, что использование будет на самом низком уровне.
  • План масштабирования вступит в силу сразу после включения.

Помните о следующих ограничениях:

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

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

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

Примеры сценариев автомасштабирования для пулов узлов в пулах

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

Примечание.

Чтобы узнать больше о том, что означают термины параметров, смотрите наш глоссарий по автомасштабированию.

Сценарий 1. Когда автомасштабирование включает виртуальные машины?

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

Например, рассмотрим следующую настройку пула узлов, описанную в следующей таблице:

Параметр Значение
Этап Повышение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 30%
Минимальный процент узлов 30%
Доступные узлы сеансов 2
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 10
Сеансы пользователей 0
Используемая емкость пула узлов 0%

В начале этой фазы автомасштабирование включает два узла сеансов, чтобы обеспечить соответствие требованию к минимальной доле узлов. Хотя 30 % от шести не является целым числом, автомасштабирование округляет значение до ближайшего целого числа. Наличие двух доступных узлов сеансов и ограничение на максимальное количество сеансов (пять сеансов на один узел) означает, что доступная емкость этого пула узлов составляет 10. Так как в настоящее время сеансов пользователя нет, используемая емкость пула узлов составляет 0 %.

Допустим, в начале рабочего дня три пользователя регистрируются в системе и начинают сеансы. Их сеансы пользователей равномерно распределяются между двумя доступными узлами сеансов, так как сначала используется алгоритм балансировки нагрузки. Доступная емкость пула узлов по-прежнему составляет 10, но, поскольку у нас есть три новых пользовательских сеанса, используемая емкость пула узлов теперь составляет 30 %. При этом автомасштабирование не будет включать виртуальные машины, пока используемая емкость пула узлов не превысит пороговое значение. В этом примере пороговое значение емкости равно 30 %, поэтому автомасштабирование пока не будет включать виртуальные машины.

На этом этапе параметры пула узлов выглядят следующим образом:

Параметр Значение
Этап Повышение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 30%
Минимальный процент узлов 30%
Доступные узлы сеансов 2
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 10
Сеансы пользователей 3
Используемая емкость пула узлов 30%

Если в систему входит и начинает сеанс еще один пользователь, теперь в общей сложности существует четыре сеанса пользователей, распределенных по двум узлам сеансов. Объем используемой емкости пула узлов теперь составляет 40 %, что превышает пороговое значение. Как следствие, автомасштабирование включит еще один узел сеанса, чтобы довести используемую емкость пула узлов до уровня, который будет меньше или равен пороговому значению (30 %).

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

Параметр Значение
Этап Повышение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 30%
Минимальный процент узлов 30%
Доступные узлы сеансов 2
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 10
Сеансы пользователей 4
Используемая емкость пула узлов 40%

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

Параметр Значение
Этап Повышение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 30%
Минимальный процент узлов 30%
Доступные узлы сеансов 3
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 15
Сеансы пользователей 4
Используемая емкость пула узлов 27 %

Включение другого узла сеансов означает, что теперь в пуле узлов есть три доступных узла сеансов. Теперь ограничение на максимальное количество сеансов по-прежнему составляет пять, а доступная емкость пула узлов увеличилась до 15. Поскольку доступная емкость пула узлов увеличилась, используемая емкость пула узлов снизилась до 27 %, что ниже порогового значения в 30 %.

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

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

Всего сеансов пользователей Число доступных узлов сеансов Доступная емкость пула узлов Пороговое значение емкости Используемая емкость пула узлов Включает ли автомасштабирование другой узел сеансов?
5 3 15 30% 33% Да
5 4 20 30% 25% No
6 4 20 30% 30% No
7 4 20 30% 35% Да
7 5 25 30% 28% No

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

Следующая анимация — это визуальное повторение того, что мы только что рассмотрели в сценарии 1.

A visual recap of Scenario 1.

Сценарий 2. Когда автомасштабирование выключает виртуальные машины?

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

  • Используемая емкость пула узлов ниже порогового значения.
  • Автомасштабирование может отключить узлы сеансов, даже если пороговое значение емкости не превышено.
  • Автомасштабирование отключает только узлы сеансов без сеансов пользователей (если только план масштабирования не касается этапа снижения нагрузки и вы не включили параметр принудительного выхода из системы).
  • Автомасштабирование в пуле не отключает узлы сеансов на этапе увеличения, чтобы избежать плохого взаимодействия с пользователем.

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

Параметр Значение
Этап Пик
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 30%
Минимальный процент узлов 30%
Доступные узлы сеансов 5
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 25
Сеансы пользователей 7
Используемая емкость пула узлов 28%

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

Допустим, в часы пик в систему вошли семь пользователей. Если общее количество сеансов пользователей равно семи, то используемая емкость пула узлов составит 28 %. Так как автомасштабирование не может отключить узел сеанса, если используемая емкость пула узлов не превышает пороговое значение, оно пока не отключает узлы сеанса.

Если двое из семи пользователей выйдут из системы во время обеденного перерыва, то останется пять сеансов пользователей на пяти узлах сеансов. Поскольку ограничение на максимальное количество сеансов по-прежнему составляет пять, доступная емкость пула узлов составляет 25. Наличие всего пяти пользователей означает, что используемая емкость пула узлов теперь составляет 20 %. Теперь автомасштабирование должно проверить, может ли оно отключить узел сеанса, не дожидаясь того, когда используемая емкость пула узлов превысит пороговое значение.

Если автомасштабирование отключило узел сеансов, объем доступной емкости пула узлов будет равен 20. И, если в системе будет пять пользователей, емкость пула узлов будет составлять 25 %. Так как 25 % меньше, чем пороговое значение емкости в 30 %, автомасштабирование выберет узел сеансов без сеансов пользователей, переведет его в режим стока и выключит.

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

Однако, если из системы выйдет еще один пользователь и отправится на обед, то теперь в пуле узлов будет четыре сеанса пользователей, распределенных между четырьмя узлами сеансов. Поскольку ограничение на максимальное количество сеансов по-прежнему составляет пять, доступная емкость пула узлов составляет 20, а используемая емкость пула узлов — 20 %. Отключение еще одного узла сеанса приведет к тому, что останется три узла сеансов и доступная емкость пула узлов составит 15, из-за чего используемая емкость пула узлов подскочит примерно до 27 %. Несмотря на то, что значение 27 % меньше порогового значения емкости, в пуле нет узлов сеансов с нулевым количеством сеансов пользователей. Автомасштабирование выбирает узел сеансов с наименьшим количеством сеансов пользователей, переводит его в режим стока и ждет, пока завершатся все сеансы пользователей, прежде чем выключить его. Если в какой-то момент используемая емкость пула узлов достигнет такого уровня, что автомасштабирование не сможет отключить узел сеансов, оно выведет узел сеансов из режима стока.

Следующая анимация — это визуальное повторение того, что мы только что рассмотрели в сценарии 2.

A visual recap of Scenario 2.

Сценарий 3. Когда автомасштабирование принуждает пользователей выполнять выход?

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

Например, рассмотрим пул узлов со следующими параметрами:

Параметр Значение
Этап Снижение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В глубину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступные узлы сеансов 4
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 20
Сеансы пользователей 4
Используемая емкость пула узлов 20%

На этапе "Снижение нагрузки" администратор пула узлов задал в качестве порогового значения емкости 75 %, а в качестве минимального процента узлов — 10 %. Наличие порогового значения для максимальной емкости и минимального процента узлов на этой фазе уменьшает необходимость включения новых узлов сеансов в конце рабочего дня.

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

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

После того, как автомасштабирование отключит два узла сеансов, доступная емкость пула узлов станет равной 10. Теперь, когда осталось только два сеанса пользователей, используемая емкость пула узлов составляет 20 %, как показано в следующей таблице.

Параметр Значение
Этап Снижение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В глубину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступные узлы сеансов 2
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 10
Сеансы пользователей 2
Используемая емкость пула узлов 20%

Теперь предположим, что два пользователя, которые были вынуждены выйти из системы, хотят продолжить работу и снова войти в систему. Поскольку доступная емкость пула узлов все еще равна 10 %, используемая емкость пула узлов увеличилась до 40 %, что ниже порогового значения в 75 %. Но автомасштабирование не может отключить больше узлов сеансов, так как в этом случае останется только один доступный узел сеансов, а доступная емкость пула узлов составит пять единиц. При четырех пользователях используемая емкость пула узлов составит 80 %, что превышает пороговое значение емкости.

Поэтому теперь мы используем следующий набор параметров:

Параметр Значение
Этап Снижение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В глубину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступные узлы сеансов 2
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 10
Сеансы пользователей 4
Используемая емкость пула узлов 40%

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

Параметр Значение
Этап Снижение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В глубину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступные узлы сеансов 2
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 10
Сеансы пользователей 3
Используемая емкость пула узлов 30%

Поскольку ограничение на максимальное количество сеансов по-прежнему составляет пять, доступная емкость пула узлов будет равна 10, а используемая емкость пула узлов — 30 %. Автомасштабирование может теперь отключить один узел сеансов, даже если пороговое значение емкости не превышено. Оно отключает узел сеансов, выбирая тот, что содержит наименьшее количество сеансов пользователей. Автомасштабирование переводит узел сеансов в режим стока, отправляет пользователям уведомление о том, что узел сеансов будет отключен, а затем через заданное время принуждает всех оставшихся пользователей выполнить выход и отключает узел. После этого в пуле узлов останется один доступный узел сеансов с максимальным количеством в пять сеансов, в результате чего доступная емкость пула узлов станет равной пяти.

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

Подводя итог, вот как выглядит пул узлов сейчас:

Параметр Значение
Этап Снижение нагрузки
Общее количество узлов сеансов 6
Ограничение на максимальное число сеансов 5
Алгоритм балансировки нагрузки В глубину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступная емкость пула узлов 5
Сеансы пользователей 2
Доступные узлы сеансов 1
Используемая емкость пула узлов 40%

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

Параметр Значение
Этап Снижение нагрузки
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В глубину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступные узлы сеансов 1
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 5
Сеансы пользователей 3
Используемая емкость пула узлов 60 %

Теперь в пуле узлов есть три сеанса пользователей. Однако емкость пула узлов по-прежнему равна пяти, что означает, что используемая емкость пула узлов составляет 60 % и не превышает порогового значения емкости. Так как отключение оставшегося узла сеансов приведет к тому, что доступная емкость пула узлов будет равна нулю, что ниже минимального процента узлов (10 %), автомасштабирование обеспечит постоянное наличие хотя бы одного доступного узла сеансов во время этапа снижения нагрузки.

Следующая анимация — это визуальное повторение того, что мы только что рассмотрели в сценарии 3.

A visual recap of Scenario 3.

Сценарий 4. Как работают теги исключения?

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

Вот пример пула узлов, с которого мы начнем работу:

Параметр Значение
Этап Низкая нагрузка
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступные узлы сеансов 1
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 5
Сеансы пользователей 3
Используемая емкость пула узлов 60 %

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

Теперь пул узлов выглядит следующим образом:

Параметр Значение
Этап Низкая нагрузка
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступные узлы сеансов 1
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 5
Сеансы пользователей 4
Используемая емкость пула узлов 80%

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

То есть, пул узлов теперь выглядит следующим образом:

Параметр Значение
Этап Низкая нагрузка
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 75%
Минимальный процент узлов 10%
Доступные узлы сеансов 1
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 5
Сеансы пользователей 0
Используемая емкость пула узлов 0%

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

Однако невозможность повторного включения виртуальных машин означает, что пул узлов не сможет обеспечить выполнение требования по минимальному проценту узлов. Чтобы устранить возможные проблемы, администратор удаляет теги исключения с двух виртуальных машин. Далее автомасштабирование включает только одну виртуальную машину, поскольку для удовлетворения требования по минимальному проценту узлов (10 %) требуется только одна VM.

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

Параметр Значение
Этап Низкая нагрузка
Общее количество узлов сеансов 6
Алгоритм балансировки нагрузки В ширину
Пороговое значение емкости 75%
Минимальный процент узлов 19 %
Доступные узлы сеансов 1
Ограничение на максимальное число сеансов 5
Доступная емкость пула узлов 5
Сеансы пользователей 0
Используемая емкость пула узлов 0%

Следующая анимация — это визуальное повторение того, что мы только что рассмотрели в сценарии 4.

A visual recap of Scenario 4.

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