Jump to content
Калькуляторы

Бордер и брас на linux

Всем привет
Интересует несколько вопросов по поводу железа для роутинга:
1)Нужна ли ECC память для роутинга и как она влияет на производительность?
2)Если взять линейку процессоров Xeon E5-2600 V3/V4, то у процессоров V3 при 10 и более ядрах (у V4 при 12 и более ядрах) вместо 4-канального контроллера - два 2-канальных, которые соединяются внутренней шиной процессора. При желании процессор можно разделить на два узла NUMA. На сколько это влияет на производительность роутинга? Можно ли раскидывать прерывания сетевой между всеми ядрами таких процессоров?
3)Цель - с помощью network namespaces разделить сервер на бордер и брас: одна сетевая привяжется к одному ЦП, другая сетевая привяжется к другому ЦП. Может быть вместо одного сервера есть смысл собрать два тазика на б/у Ryzen?

Edited by 1boris

Share this post


Link to post
Share on other sites

О какой нагрузке идёт речь?

 

про netns ответ да, я так делал но на смешных 5гиг нагрузки 

 

еще и шейпер  в отдельном netns что б не заморачиваться и ifb 

Share this post


Link to post
Share on other sites

В 31.07.2022 в 22:06, sirmax сказал:

О какой нагрузке идёт речь?

 

про netns ответ да, я так делал но на смешных 5гиг нагрузки 

 

еще и шейкер в отдельном netns что б не заморачиваться и ifb 

Средняя нагрузка 4-5 гбит, со временем нужно будет максимум 10 гбит, роутинг без НАТа, QinQ, 4 full view, ipt_ratelimit, dhcp server
Мне больше нравится идея с сервером, т.к. 2 БП и можно поставить второй сервер для резервирования, но смутило два 2-канальных контроллера

Edited by 1boris

Share this post


Link to post
Share on other sites

У меня нет опыта с Нат на 10 гиг но мое впечатление что с этим справится любой дистрибутив с дефолтными настройками на вашем железе

 

нума никак не повредит 

 

про ipt_ratelimit не могу сказать, не работал под такими нагрузками

я использую классически шейпер выворачивая тех немногих кого надо шейпить в отдельный неймспейс (и vrf там где терминирую вланы) что б не гонять трафик который шейпить не надо ( инет на скорости порта) через лишние правила 

 

в целом мы идём от Линукс-для-всего в сторону железок и я тут где то писал - железку из готового конфига поднимет кто угодно, а сервер уже нет 

 

Я осторожно смотрю микротик как потенциально замену 

 

Про dhcp он у нас испокон веку в отдельном неймспейсе так банально удобнее дебагать 

Share this post


Link to post
Share on other sites

В 01.08.2022 в 01:17, 1boris сказал:

Средняя нагрузка 4-5 гбит, со временем нужно будет максимум 10 гбит, роутинг без НАТа, QinQ, 4 full view, ipt_ratelimit

qinq, accel-ppp, ipt_ratelimit, xt_nat, 2fw, на однопроцессорном Gold 6226R, в чнн 8гиг, 20% на ядро. Если нат не нужен E5-2600 вытянет легко.

Share this post


Link to post
Share on other sites

В 01.08.2022 в 10:03, Стич сказал:

Вот каким бы сертификатом ССС в таких решениях прикрыться.

А просто на сервер не проканает? Откуда им знать что там?

Share this post


Link to post
Share on other sites

В 01.08.2022 в 10:24, VolanD666 сказал:

А просто на сервер не проканает? Откуда им знать что там?

Логично что спросят сертификат ССС на ПО и ещё производства РФ

Edited by Стич

Share this post


Link to post
Share on other sites

В 31.07.2022 в 22:01, 1boris сказал:

1)Нужна ли ECC память для роутинга и как она влияет на производительность?

ECC память просто нужна и всё. Отвалы памяти явление не такое уж редкое. 

 

В 31.07.2022 в 22:01, 1boris сказал:

2)Если взять линейку процессоров Xeon E5-2600 V3/V4, то у процессоров V3 при 10 и более ядрах (у V4 при 12 и более ядрах) вместо 4-канального контроллера - два 2-канальных, которые соединяются внутренней шиной процессора. При желании процессор можно разделить на два узла NUMA. На сколько это влияет на производительность роутинга? Можно ли раскидывать прерывания сетевой между всеми ядрами таких процессоров?

