Перейти к содержимому
Калькуляторы

для роутинга по dst и src  какая верся ядра inux  самая быстрая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как-то не очень вопрос, куча факторов влияния на финальный результат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

быстрая - которая потребляет меньше ресурсов CPU для числа переданных пакетов

 

Допустим случай такой

 

Пакеты с eth1 с использованием PBR (по SRC IP или inputIf) попадают в TM1, ее сайз  2000 роутов

Пакеты с eth2 с использованием PBR (по SRC IP или inputIf) попадают в TM2, ее сайз  1000000 роутов(IPv4 full view)

 

+ пакеты будут проходить через  ipt_NETFLOW

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть опыт использования 10Г на полную мощность?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

господа, а кто-нибудь мониторит число соединений в conntrack'е?

я тут обновился с 4 ядра на 5 (debian 10->11) и наблюдаю странную пилу. насколько это нормально для пятого? если ненормально, то что на это может влиять?

на графике рисуется инфа из net.netfilter.nf_conntrack_count

до пробела - 4 ядро, после - 5. все конфиги без изменений, система дефолтная, добавлены модули драйвера сетевухи mlx5_core и ipt_netflow (на 4 ядре они тоже стояли).

на тазике только нат и нетфлоу с него льется, больше ничего нет.

 

Скрытый текст

conntracks.png

 

Изменено пользователем nixx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@nixx

Мониторю, Ubuntu 20 на ядре 5.4, график без пилы, ровные горочки с максимумом в 1.46М.

Посмотрите, может у вас в sysctl таймауты поменялись в net.netfilter.nf_conntrack_ после обновления.

Что сподвигло вас обновиться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем доброго дня.

 

Плз помогите победить злую магию - Ubuntu 20 и quagga на одном сервере.

 

Проц i9, сетевые - мелланоксы 40гиг. Задача - НАТ сервер. Отдельная сетевая - для менеджмента, реалтек на 1 гиг.

 

Кваггу поставили, IP адреса в зебре прописали на интерфейсы. На первом интерфейсе - 250 адресов, на втором - 3. 

Первый смотрит наружу, второй - внутрь сети. Примерно так все сделано на других НАТ серверах на дебиане, но там ядро сильно 3.0.хх.
Пока помещались в 10 гиг - вопросов вообще не было.

 

А теперь - в чем именно злая магия.

После перезагрузки - видим 3 физ. интерфейса. IP адрес из зебры назначился только на eth0 - менеджмент. 

