Алгоритм работы планировщика#
В состав планировщика входит программный модуль установления соответствия (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
.