Группы схожести
Группы схожести помогают определить, где выполняются выбранные ВМ относительно взаимосвязи друг с другом и указанных хостов. Эта возможность помогает в управлении сценариями рабочих нагрузок, в частности при работе с требованиями лицензирования, рабочими нагрузками высокой доступности и восстановления после сбоев.
Правило схожести ВМ
При создании группы схожести выбираются ВМ, принадлежащие к группе. Для определения возможности выбранных ВМ выполняться во взаимосвязи друг с другом, активируется следующее "Правило схожести ВМ":
- Правило положительной схожести попытается запустить ВМ вместе на одном хосте.
- Правило отрицательной схожести попытается запустить ВМ на разных хостах. Если "Правило схожести ВМ" не может быть выполнено, то результат зависит от того, активен ли модуль веса или модуль фильтра.
Правило схожести хостов
Опционально хосты также можно добавить в группу схожести. Для определения, где могут выполняться ВМ из группы относительно хостов в группе, активируется следующее "Правило схожести хостов":
- Правило положительной схожести попытается запустить ВМ на хостах-участниках группы схожести.
- Правило отрицательной схожести попытается запустить ВМ на хостах, не являющихся участниками группы.
Если "Правило схожести хостов" не может быть выполнено, то результат зависит от того, активен ли модуль веса или модуль фильтра.
Модуль веса по умолчанию
По умолчанию в политике планирования кластера для "Правила схожести ВМ" и "Правила схожести хостов" применяется модуль веса. В присутствии модуля веса планировщик попытается выполнить правило схожести, но в случае неудачи всё равно позволит работать ВМ из группы схожести.
В случае положительного "Правила схожести ВМ" и активированного модуля веса планировщик попытается запустить все ВМ из группы схожести на одном хосте. Но в случае, если у одного хоста недостаточно для этого ресурсов, планировщик запустит ВМ на нескольких хостах.
Для работы модуля веса в разделе weight module политик планирования должны присутствовать ключевые слова "VmAffinityGroups" и "VmToHostsAffinityGroups".
Параметр "Принудительно" и модуль фильтра
У "Правила схожести ВМ" и "Правила схожести хостов" есть параметр "Принудительно", который применяется к модулю фильтра в политике планирования кластера. Модуль фильтра переопределяет модуль веса. При активированном модуле фильтра планировщик требует, чтобы правило схожести было выполнено. Если правило схожести не может быть выполнено, то модуль фильтра препятствует запуску ВМ из группы схожести.
В случае положительного "Правила схожести хостов" и активированного параметра "Принудительно" (активированный модуль фильтра) планировщик требует, чтобы ВМ из группы схожести выполнялись на хостах из группы схожести. Тем не менее при незапущенных хостах планировщик вообще не запустит ВМ.
Для работы модуля фильтра в разделе filter module политик планирования должны присутствовать ключевые слова "VmAffinityGroups" и "VmToHostsAffinityGroups".
Примечания:
- Метка схожести эквивалентна группе схожести с активированным положительным правилом схожести хоста и включённым параметром "Принудительно".
- Для работы меток схожести в разделе
filter moduleполитик планирования должно присутствовать ключевое слово "Label".- В случае конфликта группы схожести и метки схожести затрагиваемые ВМ не запускаются.
- Группы схожести применяются к ВМ на уровне кластера. Перемещение ВМ из одного кластера в другой удаляет ВМ из групп схожести исходного кластера.
- Для вступления в силу создаваемых групп схожести перезагружать ВМ не нужно.
Создание групп схожести
Действия по созданию группы схожести:
- в главном меню Портала администрирования выбрать пункт "Ресурсы → Виртуальные машины";
- нажать на имя ВМ, чтобы перейти к подробному просмотру;
- перейти на вкладку "Группы схожести";
- нажать кнопку
Добавить; - ввести "Имя" и "Описание" группы схожести (рисунок 43);
- из выпадающего списка "Правило схожести для ВМ" выбрать "Положительная" для правила положительной схожести или "Отрицательная" — для правила отрицательной схожести, а для отключения правила схожести выбрать "Отключено";
- для жёсткого принудительного выполнения выбранного правила схожести установить флажок "Принудительно";
- из выпадающего списка выбрать ВМ для добавления в группу схожести;
- для добавления или удаления ВМ из группы схожести использовать соответственно кнопки
+(плюс) или–(минус); - нажать кнопку
OK.

