Настройка стратегии размещения#

Стратегия размещения применяется для эффективного распределения виртуальных машин между серверами виртуализации.

Параметры стратегии размещения#

Для настройки стратегии размещения в конфигурационном файле /etc/one/sched.conf используется блок DEFAULT_SCHED, в котором определены значения следующих параметров:

  • RANK — арифметическое выражение для ранжирования подходящих серверов виртуализации в зависимости от их производительности (используется при настройке пользовательской стратегии размещения);

  • POLICY — номер используемой стратегии размещения:

Стратегия

Описание

0

Предустановленная стратегия вида Уплотнение: свести к минимуму количество используемых серверов виртуализации за счет уплотнения ВМ на сервере виртуализации

1

Предустановленная стратегия вида Распределение: свести к максимуму количество доступных для ВМ ресурсов путем распределения ВМ на серверах виртуализации (установлено по умолчанию)

2

Предустановленная стратегия вида С учетом нагрузки: свести к максимуму количество доступных для ВМ ресурсов путем размещения ВМ на сервере виртуализации с меньшей нагрузкой

3

Пользовательская стратегия: для размещения ВМ выбирается сервер виртуализации в соответствии с правилом, заданным в параметре RANK

4

Предустановленная стратегия вида Фиксированная: серверы виртуализации будут ранжироваться в соответствии со значением параметра PRIORITY (приоритет), заданном в шаблоне сервера виртуализации или кластера

Особенности ранжирования серверов виртуализации#

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

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

  • + — сложение;

  • - — вычитание;

  • * — умножение;

  • / — деление.

При вычислении ранга используется арифметика с плавающей запятой, однако результат округляется до целого числа.

Арифметическое выражение может состоять только из одного параметра.

Примечание

Пример

Высший ранг имеет сервер виртуализации с наибольшим количеством работающих ВМ:

RANK=RUNNING_VMS

Кроме того, в качестве значения ранга могут выступать отрицательные числа.

Примечание

Пример

Высший ранг имеет сервер виртуализации с наименьшим количеством работающих ВМ:

RANK="- RUNNING_VMS"

Предустановленные стратегии размещения#

Стратегия вида Уплотнение:

  • цель: свести к минимуму количество используемых серверов виртуализации;

  • эвристическая процедура: плотно разместить ВМ на серверах виртуализации;

  • реализация: сначала использовать сервер виртуализации с наибольшим количеством работающих ВМ.

Этой стратегии соответствует следующее арифметическое выражение для ранжирования серверов виртуализации:

RANK=RUNNING_VMS

Стратегия вида Распределение:

  • цель: свести к максимуму ресурсы, доступные для ВМ на сервере виртуализации;

  • эвристическая процедура: равномерно распределить ВМ на серверах виртуализации;

  • реализация: сначала использовать сервер виртуализации с меньшим количеством работающих ВМ.

Этой стратегии соответствует следующее арифметическое выражение для ранжирования серверов виртуализации:

RANK="- RUNNING_VMS"

Стратегия вида С учетом нагрузки:

  • цель: свести к максимуму ресурсы, доступные для ВМ на сервере виртуализации;

  • эвристическая процедура: использовать серверы виртуализации с меньшей нагрузкой;

  • реализация: сначала использовать сервер виртуализации с наибольшим количеством свободных ЦП.

Этой стратегии соответствует следующее арифметическое выражение для ранжирования серверов виртуализации:

RANK=FREE_CPU

Стратегия вида Фиксированная:

  • цель: сортировать серверы виртуализации вручную;

  • эвристическая процедура: учитывать значение параметра PRIORITY (приоритет), заданный в шаблоне сервера виртуализации или кластера;

  • реализация: сначала использовать сервер виртуализации с более высоким приоритетом.

Этой стратегии соответствует следующее арифметическое выражение для ранжирования серверов виртуализации:

RANK=PRIORITY

Перепланирование размещения виртуальных машин#

ВМ может быть перепланирована без выключения. При выполнении команды onevm resched для ВМ устанавливается метка перепланирования. При следующей итерации действий планировщика ВМ будет представлена на перепланирование, если выполняются следующие условия:

  • существует подходящий сервер виртуализации для ВМ;

  • ВМ еще не запущена на нем.

Ограничение ресурсов, предоставляемых сервером виртуализации#

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

  • резервирование на уровне кластера при обновлении шаблона кластера (например, с помощью команды onecluster update). Все серверы виртуализации кластера зарезервируют одинаковое количество вычислительной мощности;

  • резервирование на уровне сервера виртуализации путем обновления шаблона сервера виртуализации (например, с помощью команды onehost update). При этом будут заменены значения параметров, которые были указаны на уровне кластера.

В частности, возможно резервирование следующих параметров вычислительной мощности:

  • RESERVED_CPU в процентах. Будет вычитаться из TOTAL CPU;

  • RESERVED_MEM в КБ. Будет вычитаться из TOTAL MEM.

Примечание

Данные значения могут быть отрицательными. В этом случае фактически требуется увеличить общую вычислительную мощность, тем самым перегружая сервер виртуализации.