NUMA для роутинга не нужна и даже противопоказана, т.к. обе ноды работают по-сути с одними и теми же данными. В идеале иметь одну двухпортовую карту и гнать между портами. Однако, если BRAS, и нужно еще разбирать какой-нибудь PPP/NATить, лучше две карты.

 

В 31.07.2022 в 22:01, 1boris сказал:

3)Цель - с помощью network namespaces разделить сервер на бордер и брас: одна сетевая привяжется к одному ЦП, другая сетевая привяжется к другому ЦП. Может быть вместо одного сервера есть смысл собрать два тазика на б/у Ryzen?

Namespaces - это огромный оверхед, причем напрямую растущий от pps. На 10Г у вас половина CPU будет уходить в context switching и прочие прелести. Это метод, когда надо отделить что-то очень ограниченное (и то сейчас проще контейнер сделать), или когда надо любой ценой впихнуться именно в одну железку, т.к. вообще нет места для второй. Если место в стойке есть, два сервера выдадут куда больше и проще, чем один с namespaces. 

 

Share this post


Link to post
Share on other sites

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

Это метод, когда надо отделить что-то очень ограниченное

Контейнеры всех видов используют нейспейсы 

 

в них собственно и нет ничего кроме чрута и неймспейсов ну и слои фс ещё 

Share this post


Link to post
Share on other sites

В 01.08.2022 в 14:32, jffulcrum сказал:

Namespaces - это огромный оверхед, причем напрямую растущий от pps. На 10Г у вас половина CPU будет уходить в context switching и прочие прелести.

Namespaces работают полностью в пространстве ядра, kernel threads при этом не используются. Откуда переключение контекстов? Или у вас какое-то неклассическое понимание context switch?

Edited by Умник

Share this post


Link to post
Share on other sites

В 01.08.2022 в 14:32, jffulcrum сказал:

NUMA для роутинга не нужна и даже противопоказана

В 31.07.2022 в 22:36, sirmax сказал:

нума никак не повредит 

 

Пока неясно как влияет связь между двумя контроллерами памяти через шину внутри процессора на роутинг.
Стоит выбор между e5-2667 v3 (8/16 3.2Ггц), у которого один контроллер памяти на 4 потока, и e5-2697 v3 (14/28 2.6 Ггц), у которого два контроллера памяти по 2 потока.
Если два контроллера действительно влияют на производительность, то получается нет смысла брать камень больше 8 ядер?
Или даже 8-ми ядерного e5-2667 v3 хватит под мои задачи?
 

Intel-Haswell-EP-Die-Configurations.png

Edited by 1boris

Share this post


Link to post
Share on other sites

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

 

идеально если ядер больше чем очередей на картах но мне кажется что вашу нагрузку переварит любой из вариантов

Share this post


Link to post
Share on other sites

В 02.08.2022 в 15:46, 1boris сказал:

Стоит выбор между e5-2667 v3 (8/16 3.2Ггц), у которого один контроллер памяти на 4 потока, и e5-2697 v3 (14/28 2.6 Ггц), у которого два контроллера памяти по 2 потока.

 

У меня стоял 2667в3, выбирал по частоте.

 

В 02.08.2022 в 16:19, sirmax сказал:

мне кажется что вашу нагрузку переварит любой из вариантов

+1

Share this post


Link to post
Share on other sites

В 02.08.2022 в 12:46, 1boris сказал:

Если два контроллера действительно влияют на производительность, то получается нет смысла брать камень больше 8 ядер?

Там не то что бы 2 контроллера, Вы немного неправильно поняли схему LCC/MCC/HCC чипов.

Контроллеры памяти, как и массивы ядер там в любом случае отдельные, с соединением кольцевой шиной.

В чипах до 8 ядер используетcя кристалл LCC с физическими 8 ядрами, шина одна, красивое кольцо.

Если ядер 10-12 - используется чип MCC, уже с 2 шинами с 8 и 4 ядер и 2 контроллерами, по 1 на каждую шину.

В 14-18 идет кристалл HCC, с 2 кольцевыми шинами по 8 ядер.

Это легкий оффтоп. В реальности - т.к. все это творится внутри чипа - все соединения быстрые, 12 ядер вместо 8 всегда быстрее несмотря на схемы.

Ну а в V4 все цифры смещены, LCC уже имеет 10 ядер, MCC 14, HCC 22.

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.