21 июня 2024 Время чтения: 5 минут

Главное — найти баланс. Рассказываем о сервисе для балансировки нагрузки: что это и как реализовано в VMmanager

ISPSystem

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

Зачем нужна балансировка нагрузки

Балансировка нагрузки необходима:

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

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

Сервис балансировки нагрузки в VMmanager

В платформе серверной виртуализации VMmanager заложена возможность автоматического распределения нагрузки и высокого уровня отказоустойчивости среды. Сервис «Балансировщик» создан для компаний, владеющих высоконагруженной инфраструктурой, от производительности которой зависят позитивный клиентский опыт и эффективность бизнес-процессов.

«Балансировщик» отслеживает уровень загруженности узлов внутри кластера и перераспределят виртуальные машины (ВМ) между узлами таким образом, чтобы нагрузка была равномерной. Это позволяет оптимально использовать доступные ресурсы и рабочее время сотрудников.

Ключевые преимущества сервиса:

  • «Балансировщик» доступен из коробки и активируется в один клик.
  • Администратор сам может настроить периодичность проверки и пороги загрузки CPU и RAM.
  • Сервис имеет встроенный индикатор сбалансированности для визуальной оценки загруженности узлов.
  • «Балансировщик» переносит виртуальные машин с узла на узел без их остановки, благодаря чему все запущенные на ВМ процессы также остаются доступны.

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

Как работает балансировка нагрузки в VMmanager

Работа “«Балансировщика» состоит из следующих итераций:

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

Рассмотрим каждый этап подробнее.

На этапе сбора статистики задача «Балансировщика» — понять, что происходит с узлом. Для этого ему необходима информация о средней загруженности CPU, а также о расходовании оперативной памяти. Сервис обращается к узлу, учитывая периодичность проверки, которую администратор задал в настройках. Например, если этот параметр составляет 10 минут, «Балансировщик» будет собирать статистику только за последние 10 минут.

Балансировщик

На втором этапе — после сбора статистики — сервис автоматически делит узлы на два списка. В первый список попадают наиболее загруженные узлы, во второй — наименее. По умолчанию виртуальные машины нужно мигрировать на другой узел, если уровень загруженности текущего достиг 70%. Этот параметр также можно изменить в большую или меньшую сторону в настройках. «Балансировщик» автоматически исключает из проверки узлы, которые находятся в режиме обслуживания.

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

После завершения миграции сервис повторит процедуру через указанный в настройках промежуток времени. В разделе «История» можно увидеть все реализованные миграции.

А есть ли ограничения?

Даже при работе «Балансировщика» не все виртуальные машины будут мигрированы на другой узел. Это происходит по нескольким причинам. Вот самые распространенные:

  1. В среднем проверка узлов в кластере занимает около минуты. Этого времени хватает, чтобы проанализировать все ВМ. Но если узлов слишком много, «Балансировщик» может не успеть их проверить. В этом случае отчет будет строиться только на основе данных, которые удалось собрать за минуту. Непроверенные виртуальные машины попадут в лог-файлы.
  2. Если к ВМ подключен ISO-образ, перенести ее на другой узел тоже не получится.
  3. Если в течение пяти последних итераций ВМ уже была перенесена на другой узел, система автоматически исключит ее из кандидатов на миграцию.
  4. Если ВМ выключена, она также останется на текущем узле.

Как эффективно распределять нагрузку в VMmanager

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

  • Не ориентироваться на значения, указанные в системе по умолчанию, а исходить из своих потребностей. Например, если кластер разбалансирован, чтобы привести его в норму, администратору рекомендовано сократить периодичность проверки. Такой же рекомендации нужно следовать, если в кластере часто создаются и удаляются виртуальные машины.
  • Выставлять разумные пороговые значения нагрузки. Узел не должен считаться перегруженным при заполненности в 50%. Если же система уведомляет, что показатель загруженности стремится к 100%, «Балансировщик» не только не поможет, но и будет потреблять дополнительные ресурсы узла, который уже работает из последних сил.
  • Масштабировать кластер за счет дополнительных узлов, если текущие полностью загружены. В этом случае сервис балансировки тоже будет задействовать ресурсы на проверку и миграцию. Это негативно скажется на времени отклика сервисов.
Баланс ресурсов

Выводы

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

Если вы уже пользователь VMmanager, включить «Балансировщик» можно в настройках кластера. Как задать собственные параметры работы сервиса — читайте в документации.

Чтобы узнать больше о продуктах ISPsystem, подписывайтесь на наш телеграм-канал.