Высокопроизводительные ВМ, шаблоны и пулы
Для ВМ можно настроить режим высокой производительности, чтобы показатели производительности были как можно более близкими к аппаратным возможностям. При выборе оптимизации для высокой производительности на ВМ настраивается набор автоматических и рекомендуемых ручных параметров для максимальной эффективности.
Настройка режима высокой производительности осуществляется только на Портале администрирования. В окне "Изменить" (или в окне "Добавить") нужно выбрать из выпадающего списка "Оптимизировано для" пункт "Высокая производительность" для ВМ, шаблона или пула.
Высокопроизводительные виртуальные машины
Если режим оптимизации изменяется на высокую производительность при работающей ВМ, то некоторые изменения конфигурации требуют перезапуска ВМ.
Чтобы сменить режим оптимизации новой или уже существующей ВМ на высокую производительность, сначала может понадобиться вручную изменить некоторые параметры конфигурации кластера и привязанного хоста.
У высокопроизводительной ВМ есть следующие ограничения, так как улучшенная производительность достигается за счёт некоторого снижения гибкости:
- Если привязка потоков ЦП, потоков ввода-вывода, потоков эмулятора или узлов NUMA была настроена согласно рекомендациям, то высокопроизводительной ВМ можно выделить только небольшую группу хостов в кластере.
- Многие устройства отключаются автоматически, что ограничивает эксплуатационные возможности высокопроизводительной ВМ.
Высокопроизводительные шаблоны и пулы
Высокопроизводительные шаблоны и пулы создаются и редактируются точно так же, как и ВМ. Если высокопроизводительный шаблон или пул используется для создания новой ВМ, то новые ВМ наследуют этот параметр и конфигурацию. При этом следующие параметры не наследуются и должны настраиваться вручную:
- Привязка ЦП.
- Топология привязки NUMA и виртуальных NUMA.
- Топология привязки потоков ввода-вывода и эмулятора.
- Сквозной доступ к ЦП хоста.
Создание высокопроизводительных ВМ, шаблонов или пулов
Действия по созданию высокопроизводительных ВМ, шаблонов или пулов:
- в окне "Изменить" (или в окне "Добавить") выбрать из выпадающего списка "Оптимизировано для" пункт "Высокая производительность";
- нажать кнопку
OK;
- Если не было сделано никаких изменений параметров вручную, появится экран "Параметры высокопроизводительной ВМ/пула", где будут представлены рекомендуемые конфигурации, выполняемые вручную.
- Если отдельные параметры уже были изменены вручную, то экран "Параметры высокопроизводительной ВМ/пула" отобразит изменения параметров, которые не были выполнены.
- Если все рекомендуемые параметры уже были изменены вручную, то экран "Параметры высокопроизводительной ВМ/пула" не появится.
- при появлении экрана "Параметры высокопроизводительной ВМ/пула" нажать кнопку
Отменить, чтобы вернуться в окно "Параметры" (или "Добавить") для выполнения ручной настройки (см. п. Выполнение ручной настройки параметров высокой производительности), или нажать кнопкуOK(в этом случае рекомендации будут проигнорированы, что может привести к потере производительности); - нажать кнопку
OK.
Тип оптимизации (конфигурацию высокой производительности) можно просмотреть во вкладке "Общие" подробного просмотра ВМ, пула или шаблона.
Примечание — Некоторые конфигурации могут переопределять параметры высокой производительности. Например, если выбрать тип экземпляра ВМ перед выбором пункта "Высокая производительность" и выполнением ручной настройки, то значение типа экземпляра не повлияет на конфигурацию высокой производительности. Но, если выбрать тип экземпляра после создания конфигурации высокой производительности, то окончательную конфигурацию необходимо проверить во всех вкладках ВМ, чтобы убедиться в том, что параметры высокой производительности не были переопределены типом экземпляра. Наиболее высокий приоритет обычно имеет последняя сохранённая конфигурация высокой производительности.
Автоматические параметры высокой производительности
В таблице 5 описываются автоматические параметры высокой производительности, при этом в столбце "Включён (да/нет)" указываются включённые (да) или отключённые (нет) конфигурации, а в столбце "Применение" указываются соответствующие ресурсы (ВМ, шаблон, пул).
Топология привязки потоков ввода-вывода и эмулятора
Топология привязки потоков ввода-вывода и эмулятора — это новый параметр в Системе виртуализации РОСА Виртуализация, который требует включения и настройки параметров потоков ввода-вывода, узлов NUMA и привязки NUMA для ВМ. В противном случае в журнале виртуализированного ЦУ появится соответствующее предупреждение.
Топология привязки имеет следующие особенности:
- Привязываются первые два ЦП каждого узла NUMA.
- Если в узел NUMA хоста умещаются все ЦП:
- автоматически резервируются/привязываются два первых виртуальных ЦП;
- остальные виртуальные ЦП доступны для ручной привязки.
- Если ВМ охватывает больше одного узла NUMA:
- резервируются/привязываются два первых ЦП узла NUMA;
- оставшиеся привязанные узлы NUMA предназначаются только для привязки ЦП.
Привязка потоков ввода-вывода и эмулятора для пулов не поддерживается.
Примечание — Если ЦП хоста привязан как к потокам виртуального ЦП, так и к потокам ввода-вывода и эмулятора, то в журнале виртуализированного ЦУ появится соответствующее предупреждение, и будет выведена рекомендация о необходимости изменения топологии ЦП.
Пиктограммы для обозначения высокой производительности
В таблице 6 приведены пиктограммы, которые обозначают и отображают различные состояния высокопроизводительной ВМ в меню "Ресурсы → Виртуальные машины".
Выполнение ручной настройки параметров высокой производительности
Параметры высокой производительности, рекомендуемые для ручной настройки, расположены в окнах "Добавить" или "Изменить".
Если рекомендуемые настройки не были выполнены, то после сохранения ресурса будет показан экран "Параметры высокопроизводительной ВМ/пула" с рекомендуемыми параметрами.
Рекомендуются следующие ручные настройки параметров высокой производительности:
- Привязка ЦП.
- Настройка топологии узлов NUMA и привязки.
- Настройка больших страниц памяти (hugepages).
- Отключение механизма объединения одинаковых страниц памяти ядром (KSM).
Параметры высокой производительности для ручной настройки
В таблице 7 описываются параметры высокой производительности, рекомендуемые для ручной настройки. При этом в столбце "Включён (да/нет)" указываются конфигурации, которые должны быть включены (да) или отключены (нет), а в столбце "Применение" указываются соответствующие ресурсы (ВМ, шаблон, пул, кластер).
Привязка ЦП
Привязка ЦП имеет следующие особенности:
- Для хостов с поддержкой NUMA необходимо учитывать параметры NUMA хоста (память и ЦП), так как ВМ должна вписываться в конфигурацию NUMA хоста.
- При настройке привязки ЦП необходимо учитывать топологию привязки потоков ввода-вывода и эмулятора.
- Настроить привязку ЦП можно только для ВМ и пулов, но не для шаблонов. Поэтому при создании высокопроизводительной ВМ или пула настраивать привязку ЦП необходимо вручную, даже если ВМ или пул основаны на шаблоне с параметрами высокой производительности.
Для привязки виртуальных ЦП к физическому ЦП конкретного хоста:
- на вкладке "Хост" отметить переключатель "Конкретные хосты";
- на вкладке "Выделение ресурсов" ввести "Топологию привязки ЦП" в соответствии с синтаксисом (см. п. Параметры выделения ресурсов ВМ);
- убедиться в том, что конфигурация ВМ совместима с конфигурацией привязанного хоста, т.е. выполняются следующие условия:
- число сокетов ВМ не должно превышать число сокетов хоста;
- число ядер ВМ на виртуальный сокет не должно превышать число ядер хоста.
Рабочие нагрузки с интенсивным использованием ресурсов ЦП лучше всего обрабатываются в ситуациях, когда хост и ВМ ожидают использования одного и того же кеша. Для достижения наилучшей производительности число потоков на ядро для ВМ не должно превышать число потоков на ядро для хоста.
Настройка узлов NUMA и топологии привязки
Для настройки узлов NUMA и топологии привязки необходим привязанный хост как минимум с двумя узлами NUMA.
Дополнительно необходимо учитывать следующие показатели и факторы:
- Параметры NUMA хоста (память и ЦП).
- Узел NUMA, на котором объявляются устройства хоста.
- Топология привязки ЦП.
- Топология привязки потоков ввода-вывода и эмулятора.
- Размер больших страниц (hugepages).
Действия по настройке узлов NUMA и топологии привязки:
- во вкладке "Хост" из выпадающих списков выбрать "Число узлов NUMA" и "Режим настройки";
- нажать "Привязка NUMA";
- в окне "Топология NUMA" переместить виртуальные узлы NUMA из области справа на физические узлы NUMA хоста слева.
Настройка больших страниц (hugepages)
При запуске ВМ большие страницы (hugepages) выделяются предварительно, так как по умолчанию динамическое выделение отключено.
К большим страницам памяти предъявляются следующие требования:
- Размер больших страниц ВМ должен быть равен размеру больших страниц привязанного хоста.
- Размер памяти ВМ должен умещаться в выбранный размер больших страниц привязанного хоста.
- Размер узла NUMA должен быть кратным выбранному размеру больших страниц.
Действия по настройке больших страниц памяти (hugepages):
- на вкладке "Настраиваемые пользователем параметры" (рисунок 31) выбрать в списке пункт "hugepages (большие страницы)".
- ввести размер больших страниц в КБ;
- нажать кнопку
OK.

Рисунок 31 ‒ Параметры ВМ, настраиваемые пользователем
Примечание — Рекомендуется указывать самый большой размер больших страниц памяти, поддерживаемый привязанным хостом (например, рекомендуемый размер для архитектуры x86_64 — 1 ГБ).
Для включения динамического резервирования больших страниц памяти следует отключить фильтр HugePages в планировщике, а в разделе [performance] конфигурационного файла /etc/vdsm/vdsm.conf указать следующую строку:
use_dynamic_hugepages = true
В таблице 8 описываются преимущества и недостатки динамических и статических больших страниц памяти.
Примечание — При использовании больших страниц памяти применяются следующие ограничения:
- Горячее подключение/отключение памяти отключено.
- Ресурсы памяти хоста ограничены.
Отключение механизма объединения одинаковых страниц памяти ядром (KSM)
Действия по отключению KSM для кластера:
- в главном меню Портала администрирования выбрать пункт "Ресурсы → Кластеры";
- выбрать кластер;
- нажать кнопку
Изменить; - на вкладке "Оптимизация" снять флажок "Включить KSM".