4.8 Использование фильтров OpenStack

Ниже описана реализация фильтра OpenStack, используемого для автоматического определения вычислительного узла (ВУ), назначаемого при создании ВМ, в том числе – с учетом критериев, задаваемых пользователем (правил affinity и antiaffinity).

Критерии выбора ВУ:

  • заданный шаблон;
  • требуемые ресурсные показатели;
  • требуемое сетевое окружение.

Подключитесь к консоли контроллера (УУ) и выполните следующие действия:

  1. Определите фильтры (правила), на основании которых производится автоматическое определение вычислительных узлов (ВУ).

Выполните команду:

#cat /etc/nova/nova.conf | grep enabled_filters

enabled_filters=DiskFilter,RetryFilter,AvailabilityZoneFilter, RamFilter,CoreFilter,ComputeFilter,AggregateInstanceExtraSpecsFilter, ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter, SameHostFilter,DifferentHostFilter

В выводе команды, как показано выше, через запятую перечислены фильтры (правила), на основании которых производится автоматическое определение вычислительных узлов (ВУ), назначаемых при создани ВМ. Описание действия каждого из фильтров приведено в официальной документации:

  1. Выполните перезапуск службы nova-api:

    systemctl restart openstack-nova-api
    
  2. В интерфейсе управления перейдите: Проект >> Вычисления >> Группы серверов.

Нажмите кнопку [Создать группу серверов].

В открывшемся окне:

в поле Название впишите имя группы (например – «affinity»); в поле Политика выберите – «Аффинность».

Нажмите кнопку [Отправить].

Таким же образом, содайте вторую группу с именем «anti-affinity» и политикой «Анти-аффинность».

В итоге, будет создано две группы.

  1. Создайте пакет ВМ с учетом критериев, задаваемых пользователем (правил affinity и antiaffinity).
Перейти: Проект >> Вычисления >> Виртуальные машины и нажать кнопку [Создать машину].
  1. В открывшемся окне вести следующее:

Детали:

Имя виртуальной машины: test-aff;

Количество: 3;

Источник:

Выберите источник загрузки: Образ;

Создать новый диск: Да;

Размер диска: 1ГБ;

Удалить диск при удалении виртуальной машины: Да;

Выделенный: cirros;

Тип инстанса: «Выделенный» – test-micro.

Сети: «Выделенный» – OK-SERV-mon.

Группы виртуальных машин: «Выделенный» – affinity-group.

  1. [Запустить виртуальную машину] и дождаться завершения процесса создания.
  2. Перейти: Администратор >> Вычисления >> Виртуальные машины.
Убедиться, что у всех вновь созданных ВМ значение поля «Имя узла» совпадают. Удалить созданные ВМ.

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

Детали:

«Имя виртуальной машины» – test-antiaff,

«Количество» - 2 (В данном случае необходимо указывать кол-во не превышающее кол-во ВУ на стенде)

Группы виртуальных машин: «Выделенный» - antiaffinity-group;

Перейти: Администратор >> Вычисления >> Виртуальные машины. Убедиться, что у всех вновь созданных ВМ значения поля «Имя узла» различны (уникальное – для каждой ВМ).