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

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

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