Группы схожести

Группы схожести помогают определить, где выполняются выбранные ВМ, относительно взаимосвязи друг с другом и указанных хостов. Эта возможность помогает в управлении сценариями рабочих нагрузок, в частности при работе с требованиями лицензирования, рабочими нагрузками высокой доступности и восстановления после сбоев.

Правило схожести ВМ

При создании группы схожести выбираются ВМ, принадлежащие к группе. Для определения, могут ли выбранные ВМ выполняться во взаимосвязи друг с другом, активируется следующее "Правило схожести ВМ".

  • Правило положительной схожести попытается запустить ВМ вместе на одном хосте.
  • Правило отрицательной схожести попытается запустить ВМ на разных хостах.

Если правило схожести ВМ не может быть выполнено, то результат зависит от того, активен ли модуль веса или модуль фильтра.

Правило схожести хостов

Опционально хосты также можно добавить в группу схожести. Для определения, где могут выполняться ВМ из группы, относительно хостов в группе, активируется следующее "Правило схожести хостов".

  • Правило положительной схожести попытается запустить ВМ на хостах-участниках группы схожести.
  • Правило отрицательной схожести попытается запустить ВМ на хостах, не являющихся участниками группы.

Если правило схожести хостов не может быть выполнено, то результат зависит от того, активен ли модуль веса или модуль фильтра.

Модуль веса по умолчанию

По умолчанию в политике планирования кластера для правила схожести ВМ и правила схожести хостов применяется модуль веса. В присутствии модуля веса планировщик попытается выполнить правило схожести, но в случае неудачи всё равно позволит работать ВМ из группы схожести.

В случае положительного правила схожести ВМ и активированного модуля веса планировщик попытается запустить все ВМ из группы схожести на одном хосте. Но в случае если у одного хоста недостаточно для этого ресурсов, планировщик запустит ВМ на нескольких хостах.

Для работы модуля веса в разделе weight module политик планирования должны присутствовать ключевые слова VmAffinityGroups и VmToHostsAffinityGroups.

Параметр "Принудительно" и модуль фильтра

У правила схожести ВМ и правила схожести хостов есть параметр "Принудительно", который применяется к модулю фильтра в политике планирования кластера. Модуль фильтра переопределяет модуль веса. При активированном модуле фильтра планировщик требует, чтобы правило схожести было выполнено. Если правило схожести не может быть выполнено, то модуль фильтра препятствует запуску ВМ из группы схожести.

В случае положительного правила схожести хостов и активированного параметра "Принудительно" (активированный модуль фильтра), планировщик требует, чтобы ВМ из группы схожести выполнялись на хостах из группы схожести. Тем не менее при не запущенных хостах планировщик вообще не запустит ВМ.

Для работы модуля фильтра, в разделе filter module политик планирования должны присутствовать ключевые слова VmAffinityGroups и VmToHostsAffinityGroups.

Примечания:

  • Метка схожести эквивалентна группе схожести с активированным положительным правилом схожести хоста и включённым параметром "Принудительно".
  • Для работы меток схожести в разделе filter module политик планирования должно присутствовать ключевое слово Label.
  • В случае конфликта группы схожести и метки схожести затрагиваемые ВМ не запускаются.
  • Группы схожести применяются к ВМ на уровне кластера. Перемещение ВМ из одного кластера в другой удаляет ВМ из групп схожести исходного кластера.
  • Для вступления в силу создаваемых групп схожести перезагружать ВМ не нужно.

Создание групп схожести

Действия по созданию группы схожести:

  1. В главном меню Портала администрирования выберите пункт "Ресурсы → Виртуальные машины".
  2. Нажмите на имя ВМ, чтобы перейти к подробному просмотру.
  3. Перейдите на вкладку "Группы схожести".
  4. Нажмите Добавить.
  5. Введите "Имя" и "Описание" группы схожести (рисунок 46).
  6. Из выпадающего списка "Правило схожести для ВМ" выберите "Положительная" для правила положительной схожести или "Отрицательная" для правила отрицательной схожести, а для отключения правила схожести выберите "Отключено".
  7. Для жёсткого принудительного выполнения выбранного правила схожести установите флажок "Принудительно".
  8. Из выпадающего списка выберите ВМ для добавления в группу схожести.
  9. Для добавления или удаления ВМ из группы схожести используйте соответственно кнопки + (плюс) или (минус).
  10. Нажмите OK.

Рисунок 46 – Создание группы схожести

Изменение групп схожести

Действия по изменению группы схожести:

  1. В главном меню Портала администрирования выберите пункт "Ресурсы → Виртуальные машины".
  2. Нажмите на имя ВМ, чтобы перейти к подробному просмотру.
  3. Перейдите на вкладку "Группы схожести".
  4. Нажмите Изменить.
  5. При необходимости измените значение в списке "Правило схожести для ВМ", установите или снимите флажок "Принудительно", а также измените состав ВМ в группе схожести. Для добавления или удаления ВМ из группы схожести используйте соответственно кнопки + (плюс) или (минус).
  6. Нажмите OK.

