понедельник, 16 июля 2012 г.

Параметры DRS кластера MinGoodness и CostBenefit

В VMware KB есть статья о настройке таких параметров DRS кластера как MinGoodness и CostBenefit. Обычно после перезагрузки хоста или перевода его в/из режима поддержки DRS ещё какое-то время не перемещает на него ВМ, и сервер работает вхолостую. С помощью данных параметров эту опцию можно выключить, а также заставить DRS более агрессивно мигрировать ВМ между хостами. Вместе с тем, эти параметры были сделаны тоже не просто так, и я не рекомендую изменять эти параметры, и вот почему.

Задачи балансировки нагрузки DRS
Главная задача DRS это предоставление виртуальным машинам требуемые ресурсы. Если ВМ получает ресурсы, которые она запрашивает (динамическое выделение ресурсов), то нет необходимости искать для неё лучший сервер. Если же ВМ не получает ресурсы, доступные ей в рамках динамического выделения, то DRS будет рассматривать возможность её перемещения, принимая во внимание дополнительные факторы.


Это значит, что DRS может допустить ситуацию, которая, по мнению администратора vSphere, будет выглядеть так будто DRS кластер не сбалансирован, например, по количеству ВМ на хост в кластере. Я видел ситуации, когда один хост был загружен на 80%, а на остальных хостах было по несколько ВМ. Данный кластер состоял из больших хостов, каждый из которых содержал по 1ТБ памяти, при этом загружено было не больше 800ГБ. Один хост мог обслуживать все ВМ и предоставлять им ресурсы согласно их требованиям.

Данный сценарий является самым частым примером непонимания сути DRS. Главная цель данной функции не равномерно раскидать ВМ между хостами в кластере, а распределить нагрузку между ресурсами, чтобы предоставить виртуальным машинам возможность работать максимально эффективно.  И это есть ключ к пониманию, почему DRS генерирует или не генерирует миграции по рекомендациям. Эффективность! На перемещение виртуальной машины тратятся циклы процессора, память и немного СХД (заморозить\разморозить ВМ). В самом худшем случае балансировка нагрузки сама по себе может нанести вред виртуальным машинам из-за использования их ресурсов, которые необходимы для перемещения данных ВМ. Это худший сценарий, но суть тут в том, что на процесс балансировки тратятся ресурсы, которые могли бы использоваться виртуальными машинами для предоставления своих сервисов, что и является главной причиной создания виртуальной инфраструктуры. Для управления и подсчёта ресурсов, которые нужны для балансировки нагрузки и были созданы параметры MinGoodness и CostBenefit.

CostBenefit
DRS считает преимущества и риски миграции. Стоимость: сколько ресурсов необходимо для перемещения ВМ с помощью vMotion? На перемещение ВМ, которая всё время изменяет память, понадобится больше циклов процессора и сетевого трафика, чем на ВМ, которая большую часть времени простаивает. Преимущества: сколько ресурсов данная операция освободит на сервере, и какое влияние будет иметь на целевой хост с нормализированной нагрузкой? Нормализированная нагрузка это сумма всех динамических ресурсов, требуемых виртуальными машинами, разделённая на мощность хоста. Риск считается на основе того, как измениться нагрузка на серверы источник и целевой, и будет ли от данной миграции толк.

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

DRS присуждает каждому перемещению рейтинг CostBenefit и MinGoodness, и которые потом становятся взаимосвязанными. DRS будет показывать рекомендации только в случае с отрицательным CostBenefit, если рейтинг MinGoodness будет очень высокий. Благодаря используемым метрикам обычно рейтинг CostBenefit более консервативный по сравнению с MinGoodness. Таким образом, миграция на хост с более нормализированным состоянием, но с высокой стоимостью или рисками не будет выполнена.

Когда параметры MinGoodness и CostBenefit выставлены в 0, то DRS смотрит на несбалансированность и рекомендует миграции между хостами кластера (учитывая максимальное количество vMotion с одного хоста), не беря в расчёт используемые для этого ресурсы. В окружениях с достаточным количеством ресурсов в краткосрочной перспективе данное решение не принесёт проблем, однако, в случае нехватки ресурсов в кластере постоянные миграции могут привести к борьбе за ресурсы.

Рекомендации
Я рекомендую использовать эту опцию очень осторожно, только когда кластер крайне не сбалансирован, и DRS не генерирует каких-либо рекомендаций, обычно такое бывает после того как хост выведен из режима поддержки. Включение этих опций в постоянном режиме равноценно лоботомии для DRS, и может в перспективе нанести больше вреда, так как вы можете столкнуться с ситуациями, когда ВМ будут всё время мигрировать между хостами.

Оригинал: Frank Denneman

1 комментарий:

  1. Своеоборазный у вас перевод получился...
    maintenance mode - ниразу не режим поддержки.

    ОтветитьУдалить