Алгоритм работы планировщика#
В состав планировщика входит программный модуль установления соответствия (mm_sched), реализующий стратегию планирования ранга (Rank Scheduling Policy). Данная стратегия нацелена на определение приоритета ресурсов, подходящих для ВМ.
Алгоритм установления соответствия работает следующим образом:
Виртуальные машины, для размещения диска которых требуется больше дисового пространства, чем доступно на данный момент, отфильтровываются и остаются в состоянии ожидания (
pending);Серверы виртуализации, которые не соответствуют требованиям (задаются параметром
SCHED_REQUIREMENTSв шаблоне ВМ) или не имеют достаточной вычислительной мощности (свободных ЦП и оперативной памяти) для запуска ВМ, отфильтровываются;Системные хранилища, которые не соответствуют требованиям (задаются параметром
SCHED_DS_REQUIREMENTSв шаблоне ВМ) или не имеют достаточного дискового ресурса, отфильтровываются;Виртуальные сети, которые не соответствуют требованиям (задаются параметром
SCHED_REQUIREMENTSв блоке параметровNICшаблона ВМ) или не имеют достаточного количества свободных (арендованных) адресов, отфильтровываются;Производится финальная фильтрация и ранжирование серверов виртуализации, системных хранилищ и виртуальных сетей в соответствии со значениями параметров, указанных в следующих источниках (по убыванию приоритета):
в шаблоне ВМ (используются параметры
SCHED_RANKиSCHED_DS_RANK);для всех виртуальных машин в целом — в файле
/etc/one/sched.conf(используются блоки параметровDEFAULT_SCHED,DEFAULT_DS_SCHEDиDEFAULT_NIC_SCHED).
При развертывании ВМ в первую очередь используются ресурсы с более высоким рангом.