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

vSphere Admission Control

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

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


Во время запуска или перемещения ВМ контроль доступа проверяет наличие достаточно количества незарезервированных ресурсов, доступных для данной ВМ. Если у виртуальной машины настроены резервы ЦПУ, памяти или обоих компонентов сразу, то admission control должен удостовериться, что кластер хранилищ, вычислительный кластер, ресурсный пул и сам хост могут выделить требуемые ресурсы. И если гарантированное выделение ресурсов какого-либо из компонентов невозможно, необходимо чтобы система могла это учитывать. Именно для этого и разработан контроль доступа.

Так как разные компоненты vSphere могут быть настроены по-разному, то каждая функция использует свой собственный механизм контроля доступа, так как очень опасно использовать взаимную зависимость в таком важном компоненте. Ниже представлена схема работы admission control и контрольные точки.


HA admission control: во время запуска ВМ данная функция проверяет может ли данная операция быть проведена не забирая ресурсы, зарезервированные на случай аварии. Согласно политикам и настройкам НА проверяет, может ли кластер предоставить требуемое, не зарезервированное для восстановление в случае аварии, количество ресурсов.

После того как НА даёт добро наступает очередь контроля доступа Storage DRS проверить находится ли ВМ в правильно кластере хранилищ. SDRS проверяет подключения хостов к датасторам, и выбирает хост с наибольшим количеством подключений, чтобы гарантировать мобильность ВМ. Если таких хостов несколько – выбирается наименее загруженный.

Дальше DRS проверяет состояние кластера. DRS гарантирует, что в кластере доступно достаточное количество незарезервированных ресурсов для старта. Если же ВМ находится в ресурсном пуле, то DRS проверяет достаточно ли ресурсов в пуле. В зависимости от настройки опции «expandable reservation» ресурсный пул проверяет наличие у себя ресурсов, и в случае необходимости запрашивает дополнительные ресурсы у родительского пула. Если же в кластере используется EVC, то контроль доступа EVC проверяет не нарушает ли применённый к ВМ профиль EVC профиль, используемый в кластере. Далее DRS выбирает хост на основе правил соответствия VM-VM и VM-Host.

Ну, и наконец, контроль доступа хоста. В конце концов, именно хост должен предоставить ВМ требуемые для работы ресурсы. В кластере может быть достаточно ресурсов, они могут быть фрагментированы, и хост не сможет предоставить ресурсы согласно резервам ВМ. Для решения этой проблемы инициируется DRS, который балансирует нагрузку в кластере и освобождает на требуемом хосте необходимые ресурсы. Если же DRS выключен, то хост отказывается запустить ВМ в силу недостатка ресурсов. Также контроль доступа хоста проверяет совместимость настроек ВМ с настройками самого сервера – доступность сетей и датасторов. Ещё одна проверка осуществляется, если ВМ находится в списке типа must правил соответствия VM-Host – контроль доступа проверяет входит ли данная ВМ с список совместимых с данным хостом. И финальная проверка заключается в проверке доступа к хранилищу, выделенному под своп файл ВМ.

Оригинал: Frank Denneman

Комментариев нет:

Отправить комментарий