Рисунок 43 ‒ Создание группы схожести
Изменение групп схожести
Действия по изменению группы схожести:
- в главном меню Портала администрирования выбрать пункт "Ресурсы → Виртуальные машины";
- нажать на имя ВМ, чтобы перейти к подробному просмотру;
- перейти на вкладку "Группы схожести";
- нажать кнопку
Изменить; - при необходимости изменить значение в списке "Правило схожести для ВМ", установить или снять флажок "Принудительно", а также изменить состав ВМ в группе схожести. Для добавления или удаления ВМ из группы схожести использовать соответственно кнопки
+(плюс) или–(минус); - нажать кнопку
OK.
Удаление групп схожести
Действия по удалению группы схожести:
- в главном меню Портала администрирования выбрать пункт "Ресурсы → Виртуальные машины";
- нажать на имя ВМ, чтобы перейти к подробному просмотру;
- перейти на вкладку "Группы схожести";
- нажать кнопку
Удалить; - нажать кнопку
OK.
В результате та политика схожести, которая применялась к ВМ из группы схожести, больше не будет применяться.
Примеры применения правил и групп схожести
Примеры ниже иллюстрируют применение правил схожести в сценариях с использованием групп схожести с различными характеристиками.
Пример ‒ Высокая доступность
Наташа — специалист DevOps в организации. Для достижения высокой доступности две ВМ (VM01 и VM02) из Системы должны выполняться на двух отдельных хостах в любом месте кластера.
Наташа создаёт группу схожести "Высокая доступность", после чего выполняет следующие действия:
- добавляет
VM01иVM02в группу схожести; - указывает "Отрицательную" схожесть для "Схожести ВМ", чтобы ВМ попытались работать на разных хостах;
- не отмечает параметр "Принудительно", чтобы VM01 и VM02 продолжали работу в случае, если будет доступен только один хост;
- оставляет список "Хосты" пустым, чтобы VM01 и VM02 могли работать на любом хосте в кластере.
Пример ‒ Производительность
Пётр — разработчик ПО и каждый день использует две ВМ (VM01 и VM02) для сборки и тестирования программ. Эти ВМ обмениваются очень большими объёмами трафика. Работа VM01 и VM02 на одном и том же хосте уменьшает как объём трафика, так и влияние сетевых задержек на процесс сборки и тестирования, а использование хостов с более высокими техническими характеристиками ещё больше ускоряет этот процесс.
Пётр создаёт группу схожести "Сборка и тестирование", после чего выполняет следующие действия:
- добавляет VM01 (ВМ сборки) и VM02 (ВМ тестирования) в группу схожести;
- добавляет хосты с более высокими техническими характеристиками ("host03", "host04" и "host05") в группу схожести;
- указывает "Положительную" схожесть для "Схожести ВМ", чтобы ВМ попытались работать на одном и том же хосте для уменьшения сетевого трафика и влияния сетевых задержек;
- указывает "Положительную" схожесть для "Схожести хостов", чтобы ВМ попытались работать на хостах с более высокими техническими характеристиками;
- оставляет список "Хосты" пустым для правила схожести ВМ и правила схожести хостов, чтобы ВМ работали, даже если высококачественные хосты будут недоступны.
Пример ‒ Лицензирование
Владимир — менеджер по работе с лицензиями, который помогает своей организации выполнить требования ограничительной лицензии поставщика ПО для трёхмерной визуализации. Согласно условиям лицензии ВМ сервера лицензирования (VM-LS) и рабочая станция (VM-WS), выполняющая визуализацию, должны располагаться на одном и том же хосте. Кроме того, модель лицензирования на основе физических ЦП требует, чтобы рабочие станции выполнялись на одном из двух хостов, оснащённых GPU — host-gpu-primary или host-gpu-backup.
Владимир создаёт группу схожести "Сейсмическое моделирование 3D", после чего выполняет следующие действия:
- добавляет ВМ (VM-LS, VM-WS) и хосты (host-gpu-primary, host-gpu-backup) в группу схожести;
- указывает "Положительную" схожесть для "Схожести ВМ" и отмечает параметр "Принудительно", чтобы сервер лицензирования VM-LS и рабочая станция VM-WS обязательно работали на одном хосте;
- указывает "Положительную" схожесть для "Схожести хостов" и отмечает параметр "Принудительно", чтобы ВМ (VM-LS и VM-WS) обязательно работали на одном из хостов, оснащённых GPU, — host-gpu-primary или host-gpu-backup.
Обнаружение проблем при работе с группами схожести
Для предупреждения проблем с группами схожести выполняют следующие правила:
- Планировать и документировать сценарии и ожидаемые результаты использования групп схожести.
- Проверять и тестировать результаты в различных условиях.
- Использовать параметр "Принудительно" только там, где это действительно необходимо.
- При обнаружении проблем с группами схожести и неработающими ВМ выполнять следующие действия:
- убедиться в том, что для кластера настроена политика планирования, где разделы
weight moduleиfilter moduleсодержат ключевые слова "VmAffinityGroups" и "VmToHostsAffinityGroups"; - проверить возможность конфликта между метками схожести и группами схожести:
- просмотреть раздел
filter moduleполитик планирования кластера, который должен содержать либо два ключевых слова — "Label" и "VmAffinityGroups", либо ключевое слово "VmToHostsAffinityGroups", в противном случае конфликт невозможен; - обратить внимание, что наличие ключевых слов "VmAffinityGroups" и "VmToHostsAffinityGroups" в разделе
weight moduleне имеет значения, поскольку ключевое слово "Label" в разделе filter module их переопределяет. - просмотреть параметры групп схожести и убедиться, что параметр "Принудительно" активирован, в противном случае конфликт невозможен;
- просмотреть раздел
- если конфликт между метками схожести и группами схожести возможен, определить ВМ, которые могут быть вовлечены в потенциальный конфликт:
- просмотреть параметры меток схожести и групп схожести и активировать в списках участников (ВМ) параметр "Принудительно";
- для каждого вовлечённого в конфликт хоста и ВМ проанализировать условия, при которых случается потенциальный конфликт;
- изменить структуру групп схожести и меток схожести так, чтобы избежать нежелательных конфликтов.
- Убедиться в том, что изменения выдают ожидаемый результат в разных условиях.
- Если группы схожести и метки схожести перекрывают друг друга, то лучше просмотреть их в одном месте в виде групп схожести, а для этого преобразовать метки схожести в аналогичные группы схожести с положительным правилом схожести для хостов и активированным параметром "Принудительно".