В нашем блоге на Хабре мы рассказываем о том, как различные компании строят свою ИТ-инфраструктуру, и освещаем использующиеся для работы в облаках технологии. Сегодня речь пойдет о востребованном инструменте для балансировки нагрузки — VMware DRS.
Что это такое
VMware DRS (Distributed Resource Scheduler) — это инструмент, который используется для балансировки рабочей нагрузки на доступные ресурсы в виртуальной среде.
Как сказано на сайте вендора, использование DRS позволяет улучшить качество работы инфраструктуры, получить возможность развертывания новых мощностей или миграции вирутальных машин без необходимости приостановки сервиса. В итоге его применение позволяет облегчить мониторинг и работу с виртуальной инфраструктурой.
Иными словами, встроенный балансировщик нагрузки умеет в автоматическом (или ручном) режиме перемещать виртуальные машины по хостам кластера, тем самым выравнивая нагрузку на них.
Как работает DRS
Пользователь может настроить правила для распределения физических ресурсов между виртуальными машинами, а также выбрать режим ручного или автоматического контроля. Затем утилита DRS начинает мониторинг, и если нагрузка на какой-то хост резко изменяется, то она может быть перенесена на другой сервер (в ручном режиме, соответственно, выдается рекомендация о предпочтительных действиях). Если в итоге общая нагрузка падает, то какие-то из физических серверов могут быть даже временно отключены.
Создание кластеров vSphere DRS
Для определения того, находится ли система в сбалансированном состоянии, DRS использует две метрики. Когда текущее стандартное отклонение нагрузки хоста превышает заданную величину, то он признается «несбалансированным». В такой ситуации DRS осуществляет перераспределение виртуальных машин внутри кластера без какого-либо простоя.
Чтобы получить информацию о стандартном отклонении, DRS анализирует загрузку CPU и памяти каждого хоста. Это нужно для определения среднего уровня и стандартного отклонения от него.
Затем каждые несколько минут осуществляется повторная оценка загрузки кластера, в случае обнаружения «перекосов», принимаются соответствующие меры для восстановления баланса. Кроме того, DRS определяет, какие из доступных виртуальных машин должны быть перебалансированы в первую очередь.
ИТ-эксперт Грег Шилдс в одной из своих статей приводил такую формулу уравнения для вычисления баланса хоста по сравнению с другими хостами кластера:
Как работает DRS в 1cloud
Мы в 1cloud стараемся упростить для наших клиентов работу с виртуальной инфраструктурой и облачными ресурсами — для этого реализуются разные небольшие, но удобные фичи вроде заказа сервера с предустановленной панелью управления или создание виртуальных сетей в пару кликов.
Кроме того, мы используем DRS от VMware для работы со всеми хостами нашей инфраструктуры. Это означает, что мониторинг нагрузки осуществляется постоянно для всех хостов, и если на каком-то из них возникают проблемы — например, какие-то приложения начинают потреблять слишком много ресурсов —, то часть клиентских виртуальных машин переносятся на другие хосты такого типа. Таким образом, все виртуальные серверы получают необходимые ресурсы. Кроме того, в системе 1cloud используется технология VMware High Availability — при сбое хоста она перезапускает виртуальные серверы на другом хосте.
Часто бывает так, что хостинг-провайдеры реализуют собственные инструменты балансировки нагрузки и продают их пользователям в качестве отдельной услуги. Получается, что пользователь должен платить за отказоустойчивость арендуемых ресурсов.
В нашем случае, эта функциональность заложена в архитектуру системы по-умолчанию и является частью услуги «аренда виртуальных серверов». Если на нашем хосте случится проблема, то расположенная на нем виртуальная машина клиента без простоя «переедет» на другой хост.
Сочетание технологий DRS и High Availability позволяет добиться высокого уровня отказоустоичовсти. А другие сервисы вроде возможности миграции инфраструктуры на более производительные серверы или расширения дискового пространства на лету, позволяют пользователям 1cloud подстраивать виртуальную инфраструктуру под изменяющиеся требования бизнеса.
Комментарии (20)
blind_oracle
07.10.2015 17:36Статья ни о чём.
1cloud
07.10.2015 19:19Если у вас есть какие-то вопросы, задавайте — ответим
blind_oracle
07.10.2015 20:10Вопросов никаких нет, кроме одного — зачем это писать, кроме как для рекламы своего сервиса?
Vmware DRS/HA сто лет в обед, все кому надо и так про него знают.
Вы же привели некую формулу, при этом более ничего не объяснив.
Если бы было описание внутреннего устройства алгоритма и так далее — был бы смысл писать статью.
А так — ни о чём.1cloud
08.10.2015 10:43Мы рассказали о технологии в общем и том, как она работает в нашей системе. Чего вполне достаточно для поста в корпоративном блоге, в общем-то. Сделать топик более информативным можно комментариями, на которые можно развернуто ответить, но конечно проще написать про «пост ни о чем!», чтобы собрать плюсиков, это да.
kabal375
08.10.2015 10:25-1Для возникновения вопросов нужно чтобы было за что зацепиться. Это когда в целом посыл ясен, но есть туманности и неопределённости.
Посыл данной статьи: «Есть такая штука — DRS — она крутая, реализует балансировку нагрузки, и мы её используем». И никаких вопросов не возникает, потому что в статье просто нет того, что обещает заголовок.
nickolazz
07.10.2015 21:29Лично я использую Drs/ha всегда и везде, где это применимо:-) на нормальном железе и верных настройках проблем нет никаких. Мне интереснее другое — используете ли вы в своей среде storage DRS?
kelevra
08.10.2015 07:05при сбое хоста она перезапускает виртуальные серверы на другом хосте.
а что произойдёт при сбое схд, на котором лежат диски виртуальном машины? не сбое диска в схд, а именно самого схд на уровне сети или железа.reallord
08.10.2015 09:18Все тоже самое как и без миграции. Если нет резервирования и репликации на уровне СХД то все умрет.
AntonVirtual
10.10.2015 12:34Под репликацией обычно понимают одностороннюю репликацию active->passive. Даже если она есть — ничего не изменится, ВМ умрут. Переключение необходимо будет производить вручную / Site Recovery Manager.
Спасает только виртуализация СХД с активными зеркалами как EMC VPLEX / IBM SVC. Или использование многонодовых SDS.
AntonVirtual
10.10.2015 12:32Смотря что за сбой. Полная смерть СХД ведет за собой остановку всех ВМ, лежавших на этой СХД. Сбой контроллера / пути ведет к переключению путей.
Магии здесь нет.
AntonVirtual
10.10.2015 12:36Более подробный, хотя и чуть устаревший обзор принципов работы DRS: blog.vadmin.ru/2010/06/drs-deepdive.html
navion
12.10.2015 17:48У вас довольно странный выбор источников, а про DRS и остальную кластеризацию VMware написана целая книжка "VMware vSphere 5.1 Clustering Deepdive".
Плюс что-то есть в блогах авторов:
frankdenneman.nl
www.yellow-bricks.com
gotch
Гораздо занимательнее смотреть, как машины под DRS теряют сеть, членство в кластере и т.д. Живая миграция под нагрузкой иногда такая живая.
blind_oracle
При корректной настройке таких проблем нет. У меня они туда-сюда мигрируются кучами, «ни единого разрыва» (с)
gotch
У вас видимо очень быстрая сеть и не чувствительные сервисы Microsoft Failover Cluster Services надо дополнительно настраивать для этого сценария.
AntonVirtual
kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1037959
vMotion is supported on vSphere 6.0 with Cluster Across Boxes (CAB) only. Requires Virtual Hardware Version 11.
До 6.0 и вне указанной конфигурации MSCS / MFCS не поддерживается.
1cloud
Мы с такими проблемами не сталкивались, честно говоря
AntonVirtual
Ни разу в моей жизни такого не видел.
Кластеры же под DRS стало можно совсем недавно заводить. Так что если у вас кластеры разваливались от vMotion, то кто виноват в непрочтении мануалов?