Алгоритм работы планировщика#
В состав планировщика входит программный модуль установления соответствия (mm_sched), реализующий стратегию планирования ранга (Rank Scheduling Policy). Данная стратегия нацелена на определение приоритета ресурсов, подходящих для ВМ.
Алгоритм установления соответствия работает следующим образом:
Каждый диск работающей ВМ использует дисковый ресурс системного хранилища. Виртуальные машины, для которых требуется больше памяти, чем доступно на данный момент, отфильтровываются и остаются в состоянии ожидания (
pending);Серверы виртуализации, которые не соответствуют требованиям ВМ (задаются параметром
SCHED_REQUIREMENTSв шаблоне ВМ) или не имеют достаточно ресурсов (доступные ресурсы ЦП и оперативной памяти) для запуска ВМ, отфильтровываются;Системные хранилища данных, которые не соответствуют требованиям к хранилищам данных (задаются параметром
SCHED_DS_REQUIREMENTSв шаблоне ВМ) или не имеют достаточного дискового ресурса, отфильтровываются;Значения параметров
SCHED_RANKиSCHED_DS_RANK, указанные в шаблоне ВМ, оцениваются в соответствии с перечнем серверов виртуализации и хранилищ данных с помощью информации, собранной контрольными драйверами. Любая переменная, о которой сообщает контрольный драйвер (или настроенная вручную в шаблоне сервера виртуализации хранилища данных), может быть добавлена в выражения ранга;Ресурсы с более высоким рангом используются для размещения ВМ в первую очередь.
Данный алгоритм планировщика позволяет легко использовать несколько эвристических процедур для размещения в зависимости от применяемых выражений ранга (RANK).
Настройка конфигурации стратегий планирования#
Конфигурацию стратегии, используемой для размещения ВМ, можно настроит в двух местах:
Для каждой ВМ в соответствии с определением параметров
SCHED_RANKиSCHED_DS_RANKв шаблоне ВМ;Для всех виртуальных машин в целом — в файле sched.conf (требуется перезапуск сервисов ПВ).
Перепланирование виртуальных машин#
ВМ может быть перепланирована без выключения. При выполнении команды onevm resc для ВМ устанавливается метка перепланирования. В следующем интервале планирования ВМ будет представлена на перепланирование, если:
существует подходящий сервер виртуализации для ВМ;
ВМ еще не запущена на нем.
Эта функция может использоваться другими компонентами для запуска перепланирования при соблюдении определенных условий.
Планирование действий ВМ#
Пользователи могут запланировать выполнение одного или нескольких действий ВМ в определенные дату и время. Для добавления нового параметра SCHED_ACTION в редактируемый шаблон ВМ используется команда onevm schedule.