Мелланоксы - eth1/2 - полностью голые :(  В  силу этого не поднимаются БГП сессии на брасы. Хорошо, что сервер тестовый.

 

При этом в процессах присутствуют и zebra и bgpd

 

Если сделать systemctl restart zebra - на интерфейсы прилетают назначенные в зебре адреса, начинают ходить пинги и тд.

Поднимаются БГП сессии. Но здесь вторая напасть - маршруты прилетают в БГП как надо, но в таблицу не идут.

 

Вот так видит один из ИП адресов из полученной от БРАС-а сети:

 

show ip bgp 172.22.8.1

BGP routing table entry for 172.22.8.0/24
Paths: (1 available, no best path)
  Not advertised to any peer
 192.168.254.82 (inaccessible) from 192.168.254.82 (192.168.254.53)
      Origin incomplete, metric 1, localpref 100, invalid, internal
      Last update: Sat Nov 25 16:33:11 2023
 

 

адрес пира 254.82 в одной подсети с этим сервером, на нем 254.87, пинги ходят в обе стороны, арп записи адекватные. Почему же inaccessible-то ?

 

сами маршруты видны так 

 

 show ip bgp neighbors 192.168.254.82 received-routes
BGP table version is 0, local router ID is 192.168.254.87
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
              i internal, r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 172.22.8.0/24    192.168.254.82           1     100       0 ?
*> 172.22.25.0/24   192.168.254.82           1     100       0 ?
*> 172.22.26.0/24   192.168.254.82           1     100       0 ?
*> 172.33.54.0/24   192.168.254.82           1     100       0 ?
*> 172.33.58.0/24   192.168.254.82           1     100       0 ?
*> 172.33.72.0/24   192.168.254.82           1     100       0 ?
*> 172.33.96.0/24   192.168.254.82           1     100       0 ?
*> 172.33.118.0/24  192.168.254.82           1     100       0 ?
 

 

Может кто-то сможет подсказать, что бы надо сделать, чтобы сервер начал работать - назначались ип адреса из зебры и маршруты из БГП шли в основной fib?

 

 

Для сравнения, вот те же самые маршруты с основного НАТ сервера на Дебиане (изначально, новый сервер делали по аналогии)


   Network          Next Hop            Metric LocPrf Weight Path
*> 172.22.8.0/24    192.168.254.82           1    100      0 ?
*> 172.22.25.0/24   192.168.254.82           1    100      0 ?
*> 172.22.26.0/24   192.168.254.82           1    100      0 ?
*> 172.33.54.0/24   192.168.254.82           1    100      0 ?
*> 172.33.58.0/24   192.168.254.82           1    100      0 ?
 

 show ip bgp 172.22.8.1
BGP routing table entry for 172.22.8.0/24
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Not advertised to any peer
    192.168.254.82 (metric 1) from 192.168.254.82 (192.168.254.53)
      Origin incomplete, metric 1, localpref 500, valid, internal, best
      Last update: Mon Sep 18 03:19:00 2023

 

здесь маршрут и прилетел как надо и таблицу маршрутизации попал безо всяких inaccesible

 

В дополнение.

Вроде подобрался костыль после ребута сервера в виде 

1. systemctl stop bgpd.service
2. systemctl restart zebra.service
3. systemctl restart zebra.service
4. systemctl start bgpd.service
 
после чего на интерфейсы садятся назначенные адреса и таблица маршрутов заполняется.
Почему-то нужно 2 раза делать рестарт зебры.
 
Изменено пользователем Azamat

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

frr должен вроде на ubuntu 20 работать нормально...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго дня, уважаемый товарищи.

 

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

 

1. Сервер на Debian 11 (ядро 5.10.ххх)

2. Сетевые - Мелланоксы 3 pro (штатный драйвер от дебиан)

    driver: mlx4_en
    version: 4.0-0
    firmware-version: 2.43.7028

3. Медные кабеля 40g Mellanox

4. Для управления сервером - штатная реалтек 1гб на мамке.

 

Суть проблемы в следующем. Сервер работает пару дней, в пике натит порядка 22гиг входящего, потом вдруг отваливаются все БГП сессии на БРАС-ы, трафик в 0. Причем отваливается в произвольный момент, может в 4 утра - когда нагрузка вообще на минимуме.

 

На портах коммутатора видим маки сетевых сервера (после очистки снова появляются), значит физика в UP. Но сервер вообще не видит входящий трафик, исходящий присутствует.

Потеряны все arp записи всех пиров, хотя каждый из БРАС-ов видит запросы на arp со стороны сервера, каждый отвечает на запрос - мол я на таком -то мак адресе - но до сервера этот трафик не доходит. В ethtool -S постоянно растет rx_dropped, судя по всем все входящие там и наращивают статистику. 

 

Причем все это на 40г интерфейсах, на 1гб реалтеке все ОК, сервер остается доступен по ссш.

 

Как бы понять причину / победить этот комплект ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Azamat сказал:

    driver: mlx4_en
    version: 4.0-0

Последняя версия для "трешек" вроде 4.9

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4.9 не получилось поставить на Deb 11, она типа заканчивается на Деб 10

 

подумали, что для НАТ сервера пойдет и штатный драйвер. OFED драйвера типа больше для виртуализации и других специфичных приложений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Посоветуйте проверенную ethernet карту для роутера на linux , всё время использовали intel x520 все устраивало сейчас она снята с производства.

Нужна модель для 2x10G

и модель 40G.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

Посоветуйте проверенную ethernet карту для роутера на linux , всё время использовали intel x520 все устраивало сейчас она снята с производства.

Нужна модель для 2x10G

и модель 40G.

Вы из РФ? nix.ru, яндекс маркет находят без проблем X520

В качестве аналога X710.

По 40G тоже проблем не видно - на чипе XL710 ищите там же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

47 минут назад, John_obn сказал:

Вы из РФ? nix.ru, яндекс маркет находят без проблем X520

В качестве аналога X710.

По 40G тоже проблем не видно - на чипе XL710 ищите там же.

Да, пока что есть завтра закончатся надо быть готовым, как минимум оттестировать.

А что о Mellanox скажете, что лучше брать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

18 часов назад, nickD сказал:

Да, пока что есть завтра закончатся надо быть готовым, как минимум оттестировать.

А что о Mellanox скажете, что лучше брать.

С мелланоксами проблема с количеством поддерживаемых VLAN'ов. Где-то всего 128, где-то подняли лимит до 512, но все равно проблема остается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

Да, пока что есть завтра закончатся надо быть готовым, как минимум оттестировать.

А что о Mellanox скажете, что лучше брать.

Плохого ничего не скажу. Сам недавно заменил 40G Intel XL710 на 100G Mellanox Connect-x 5. Проблем не имел. Машина в роли on-stick, 1 влан смотрит в сторону внутренней сети, 1 влан во внешний мир (NATит трафик).

Цитата

С мелланоксами проблема с количеством поддерживаемых VLAN'ов. Где-то всего 128, где-то подняли лимит до 512, но все равно проблема остается.

С ходу не нагуглил, где эта проблема описана. Можете поделиться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

https://forum.proxmox.com/threads/proxmox-7-and-mellanox-connectx4-and-vlan-aware-bridge.104926/
ConnectX3: 128 vlan limit
ConnectX4LX: 512 vlan limit (tested)
ConnectX4: 4096 vlan limit
ConnectX5: 512 vlan limit (tested)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, John_obn сказал:

Плохого ничего не скажу. Сам недавно заменил 40G Intel XL710 на 100G Mellanox Connect-x 5. Проблем не имел. Машина в роли on-stick, 1 влан смотрит в сторону внутренней сети, 1 влан во внешний мир (NATит трафик).

Как я понял вы больше 40G прогоняете, поделитесь плиз что за cpu есть ли ipt_ratelimit ipt_netflow

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

Как я понял вы больше 40G прогоняете, поделитесь плиз что за cpu есть ли ipt_ratelimit ipt_netflow

По трафику мы добрались до 38,5G в пике, поэтому я решил заранее апгрейдиться.

E5-2690 v4
Только ipt_netflow + NAT.

 

@taf_321 - спасибо

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17 минут назад, John_obn сказал:

По трафику мы добрались до 38,5G в пике, поэтому я решил заранее апгрейдиться.

E5-2690 v4
Только ipt_netflow + NAT.

 

@taf_321 - спасибо

 

Просто я тоже подхожу к этому пределу хочется понимать что ещё оптимизировать.

Подскажите:

Сколько процентов загрузка cpu их два как я понимаю?

hyperthread включен?

numa используете?

NAT родной или модуль какой-то?

Может ещё какие-то особенности есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уважаемые коллеги, плз подскажите, кто знает,  ответ к проблемке с Mellanox-3 в Дебиане.

 

Собственно, сама задача такова - разложить очереди карты по процессорам. С Intel 10гиг проблем не возникало.

Перешли на Мелланокс, видим след. картинку:

 

CPU - 6 ядер (0-5)

 

Очередей - 4 rx, 4 tx

 

PCI-MSI-edge      eth1-0
PCI-MSI-edge      eth1-1
PCI-MSI-edge      eth1-2
PCI-MSI-edge      eth1-3
PCI-MSI-edge      eth2-0
PCI-MSI-edge      eth2-1
PCI-MSI-edge      eth2-2
PCI-MSI-edge      eth2-3
 

Как бы увеличить число очередей карты до 6 rx, 6 tx ?

 

Есть какое-то упоминание ethtool -L, но там какие-то термины 

ethtool -L|--set-channels 

 

Страшновато на рабочем сервере применить.

 

Плз просвятите темных.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в том текстовике к мелланоксу3, который я вам кидал десять дней назад в личке, эта команда прямо в первых строчках.

ман к ethtool почитайте... сделайте безобидное show-channels сначала, а потом set, как поймете, что там к чему.

 

ну и насколько я помню, при изменении числа потоков сетевуха сделает down/up.

т.е. в чнн это лучше не делать ))

