Планировщик распределенных ресурсов VMware (DRS, VMware Distributed Resource Scheduler) — это инструмент автоматической балансировки виртуальных машин между разными хостами ESXi в пределах одного кластера. VMware DRS отсутствует в vSphere Standard, встречается в составе версий Enterprise Plus или Platinum.
В этой статье расскажем, что такое VMware DRS, поднимем тему настройки и особенностей этой весьма полезной функции программной платформы vSphere.
Управление нагрузками от VMware DRS
Умное распределение рабочей нагрузки виртуальных машин между хостами — это основная задача, которая стоит перед DRS. В результате получается сбалансированный кластер, в котором хосты будут примерно одинаково распределены по нагрузке. Если баланс нарушается, часть виртуальных машин переносится на хосты, у которых наблюдается наименьшее использование ресурсов. DRS занимается балансировкой виртуальных машин при помощи vMotion.
Эти процессы полезны с точки зрения производительности инфраструктуры, ведь виртуальные машины перестают конкурировать между собой, пытаясь «отъесть» нужный объём ресурсов у хоста. Кроме того, данная функциональность позволяет стабилизировать работу систем, так как хосты ESXi в течение времени могут получать чрезмерную нагрузку со стороны процессора, сети и памяти виртуальных машин, работающих поверх них. Использование DRS даёт гарантию, что хосты не исчерпают ресурсы процессора и памяти.
DRS и vSphere
Заметим, что скорость VMware DRS отчасти зависит от версии vSphere. Например, vSphere 6.7 даёт большой прирост в плане скорости DRS и эффективности использования ресурсов. Хотя напрямую на производительность vMotion невозможно повлиять, поскольку её скорость работы напрямую зависит от архитектуры сети и хранилища, VMware действует умнее, повышая эффективность процессов, которые происходят до того, как в дело вступает vMotion.
Также в vSphere 6.7 упростили начальное размещение, заменив снимок всей среды на непрерывный мониторинг, что экономит 1-2 секунды перед принятием каждого решения. В средах с высокой степенью затрат это изменение особенно ценно, поскольку визуально заметным становится снижение потребления ресурсов и скорость создания vMotion для балансировки загрузки. Версия vSphere 7.0 называют ещё более производительной.
Уровни автоматизации VMware DRS
Автоматизацию DRS можно установить на ручной, частично автоматический и полностью автоматический уровень. Между ними есть существенные различия:
- Ручной уровень. Исключительно рекомендательный подход. DRS рекомендует хост для первоначального размещения ВМ, а после её включения рекомендует хост для запуска.
- Частично автоматический. После создания и запуска ВМ vCenter автоматически перенесёт её на хост, который менее нагружен, сохраняя баланс кластера. Также после включения ВМ vCenter отобразит рекомендации по переходу, опираясь на информацию об использовании процессора и памяти. Этот переход должен вручную одобрить администратор.
- Автоматический. vCenter изначально контролирует размещение и перенос виртуальных машин. Администратору не приходят уведомления с рекомендациями, кластер держится сбалансированным без участия человека.
При включении DRS выбранная на уровне кластера автоматизация применяется ко всем виртуальным машинам в кластере. Создавать отдельные правила для ВМ, которые требуют раздельного или совместного хранения, тоже можно.
Пороги миграции DRS
Эта опция позволяет установить порог, преодоление которого заставляет DRS срабатывать и переносить виртуальные машины для восстановления баланса. Оптимальным вариантом будет оставить параметр по умолчанию (уровень 3), чтобы сохранить баланс между агрессивным (5) и консервативным (1) режимами работы.
Разница между ними в том, что агрессивная настройка предполагает перенос виртуальных машин даже при небольшом перекосе баланса, а консервативная не трогает виртуальные машины в кластере, пока дисбаланс не становится слишком уж заметным.
Агрессивная настройка неудобна в том плане, что из-за неё вы будете слишком часто перемещать свои виртуальные машины. А это — дополнительная нагрузка на базовую инфраструктуру (хранилище, процессор). Консервативная же приведёт к тому, что нарушение баланса в кластере будет расти или происходить чаще.
Предсказывающий DRS
Функция Predictive DRS отключена по умолчанию, потому что для её работы необходима vRealize Operations Manager (vROps). Активация Predictive DRS означает, что она будет заблаговременно переносить рабочие нагрузки между хостами в кластере, опираясь на накопленную ранее информацию и прогнозы от vROps.
Эта функция полезна для рабочих нагрузок вроде VDI, потому что у них имеются временные изменения спроса, о которых знает vROps. Когда ожидается всплеск потребления ресурсов, DRS проактивно реагирует и балансирует кластер до того, как этот всплеск начнётся.
Правила соответствия DRS
Эта функция позволяет хранить две и более виртуальные машины на одном хосте ESXi или наоборот, гарантировать, чтобы они всегда располагались на разных хостах. Правила соответствия также используют, чтобы организовать работу групп виртуальных машин только на определенных хостах ESXi или запретить им работу на конкретных хостах.
Как правило, настройки соответствия оставляют без изменений. Но в некоторых случаях эта возможность оказывается полезной. Какие есть типы настроек соответствия DRS:
- Хранение ВМ вместе — чтобы повысить производительность за счёт меньшей задержки связи между ВМ.
- Разделение ВМ — чтобы добиться максимальной доступности ВМ. Например, когда они являются интерфейсными веб-серверами одного приложения, то сбой сервера на них не повлияет. Две виртуальные машины одновременно не отключатся.
- ВМ на хост — для кластеров с ограничениями лицензирования ПО или жёсткими требованиями по зонам доступности.