Удаление групп схожести

Действия по удалению группы схожести:

  1. В главном меню Портала администрирования выберите пункт "Ресурсы → Виртуальные машины".
  2. Нажмите на имя ВМ, чтобы перейти к подробному просмотру.
  3. Перейдите на вкладку "Группы схожести".
  4. Нажмите Удалить.
  5. Нажмите OK.

В результате та политика схожести, которая применялась к ВМ из группы схожести, больше не будет применяться.

Примеры применения правил и групп схожести

Примеры ниже иллюстрируют применение правил схожести в сценариях с использованием групп схожести с различными характеристиками.

Пример 1. Высокая доступность

Наташа — специалист DevOps в организации. Для достижения высокой доступности две ВМ (VM01 и VM02) из системы должны выполняться на двух отдельных хостах в любом месте кластера.

Наташа создаёт группу схожести "Высокая доступность", после чего выполняет следующие действия:

  1. Добавляет VM01 и VM02 в группу схожести.
  2. Указывает "Отрицательную" схожесть для "Схожести ВМ", чтобы ВМ попытались работать на разных хостах.
  3. Не отмечает параметр "Принудительно", чтобы VM01 и VM02 продолжали работу в случае, если будет доступен только один хост.
  4. Оставляет список "Хосты" пустым, чтобы VM01 и VM02 могли работать на любом хосте в кластере.

Пример 2. Производительность

Пётр — разработчик ПО и каждый день использует две ВМ (VM01 и VM02) для сборки и тестирования программ. Эти ВМ обмениваются очень большими объёмами трафика. Работа VM01 и VM02 на одном и том же хосте уменьшает как объём трафика, так и влияние сетевых задержек на процесс сборки и тестирования, а использование хостов с более высокими техническими характеристиками ещё больше ускоряет этот процесс.

Пётр создаёт группу схожести "Сборка и тестирование", после чего выполняет следующие действия:

  1. Добавляет VM01 (ВМ сборки) и VM02 (ВМ тестирования) в группу схожести.
  2. Добавляет хосты с более высокими техническими характеристиками (host03, host04 и host05) в группу схожести.
  3. Указывает "Положительную" схожесть для "Схожести ВМ", чтобы ВМ попытались работать на одном и том же хосте для уменьшения сетевого трафика и влияния сетевых задержек.
  4. Указывает "Положительную" схожесть для "Схожести хостов", чтобы ВМ попытались работать на хостах с более высокими техническими характеристиками.
  5. Оставляет список "Хосты" пустым для правила схожести ВМ и правила схожести хостов, чтобы ВМ работали даже если высококачественные хосты будут недоступны.

Пример 3. Лицензирование

Владимир — менеджер по работе с лицензиями, который помогает своей организации выполнить требования ограничительной лицензии поставщика ПО для трёхмерной визуализации. Согласно условиям лицензии ВМ сервера лицензирования (VM-LS) и рабочая станция (VM-WS), выполняющая визуализацию, должны располагаться на одном и том же хосте. Кроме того, модель лицензирования на основе физических ЦП требует, чтобы рабочие станции выполнялись на одном из двух хостов, оснащённых GPU — host-gpu-primary или host-gpu-backup.

Владимир создаёт группу схожести "Сейсмическое моделирование 3D", после чего выполняет следующие действия:

  1. Добавляет ВМ (VM-LS, VM-WS) и хосты (host-gpu-primary, host-gpu-backup) в группу схожести.
  2. Указывает "Положительную" схожесть для "Схожести ВМ" и отмечает параметр "Принудительно", чтобы сервер лицензирования VM-LS и рабочая станция VM-WS обязательно работали на одном хосте.
  3. Указывает "Положительную" схожесть для "Схожести хостов" и отмечает параметр "Принудительно", чтобы ВМ (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 их переопределяет.
  • Просмотрите параметры групп схожести. Правила схожести должны иметь активированный параметр "Принудительно". В противном случае конфликт невозможен.
  • Если конфликт между метками схожести и группами схожести возможен, определите ВМ, которые могут быть вовлечены в потенциальный конфликт:
  • Просмотрите параметры меток схожести и групп схожести. Сделайте список участников (ВМ) как метки схожести, так и группы схожести с активированным параметром "Принудительно".
  • Для каждого вовлечённого в конфликт хоста и ВМ проанализируйте условия, при которых случается потенциальный конфликт.
  • Измените структуру групп схожести и меток схожести так, чтобы избежать нежелательных конфликтов.
  • Убедитесь в том, что изменения выдают ожидаемый результат в разных условиях.
  • Если группы схожести и метки схожести перекрывают друг друга, то лучше просмотреть их в одном месте в виде групп схожести. Для этого преобразуйте метки схожести в аналогичные группы схожести с положительным "Правилом схожести" для хостов и активированным параметром "Принудительно".