Изменено пользователем nixx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Действительно, взгляд не был заточен на полную форму команды - просмотрел. 

Сделал как рекомендовано (отдельное спасибо), теперь в наличии по 6 очередей на сетевую.

 

Зато проявилась след. странность (прям эффект домино).

 

Счетчики прерываний по ядрам:

 

  71: 1024730914          0          0          0      29598          0   PCI-MSI-edge      eth1-0
  72:          0 1017367030          0          0      23560          0   PCI-MSI-edge      eth1-1
  73:          0          0  822194765          0          0       7196   PCI-MSI-edge      eth1-2
  74:          0          0          0  842293194          0       7254   PCI-MSI-edge      eth1-3
  75:       7699          0          0          0 1035584371          0   PCI-MSI-edge      eth2-0
  76:       6658          0          0          0          0 1025554460   PCI-MSI-edge      eth2-1
  77:          0         0          0          0  313907329          0   PCI-MSI-edge      eth2-2
  78:          0         0          0          0          0  304111749   PCI-MSI-edge      eth2-3
  79:          0          0  653206777          0          0          0   PCI-MSI-edge      eth1-4
  80:          0          0          1  653428197          0          0   PCI-MSI-edge      eth1-5
  81:          0          0          0          1      65197          0   PCI-MSI-edge      eth2-4
  82:          0          0          0          1          0      63605   PCI-MSI-edge      eth2-5
 

