Выбор узла кластера для размещения виртуальной машины (ВМ) является обязательным на этапе её создания.

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

Автоматический выбор узла кластера VMmanager выполняет в соответствии с алгоритмом:

  1. Составляется список узлов кластера. Список сортируется в порядке возрастания количества ВМ, созданных на узле.
  2. Узлы из списка поочерёдно проверяются на соответствие требованиям, пока подходящий узел не будет найден:
    1. Проверяется статус узла кластера.
    2. Проверяется достижение максимального количества ВМ.
    3. Проверяется наличие уведомлений об ошибках на узле кластера.
    4. Проверяется наличие свободных ресурсов и оверселлинг по следующей схеме:
      1. Вычисляется доступный объём свободной оперативной памяти.
      2. Вычисляется достаточно ли оперативной памяти, чтобы установить ВМ без оверселлинга.
      3. Вычисляется объём оперативной памяти с учётом оверселлинга M по формуле M  =  T * O ÷ 100.

        T — общий объём оперативной памяти;

        O — значение оверселлинга.

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

Проверка статуса

Возможны два варианта статуса: "блокирован" и "разблокирован". В зависимости от статуса узел соответственно запрещён или разрешён для автоматического размещения ВМ. Заблокированный узел исключается из списка узлов.

Узел может быть заблокирован вручную в Настройки кластера → Узлы кластера либо при помощи параметра CreateVmDisableNodeTimer конфигурационного файла панели (по умолчанию /usr/local/mgr5/etc/vmmgr.conf). Этот параметр определяет период исключения узла из списка доступных для автоматического размещения. Указывается в минутах. Если параметр указан, то после создания ВМ на узле этот узел блокируется для автоматического размещения на заданное количество минут. Если установка ВМ завершится раньше заданного периода, то узел разблокируется.

Проверка достижения максимального количества ВМ

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

Проверка наличия уведомлений об ошибках

Проверка будет пройдена успешно, если узел кластера работоспособен.

Проверка наличия свободных ресурсов и оверселлинга

Если оверселлинг включён, то проверяется доступность ресурсов на узле кластера с учётом его величины. Подробнее см. в статье Настройка политик. Проверяется, чтобы после создания ВМ было свободно не менее 10% каждого ресурса (объём оперативной памяти, объём диска, загрузка CPU.