Алгоритм работы планировщика#

В состав планировщика входит программный модуль установления соответствия (mm_sched), реализующий стратегию планирования ранга (Rank Scheduling Policy). Данная стратегия нацелена на определение приоритета ресурсов, подходящих для ВМ.

Алгоритм установления соответствия работает следующим образом:

  1. Каждый диск работающей ВМ использует дисковый ресурс системного хранилища. Виртуальные машины, для которых требуется больше памяти, чем доступно на данный момент, отфильтровываются и остаются в состоянии ожидания (pending);

  2. Серверы виртуализации, которые не соответствуют требованиям ВМ (задаются параметром SCHED_REQUIREMENTS в шаблоне ВМ) или не имеют достаточно ресурсов (доступные ресурсы ЦП и оперативной памяти) для запуска ВМ, отфильтровываются;

  3. Системные хранилища данных, которые не соответствуют требованиям к хранилищам данных (задаются параметром SCHED_DS_REQUIREMENTS в шаблоне ВМ) или не имеют достаточного дискового ресурса, отфильтровываются;

  4. Значения параметров SCHED_RANK и SCHED_DS_RANK, указанные в шаблоне ВМ, оцениваются в соответствии с перечнем серверов виртуализации и хранилищ данных с помощью информации, собранной контрольными драйверами. Любая переменная, о которой сообщает контрольный драйвер (или настроенная вручную в шаблоне сервера виртуализации хранилища данных), может быть добавлена в выражения ранга;

  5. Ресурсы с более высоким рангом используются для размещения ВМ в первую очередь.

Данный алгоритм планировщика позволяет легко использовать несколько эвристических процедур для размещения в зависимости от применяемых выражений ранга (RANK).

Настройка конфигурации стратегий планирования#

Конфигурацию стратегии, используемой для размещения ВМ, можно настроит в двух местах:

  1. Для каждой ВМ в соответствии с определением параметров SCHED_RANK и SCHED_DS_RANK в шаблоне ВМ;

  2. Для всех виртуальных машин в целом — в файле sched.conf (требуется перезапуск сервисов ПВ).

Перепланирование виртуальных машин#

ВМ может быть перепланирована без выключения. При выполнении команды onevm resc для ВМ устанавливается метка перепланирования. В следующем интервале планирования ВМ будет представлена на перепланирование, если:

  • существует подходящий сервер виртуализации для ВМ;

  • ВМ еще не запущена на нем.

Эта функция может использоваться другими компонентами для запуска перепланирования при соблюдении определенных условий.

Планирование действий ВМ#

Пользователи могут запланировать выполнение одного или нескольких действий ВМ в определенные дату и время. Для добавления нового параметра SCHED_ACTION в редактируемый шаблон ВМ используется команда onevm schedule.