e-mail
phone
mobile

Балансировка нагрузки в облаке IaaS

Решения
05.09.2017
2784
10 min
Балансировка нагрузки в облаке IaaS
Виртуальная инфраструктура в облаке гарантирует стабильную производительность, доступность и надежность, однако, чтобы достичь таких результатов, недостаточно мощной аппаратной платформы и качественного программного обеспечения. Когда виртуальных машин очень много, нагрузка на физические хосты может стать неравномерной и для ее ручного контроля требуется слишком много человеческих ресурсов. Корпоративные облачные провайдеры используют такие инструменты балансировки нагрузки, как, например, VMware DRS (Distributed Resource Scheduler).

Зачем нужен DRS

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

Как работает DRS

В отличие от vMotion (перенос виртуальных машин с хоста на хост) для осуществления работы DRS необходимо, чтобы физические хосты были объединены в кластер – именно в его пределах будет осуществляться миграция виртуальных машин для распределения нагрузки без их перезапуска, так, что пользователь не заметит данного процесса. Администратор отвечает за настройку правил распределения физических ресурсов, например, может закрепить определенные машины за выбранным хостом или исключить сам хост из кластера DRS, а также определяет режим работы. После этого инструменты DRS начинают постоянный контроль за нагрузкой на хостах. В случае, когда она резко возрастает, часть виртуальных серверов переносится на менее нагруженный хост. DRS может работать в трех режимах: автоматическом, полуавтоматическом и ручном. Если активирован ручной режим, то осуществляется только расчет миграций, в полуавтоматическом администратор получает рекомендацию о переносе и сам принимает решение о его осуществлении, в автоматическом – кластер сам занимается распределением без вмешательсва человека. Если DRS обнаруживает слишком низкую нагрузку на физическом сервере, она может отключить его питание для экономии электроэнергии и сообщить администратору о неэффективном использовании мощностей виртуальной инфраструктуры. Эффективное использование мощности – одна из главных задач любого IaaS-провайдера, от этого зависит стоимость и качество предоставляемых облачных услуг.

Метрики для DRS

 

В своей работе DRS опирается на две метрики, которые позволяют ей определить, сбалансированно ли работает система. Если она видит отклонение от заданного значения в нагрузке одного из хостов, тот считается «несбалансированным» и виртуальные машины с него начинают распределяться по другим узлам кластера. Миграция производится бесшовно и без простоев, работа сервиса не приостанавливается, а пользователь не замечает данного процесса. Метриками для определения нормальной работы являются загрузка CPU и оперативной памяти. По ним определяется средний уровень и стандартное отклонение от него. Относительно него регулярно осуществляется повторная оценка нагрузки на узлы и выполняется математическое восстановление баланса в случае отклонения. DRS выполняет оценку не только физического хоста, но и виртуальных машин, которые на нем запущены. Это необходимо для определения приоритета перемещения, машины с критическими показателями производительности будут перенесены в первую очередь. Для вычисления баланса между хостами в кластере используется специальная формула:

Вычисление баланса между хостами в кластере

В скобках данной формулы приведен математический оператор, который округляет собственное содержимое до целого числа. Так, потенциальное перемещение для состоящего из четырех хостов кластера, выполнение которого снизит среднеквадратическое отклонение нагрузки хоста до 0,14, в результате получит приоритет 3. Для каждого перемещения можно назначить свой приоритет от 1 до 5, соответственно, чем выше приоритет у перемещения, тем большее значение для устранения дисбаланса оно имеет. Следует помнить, что сам процесс миграции также расходует определенные ресурсы, поэтому необходимо стремиться к рациональному распределению виртуальных машин по хостам изначально, чтобы системе не приходилось постоянно гонять их туда-сюда.

Борьба за ресурсы

 

Не исключены ситуации, когда нагрузка на все хосты предельно высока и система DRS ищет оптимальный способ заполнения ресурсов. В таком случае важную роль играют настройки распределения ресурсов: совместно используемые ресурсы, резервируемые ресурсы или предельные значения. Они могут применяться как к пулу ресурсов, так и к отдельной виртуальной машине. Совместно используемые ресурсы определяют, что в случае борьбы за мощность ресурсы достанутся самым важным с точки зрения бизнеса виртуальным машинам. Резервируемые ресурсы определяют объем ресурсов, которые в любом случае достанутся виртуальной машине в случае борьбы за мощности. Предельные значения не допускают использования излишних ресурсов виртуальными машинами, даже если борьба за мощности отсутствует.

Использовать DRS уже сегодня

Облачные провайдеры, использующие платформу VMware, предоставляют функцию DRS бесплатно, она не может быть дополнительной услугой для пользователя, так как предназначена для обеспечения высокого качества предоставления сервиса. Поэтому, выбирая поставщика виртуальной инфраструктуры (IaaS), обратите внимание на поддержку DRS – это послужит гарантией высокого уровня сервиса и внимательного отношения к клиенту.

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

Заключение

Применение технологий Distributed Resource Scheduler и VMware High Availability преследует одну цель – обеспечить высокий уровень сервиса и непрерывную стабильную работу виртуальной инфраструктуры клиента. Они не решают всех проблем, связанных с использованием облака, но позволяют администраторам тратить время на решение более приоритетных задач, доверив автоматике распределение ресурсов.


Владимир Хазов
Профильный эксперт
Похожие статьи
Наш сайт использует cookie
Информацию о cookie, целях их использования и способах отказа от таковых, можно найти в «Политике использования файлов «cookie». Продолжая использовать наш Сайт, Вы выражаете согласие на обработку файлов «cookie», а также подтверждаете факт ознакомления с «Политикой использования файлов «cookie». Если Вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.