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