Настройка стратегии размещения#
Стратегия размещения применяется для эффективного распределения виртуальных машин между серверами виртуализации.
Параметры стратегии размещения#
Для настройки стратегии размещения в конфигурационном файле /etc/one/sched.conf
используется блок DEFAULT_SCHED
, в котором определены значения следующих параметров:
RANK
— арифметическое выражение для ранжирования подходящих серверов виртуализации в зависимости от их производительности (используется при настройке пользовательской стратегии размещения);POLICY
— номер используемой стратегии размещения:
Стратегия |
Описание |
---|---|
0 |
Предустановленная стратегия вида |
1 |
Предустановленная стратегия вида |
2 |
Предустановленная стратегия вида |
3 |
Пользовательская стратегия: для размещения ВМ
выбирается сервер виртуализации в соответствии с
правилом, заданным в параметре |
4 |
Предустановленная стратегия вида |
Особенности ранжирования серверов виртуализации#
При развертывании ВМ для каждого сервера виртуализации вычисляется значение ранга. Таким образом обеспечивается выбор наилучшего сервера виртуализации для запуска ВМ.
Ранг сервера виртуализации вычисляется в соответствии с арифметическим выражением, заданным в параметре 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
.
Примечание
Данные значения могут быть отрицательными. В этом случае фактически требуется увеличить общую вычислительную мощность, тем самым перегружая сервер виртуализации.