Pull to refresh

Comments 6

Опечатка в
ovs_vsctrl_timeout = 30
лишня r. Упоминание этого таймаута подсказывает, что вы используете openvswitch агент в режиме вызова shell-команд ovs-vsctl. Рекомендую попробовать native режим (ovsdb_interface = native) при котором neutron становится менеджером для OVS. Работает значительно быстрее, особенно это заметно при синхронизации OF правил после перезапуска агента. В режиме native есть одна немаловажная настройка таймаута: of_request_timeout на которую стоит обратить внимание.

Также есть несколько вопросов к вам:
  1. BGP плагин для neutron пришлось как-то дорабатывать?
  2. L2 сегмент физической сети у вас уходит дальше одной стойки? Приходится ли тянуть VLAN от сетевых нод до bare-metal роутера?
  3. В первой части статьи вы говорите о том что отказались от NAT совсем (как кажется по тексту), но дальше в разделе про FWaaS вы упоминаете про виртуальные роутеры? Не совсем понял, как виртуальные роутеры работают с FWaaS но без NAT. Поясните, пожалйста этот момент.
  4. Используются ли у вас гибриднае сети когда нужно подключить в виртуальную (overlay) сеть bare-metal устройство/сервер? Если да, то как реализуется такая схема? Или вы используете VLAN сети для такого через provider:network_type=vlan?

По поводу ovs-vsctl:
да, есть два варианта — native и ovs-ofctl (vsctl). У нас выставлено
of_interface = native
ovsdb_interface = native
Но проблема в том, что некоторые вызовы все равно проходят не как native, почему мы не поняли пока.
1. BGP плагин не дорабатывали. Разве что приходилось оборачивать участок кода в try/except для того чтобы bgp-агент не падал при попытке распарсить анонс, в причинах глубоко не разбирались, так как нам это было не нужно, нам нужно было только анонсировать сети
2. Да, сервера могут быть расположены в разных стойках. На серверах сеть настроена с VLAN. Внутри проектов vxlan
3. Так и есть, от NAT отказались совсем. Виртуальные роутеры — это neutron роутеры, которые располагаются на сетевых нодах. FWaaS — это, по сути, абстракция, для фильтрации трафика используетcя iptables. Правила iptables навешиваются на внутренние интерфейсы роутеров. NAT не выполняется, если адреса роутера и адреса сети за ним находятся в одном скоупе адресов, тут написано подробнее blog.episodicgenius.com/post/neutron-address-scopes
4. Да, у нас провайдерские сети vlan, внутри них уже накручен vxlan.
У нас нет нужды включать bare metal устройства в overlay сеть.
Каков размер кластера в гипервизорах и вирмашинах?
30+ гипервизоров
8000+ виртуалок
Здравствуйте!
При настройке rx-flow-hash вы чётко обозначили мотивацию:
Чтобы распределить обработку udp-трафика по всем очередям и потокам процессора, мы включили rx-flow-hash.

Но при разборе тюнинга ARP-а не столь ясны причины. Не могли бы вы их озвучить?

На графике перед «rx-flow-hash» написано «После всех настроек 40% нагрузки превратились практически в ноль». Интересно, это включая тюнинг размазывания обработки udp по всем ядрам, или нет.

«40% нагрузки превратились практически в ноль» — это на каком типе нод? Controller или network?

Спасибо за статью!

40% нагрузки превратились в 0% для CPU User когда увеличили размер mac таблицы в OVS. Таблицу маков в ovs расширили, что позволило уменьшить количество unknown unicast трафика и снизить нагрузку. Также нагрузка на CPU упала из-за того, что весь unknown unicast приводит к перезаписи таблицы mac адресов, а на это нужен ресурс cpu. Rx flow hash для udp мы включили на сетевых нодах, так как там много udp трафика, потому что мы используем vxlan как оверлей для сетей тенантов.
ARP у нас иногда не проходили от нейтрона, пришлось включать в ядре чтобы наверняка (не смотря на то что у нас arp_responder = true, l2_population = true)
Sign up to leave a comment.