guеst Опубликовано 23 июня, 2017 · Жалоба уважаемые, а вот что скажете про идею софтроутера виртуалкой? для меня эта идея звучит дико, но слышал как сатанисты молотят за неё в плане отказоустойчивости (кластер на vmware - HA, FT) в случае более одной площадки (гео разнесённой) + серьезное железо на хостах.... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 23 июня, 2017 · Жалоба Зависит от объёмов трафика, если до гига, почему бы и не пуркуа па? Скоро предстоит поднять рутер на 100мбит, думаю сделать это на kvm. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
guеst Опубликовано 23 июня, 2017 · Жалоба а почему до 1 гига думаете? или просто так? я кстати тоже соглашусь, что 100 мБит я бы тоже без риска поднял... ...есть для виртуальной среды cisco nexus v1000 там виртуальные интерфейсы по 10Г правдо оно коммутирует... а не роутер, но %) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 23 июня, 2017 · Жалоба IMHO мудрость про "виртуалки до гига" сильно устарела. С современным могучим железом на хостах, повальной аппаратной поддержке виртуализации и паравиртуальных сетевках, накладные расходы на маршрутизацию минимальны. Вполне можно и BRASы виртуальные поднимать, и 10ки роутить. P.S. роутер локалки уже несколько лет живет на виртуальной машине, каких-либо изменений не заметил. До гига трафика с НАТом бегает с околонулевой загрузкой под KVM. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
edo Опубликовано 23 июня, 2017 · Жалоба роутер локалки уже несколько лет живет на виртуальной машине, каких-либо изменений не заметил. До гига трафика с НАТом бегает с околонулевой загрузкой под KVM. а как именно настроена сеть в kvm? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 23 июня, 2017 · Жалоба а как именно настроена сеть в kvm? Классически, virtio драйвера для гостя и бриджи виртуальных машин с нужными сетевками на хосте. Если прокидывать сетевку гостю накладные расходы вообще околонулевые будут. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mirk Опубликовано 30 июня, 2017 · Жалоба Приветствую всех. Помогите найти в чём проблема. Сервер: -Мать Supermicro -Xeon E5-2600v4 (2шт) -16Gb оперативки -Сетевая карта X520-DA2 (2шт) Стоит Debian 7 Карты собраны в bond 2x10 Прерывания прибиты к ядрам вручную через smp_affinity Задачи сервера: Шейпинг + NAT Сервер новый, перед вводам в эксплуатацию нужно проверить сколько он сможет переработать. Для начала на время теста NAT и шейпер отключили. Фактически сервер работает как L3 коммутатор, перекладывая пакеты с интерфейса на интерфейс. Тестируем с помощью https://trex-tgn.cisco.com/trex/doc/trex_manual.html к примеру t-rex-64 -f avl/sfr_delay_10_1g_no_bundeling.yaml -c 4 -l 10 -d 100000 -m 15 Первая проблема: При распределении прерываний через smp_affinity нагрузка более менее равномерно распределяется только при раскладе Core0 eth2-TxRx-0 eth3-TxRx-0 eth4-TxRx-0 eth5-TxRx-0 Core1 eth2-TxRx-1 eth3-TxRx-1 eth4-TxRx-1 eth5-TxRx-1 Core2 eth2-TxRx-2 eth3-TxRx-2 eth4-TxRx-2 eth5-TxRx-2 ... т.е. Очереди Х всех карт должны быть на одном и том же ядре Причём начинать раздавать ядра нужно именно с первого CPU Core0 Во всех остальных комбинациях идёт резкий дисбаланс нагрузки. Не удаётся каждой очереди карты дать отдельное ядро. По ethtool видно что TX пакеты перестают распределятся по очередям и весь TX прёт в одну очередь. Примечательно что на работающих серверах такого не происходит. Может ли это быть из за двух процессорности. Вторая проблема: В тестовом сервере стоит одна X520-DA2 карта 10G так что больше 10 проверить не получится. Запускаем тест. Трафик начинает ходить, растёт число nf_conntrack_count Загрузка ядер копеечная 5-10% НО как только sysctl net.netfilter.nf_conntrack_count доходит до 1 миллиона записей загрузка CPU резко вырастает до 40% Хотя размер таблиц echo 33554432 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max echo 16777216 > /sys/module/nf_conntrack/parameters/hashsize На первый план выходит do_raw_spin_lock perf top 8.19% [kernel] [k] do_raw_spin_lock 7.70% [kernel] [k] irq_entries_start 7.53% [ixgbe] [k] ixgbe_poll 5.18% [kernel] [k] ip_route_input_common 4.07% [ip_tables] [k] ipt_do_table 2.52% [kernel] [k] arch_read_lock В логах тишина. Если очистить conntrack -F то загрузка резко падает, пока снова не набежит около 1 миллиона записей. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Antares Опубликовано 30 июня, 2017 · Жалоба Вирутализация отключена?? НТ тоже??? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mirk Опубликовано 30 июня, 2017 · Жалоба Вирутализация отключена?? НТ тоже??? Гипертрейдинг отключен в BIOS Карты запускаю так (драйвер 5.0.4) modprobe ixgbe RSS=10,10,10,10 IntMode=2,2,2,2 MQ=1,1,1,1 VMDQ=0,0,0,0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kisa Опубликовано 30 июня, 2017 · Жалоба А зачем hashsize 16 миллионов? Действительно столько будет сессий? В тесте у вас только 1M. Потом, ничего страшного если в бакете хеша будет две записи. А сколько t-rex выдает pps? какой размер пакета в тестах? ведь 10 гиг это может быть и 14Mpps и 2, в зависимости от размера пакета. t-rex dpdk тулза и лего выдаст почти любую скорость в пакетах. Т.е. я к тому, что он быстрее линукса c включенным conntrack как его не тюнь. Я бы начал с небольшого packet rate, постепенно его увеличивая до тех пор, пока принимающая сторона t-rex не начнет рапортавать, что пошли потери. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kisa Опубликовано 30 июня, 2017 · Жалоба Потом, не очень понятно как будет себя вести connection tracking механизм netfilter'а. Ведь t-rex, насколько я знаю, stateless, т.е. он шлет просто пакеты и не умеет tcp/udp сессии. Поэтому, как будет вести себя netfilter, не будет ли он создавать "лишние" сессии? т.к. фактически нет tcp/udp, а есть просто пакеты, не связные друг с другом. Для тестов connection tracking'а, я бы взял warp17. он поддерживает tcp сессии и тоже дает огромную нагрузку в pps. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
telecom Опубликовано 30 июня, 2017 · Жалоба Вынимайте один проц. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mirk Опубликовано 3 июля, 2017 · Жалоба Вынимайте один проц. Какие плюсы это даст? Для тестов connection tracking'а, я бы взял warp17. он поддерживает tcp сессии и тоже дает огромную нагрузку в pps. Попробую Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mirk Опубликовано 5 июля, 2017 · Жалоба Задачи сервера: Шейпинг + NAT Может кто посоветует какую ОС лучше ставить для данных задач. Какое ядро и т.п. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ne-vlezay80 Опубликовано 5 июля, 2017 · Жалоба Задачи сервера: Шейпинг + NAT Может кто посоветует какую ОС лучше ставить для данных задач. Какое ядро и т.п. Ядро: 4.12 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 17 июля, 2017 (изменено) · Жалоба может кто то вникал в вопрос ixgbe-5.1.3 дравер и карточка intel 82599ES 10-Gigabit SFI/SFP+ каким образом прилепляют один "поток" к одной очереди. тестируем ipef-ом сервер с двух компов и грузится только одно ядро CPU, в принципе это как бы нормально. Вот и вопрос - на основании srcIP,dstIP к очереди трафик прибивается или сетевуха глубже лезет до TCP|UDP и портов? Изменено 17 июля, 2017 пользователем QWE Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 17 июля, 2017 (изменено) · Жалоба может кто то вникал в вопрос ixgbe-5.1.3 дравер и карточка intel 82599ES 10-Gigabit SFI/SFP+ каким образом прилепляют один "поток" к одной очереди. тестируем ipef-ом сервер с двух компов и грузится только одно ядро CPU, в принципе это как бы нормально. Вот и вопрос - на основании srcIP,dstIP к очереди трафик прибивается или сетевуха глубже лезет до TCP|UDP и портов? Вам нужно с разных IP это делать. Балансировка идет по IP SRC DST Изменено 17 июля, 2017 пользователем roysbike Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 17 июля, 2017 · Жалоба Тут конечно круто все нарисовано https://www.intel.ru/content/dam/www/public/us/en/documents/datasheets/82599-10-gbe-controller-datasheet.pdf видимо в драйвере нужно разбираться как он карту инициализирует Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kisa Опубликовано 20 июля, 2017 · Жалоба может кто то вникал в вопрос ixgbe-5.1.3 дравер и карточка intel 82599ES 10-Gigabit SFI/SFP+ каким образом прилепляют один "поток" к одной очереди. тестируем ipef-ом сервер с двух компов и грузится только одно ядро CPU, в принципе это как бы нормально. Вот и вопрос - на основании srcIP,dstIP к очереди трафик прибивается или сетевуха глубже лезет до TCP|UDP и портов? за распределение по очередям отвечает RSS. Для каждого пакета рассчитываешься хэш и в зависимости от его значения пакет попадает в нужную очередь. Хэш можно настроить так, чтобы он рассчитывался на основе только сетевого уровня (ip src, ip dst), а можно и включить учет портов. Никогда не настраивал рассчет RSS в линуксе, но вроде это можно сделать с помощью ethtool. Ключевое слово для ethtool rx-flow-hash. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
a290 Опубликовано 20 июля, 2017 · Жалоба Кто-нибудь тестировал VPP в качестве NAT Box`a ? https://wiki.fd.io/view/VPP/SNAT Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 20 июля, 2017 · Жалоба оно ж еще альфа, и вяжется с ospf/bgp демонами через жутий анус... + вроде как тот самый анус, именуемый vpp sandbox, у них сейчас разорван разломан и со свежим vpp не собирается/не работает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 20 июля, 2017 · Жалоба оно ж еще альфа, и вяжется с ospf/bgp демонами через жутий анус... + вроде как тот самый анус, именуемый vpp sandbox, у них сейчас разорван разломан и со свежим vpp не собирается/не работает. ну вроде как для НАТа не нужны OSPF/BGP. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Davion Опубликовано 20 июля, 2017 · Жалоба оно ж еще альфа, и вяжется с ospf/bgp демонами через жутий анус... + вроде как тот самый анус, именуемый vpp sandbox, у них сейчас разорван разломан и со свежим vpp не собирается/не работает. Я мучался с этим sandbox, даже писал в рассылку... Попробуйте это решение: https://github.com/FRRouting/frr/wiki/Alternate-forwarding-planes:-VPP Сейчас тестирую роутер на DPDK, по результатам автор напишет статью) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
QWE Опубликовано 21 июля, 2017 · Жалоба какой прирост в pps даст задействование трех каналов памяти CPU вместо двух? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 21 июля, 2017 · Жалоба какой прирост в pps даст задействование трех каналов памяти CPU вместо двух? Околонулевой, или отрицательный. Пропускная способность растет минимально, латентность растет ощутимо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...