По сетевой eth1 все разложилось по ядрам вроде более-менее, хотя сами прерывания на очереди выделены вразброс (71,72,73,74,79,80), а вот по сетевой Eth2 (смотрит в "серые" сети) - непонятки.

Первые 4 очереди с Eth2-0 по Eth2-3 заполняются, счетчики растут (75,76,77,78) (77 и 78 прерывания к ядрам 5 и 6 проца прибиты вручную)

А последние две - Eth2-4/5 (81,82) - пустые, почему то в них вообще не попадает трафик. 

 

В чем может быть причина такого перекоса ?

 

В работе имеем еще сервер с такой же сетевой, но процессор 8 ядерный - там вообще все автоматом разложилось по ядрам как нужно и все очереди заполняются трафиком равномерно.

Мистика какая-то.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

Просто я тоже подхожу к этому пределу хочется понимать что ещё оптимизировать.

Подскажите:

Сколько процентов загрузка cpu их два как я понимаю?

hyperthread включен?

numa используете?

NAT родной или модуль какой-то?

Может ещё какие-то особенности есть.

@Стич

График idle ядер приложил. Пик приходится на 37,6 гигабит трафика в каждую сторону, 4,78Мппс, 1,46М трансляций.

Очереди сетевой прибиты к своему процессору. Да, их стоит 2, но занят только один процессор, что видно из графика.

HT включен.

NAT родной, настраивал через nft. Тюнинг sysctl и в /etc/default/grub (mitigations=off):

GRUB_CMDLINE_LINUX_DEFAULT="maybe-ubiquity mitigations=off

Заметил, что после замены XL710 на Mellanox idle уменьшился в среднем на 5% (то есть загрузка возросла). Пока не критично, поэтому в причинах не разбирался.

2023-12-18_10-51-45.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.