Skip to main content
Skip table of contents

Балансировщик нагрузки кластера виртуализации

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

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

Весовые коэффициенты вычислительных ресурсов

image-20240403-142501.png

Для адаптивности стратегии балансировки ВМ были введены весовые коэффициенты на CPU и RAM (в будущих релизах - до конца 2023 года - будет добавлен весовой коэффициент на хранилища). Сумма весовых коэффициентов всегда равняется единице.

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

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

Профили балансировки и их граничные значения, расписание балансировки

image-20240403-142708.png

Пользователь может настраивать стандартные и добавлять свои профили балансировки с пользовательским расписанием вызова и собственными настройками.

К ключевым настройкам профиля балансировки нагрузки относится:

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

    • Максимум производительности - в таком режиме достигается максимальная производительность ВМ кластера.

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

  • Пороговые значения

    • Минимальный - при попадании текущей нагрузки CPU/RAM ниже минимального порога в режиме:

      • максимальной производительности балансировщик пытается дозаполнить сервер ВМ, а при отсутствии такой возможности освобождает сервер полностью;

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

    • Максимальный - при попадании текущей нагрузки CPU/RAM выше максимального порога в обоих режимах балансировщик пытается избавится от превышения максимального порогового значения, а при отсутствии такой возможности уведомляет администратора о необходимости добавления серверов в кластер.

  • Расписание балансировки, которое позволяет максимально гибко настроить расписание вызовов настраиваемого профиля балансировки.

Стратегии балансировки кластера

В архитектуру решения заложены 2 стандартные стратегии (профиля) балансировки нагрузки:

  • Регулярный

  • Критический

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

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

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

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

Оптимизация числа и времени живых миграций при балансировке нагрузки

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

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

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.