Jump to content

BGP 10G Soft Router Своими руками v1.0


Recommended Posts

  • Replies 477
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Сорри за оффтоп, но в данной теме оффтоп уже сплошной...     На Украинском форуме начинают как на русском, продолжают как на еврейском, и, часто минуя американский вариант, начинают меряться фуям

Nexus 9372 может уже 128к маршрутов, а 93180 - весь мильен. Вообще не вижу места серверу на бордере.

А смысл? Нынче железо настолько дёшево и быстро, что наоборот, в спец-железках все меньше и меньше смысла. Сервер за 300$ может жевать 10G, а это на минуточку уровень такого себе оператора средне

Posted Images

Ну, хоть кто-то может похвастать трафиком 6-8 гиг? 

Может я таки зря потратился на железку?

 

при 6 гигах я мерял iperfom влазило еще 1.5 

 

без загрузки 7.8 пролазило, так что да где-то полка к 8, но никто не отменял транк ;)

 

вот еще статья интерсная там же есть настройки ядра и системы

 

http://www.opennet.ru/opennews/art.shtml?num=36495

Edited by korvin2000
Link to post
Share on other sites

 

Ну, хоть кто-то может похвастать трафиком 6-8 гиг? 

Может я таки зря потратился на железку?

 

при 6 гигах я мерял iperfom влазило еще 1.5 

 

без загрузки 7.8 пролазило, так что да где-то полка к 8, но никто не отменял транк ;)

 

вот еще статья интерсная там же есть настройки ядра и системы

 

http://www.opennet.ru/opennews/art.shtml?num=36495

 

Сколько пакетов в секунду удавалось продавить?

Link to post
Share on other sites

Достижения из данной темы мне с каждым просмотром кажутся все большей дикостью. Современные платформы(даже десктоп с каким-нить i5-3750) маршрутизируют 4-5гбит на ядро(а может и больше, в хозяйстве просто больше трафика нет), легко укладывая 4мя ядрами 10г интерфейс. Собственно при тупой маршрутизации и тюнинговать то ничего не нужно, покупаешь любой современный сервер, ставишь туда свежий linux - опп и готов 10g soft router.. Для бедных - любой тазик с i5 может все тоже самое.

 

Чуть сложнее обстоит с BRAS-серверами, если при простой маршрутизации загрузка вполне может быть 0.0%(тема с 40г на НАГе как раз это красиво показывает, сервер упирается в скорость pci-e интерфейсов, а не в CPU), то NAT и шейпинг значительно более тяжелые вещи. Но и тут подвижки весьма грандиозные, 10г вполне можно осилить на недорогой платформе с 1 CPU типа e3-1280 стоимостью аж 1000 баксов в сборе.

Edited by KaYot
Link to post
Share on other sites

 

 

Ну, хоть кто-то может похвастать трафиком 6-8 гиг? 

Может я таки зря потратился на железку?

 

при 6 гигах я мерял iperfom влазило еще 1.5 

 

без загрузки 7.8 пролазило, так что да где-то полка к 8, но никто не отменял транк ;)

 

вот еще статья интерсная там же есть настройки ядра и системы

 

http://www.opennet.ru/opennews/art.shtml?num=36495

 

Сколько пакетов в секунду удавалось продавить?

 

 

под 1,8

Link to post
Share on other sites

Очень мало, AMDшная платформа не совместима с пропусканием больших потоков трафика. Все упирается в латентность памяти и ширину/латентность внутренних шин, у интела с этим значительно веселее.

 

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

Гараздо важнее мелочи, на которые обычно не обращают внимание. Например для двухсокетной системы - схема разводки pci-e слотов(какой слот подключен к какому камню). Установка двухголовой 10g карты может показывать гараздо более печальные результаты, чем установка 2ух одноголовых, но в разные слоты, подключенные каждый к своему CPU.

Или раскидывание прерываний - тот же irqbalance раскидает на все подряд, без учета того в каком сокете физически находится нужное ядро, и в одном ли сокете выбранное ядро и нужные pci-e контроллер..

Для односокетных все проще, но так же важна минимальная латентность памяти и всех шин. Ну и шикарно если ядра имеют общий хотя бы L3 кеш и жирные внутренние шины - именно из-за этого sandy/ivy bridge на роутинге во многие разы лучше чем 'старые' core(4 ядра у которых в реальности - 2 склееных двухядерника), хотя в бытовых условиях разница не принципиальна.

Опять же, из-за этих особенностей для роутинга часто более выгоден e3-12xx за 350$, чем монструозная система с 2xe5-26xx за 2000$ - 4 быстрых ядра на монолитном кристалле дают фору 16 более медленным в 2ух сокетах, хотя по логике такого быть не должно.

Edited by KaYot
Link to post
Share on other sites

UA BGP V1.0

 

Пока есть сеть с клиентами – она будет приносить прибыль. Чем больше клиентов – тем больше сеть (и прибыль, как следствие). Как привлечь клиентов? Правильно – обеспечить их качественными ресурсами за минимум стоимости. Как решить эту проблему? Об этом ниже.

 

Итак, есть некий провайдер, обеспечивающий неких клиентов неким «интернетом». Откуда он его берет? Правильно, чаще всего от провайдеров вышестоящего уровня. За деньги. Стоимость мегабита в месяц примерно знают все. Задача: дать клиентам качественный ресурс, расположенный на территории Украины (и быстро, и всё рядом – например, UA-IX). Самый простой (а также самый дорогой и неудобный) способ – это пустить траффик через интернет. Теряются и скорость и деньги. А если посложнее?

 

А посложнее – организовать BGP. Вкратце, BGP – протокол граничного шлюза, который предназначен для маршрутизации между автономными системами. Для того чтобы организовать BGP, надо как минимум 2 аплинка: один для глобального междоменного BGP (мировой интернет), один – для локального междоменного BGP (между АС Украины).

 

Суммарное количество роутов для глобального междоменного BGP составляет на данный момент порядка 420К и растет. Для Украины (локальный BGP) это количество составляет около 10К этих самых роутов.

 

тут хорошо описано про BGP рекомендую http://habrahabr.ru/post/113906/

 

Один из аплинков «затягивает» в себя всю таблицу маршрутизации для мирового BGP, второй – локальную таблицу маршрутизации Украины.

 

И всё бы хорошо, но для того, чтобы поднять Full BGP «у себя дома», нужна «балалайка» типа Extreme или Juniper, причём вложить нужно будет от 10К до 35К американских президентов. Сумма немалая, а из более дешевых решений реально существует и работает только образчики китайского народного творчества типа BD-COM 3928GX с вариациями (GX, GXB, GXE – ссылка тут), и другие модели других производителей. Стоимость их относительно невелика, однако есть гигантская ложка дёгтя: дешевые коммутаторы имеют мало памяти под BGP таблицы маршрутизации (10К-20К роутов), и под ними возможно поднять только локальный Украинский BGP, а весь остальной траффик так или иначе попадает на дефолтный роут вышестоящей АС.

 

Как быть? И хочется, и колется! А что, если реализовать софтверный роутер на базе ПК типа «Таз» и одной (или нескольких) сетевых карт?

 

Итак, нам понадобятся: ПК типа «Таз» с многоядрёным камнем на борту, шина PCI-E x8 и более, поболее ОЗУ и та самая волшебная сетевая карта с 2-мя 10-гиговыми интерфейсами на приём и/или на раздачу (у кого какие аппетиты) и (не обязательно) карта с 2-мя – 4-мя медными/оптическими портами 1G/10G на раздачу/агрегацию (фотки/описания карт ниже). На таз ставится линух – и в бой!

 

а вот давайте посчитаем ориентировочно

 

корпус + бп = 200 уе не фанатим, но и не гуано ;)

мать 90 уе сейчас

проц 140 уе где то так

память 70 уе 16 Gb за глаза

видео ну еще 40 уе

сетевые ну пусть по 550 уе = 1100

 

итого 1640 уе если памяти много уберите и будет вам 1600 денег роутер с 4 мя 10г портами

 

а если добавить свитчик от например DGS-3420-28SC - D-Link за 1100 уе то имеем за 2700 решение

вполне себе веселое 3 10G свободных порта на свиче и 3 свободных порта на компе итого 6 10г портов ну и бонус 24 sfp

занятыми считаю порты линк между компом и свичем

 

вот прайсик на сетевые от Влада ну и сами сетевые

 

price_cards.jpg

 

Карта A-Gear NIC-10G-2BF:

2 порта SFP+. Каждый порт работает на скорости 10G в полном дуплексе. Чипсет Intel 82599ES. PCI-E 2.0 (5.0 GT/s).

Внешний вид.

attachicon.gifNIC-10G2BF.jpg

 

 

Карта A-Gear NIC-1G-2ET:

2 порта 1000BASE-T. Каждый порт работает на скорости 1G в полном дуплексе. Чипсет Intel 82576EB. PCI-E 2.0 (2.5 GT/s).

Внешний вид.

attachicon.gifNIC-1G2ET.jpg

 

Карта A-Gear NIC-1G-2EF:

2 порта SFP 1G. Каждый порт работает на скорости 1G в полном дуплексе. Чипсет Intel 82576EB. PCI-E 2.0 (2.5 GT/s).

Внешний вид.

attachicon.gifNIC-1G2EF.jpg

 

Карта A-Gear NIC-1G-4PF:

4 порта SFP 1G. Каждый порт работает на скорости 1G в полном дуплексе. Чипсет Intel 82580EB. PCI-E 2.0 (2.5 GT/s).

Внешний вид.

attachicon.gifNIC-1G4PF.jpg

 

Посмотреть все карты.

 

Пример реально работающего железа:

 

Конфигурация:

Таз: AMD Phenom™ II X6 1100T Processor/Ram 32 Gb/Asrok 990FX Extreme4;

Сетевые: обе карты Dual Port SFP+ Slot 10G Ethernet Server Adapter Intel82599 (двухголовая на 10G с двумя SFP+ слотами);

NIC-10G2BF 2 x SFP+ slot 2 x 10 Gb/s PCI-E 2.0 x8 (на этой карте модули SFP+ встали без проблем даже с дровами из коробки), посмотреть тут;

INTEL X520-DA2 ETHERNET SERVER ADAPTER (на этой карте с модулями SFP+ от трех разных производителей были проблемы драйвера; пришлось патчить);

Драйвер для карт версии ixgbe-3.11.33 был пропатчен дабы работали любые SFP+ модули;

Модули применял как SFP+ 20 км WDM (скрещивал их с XFP WDM), так и SFP+ двухглазые (скрещивал их с XFP). Примеры модулей: XFP двухглазые, XFP WDM, SFP+ двухглазые, SFP+ WDM.

 

 

Результат:

attachicon.gif10.5.0.3_93-day.png

 

la

12:00:05 up 5 days, 5:32, 6 users, load average: 0,01, 0,04, 0,05

 

Текущий суммарный трафик:

 

Max Average Current

In 2268.9 Mb/s (29.1%) 1146.6 Mb/s (14.7%) 1122.7 Mb/s (14.4%)

Out 3672.7 Mb/s (47.0%) 1924.1 Mb/s (24.6%) 1991.7 Mb/s (25.5%)

 

 

 

 

Как это было…

 

Обновляем ядро http://kernel.org/

Важно! при сборке выключаем conntrack или выгружаем модули потому кому как удобнее

 

root@zion:/usr/src/linux-3.6.6# cat .config | grep CONN

# CONFIG_NF_CONNTRACK is not set

 

Качаем драйвера на сетевые http://sourceforge.n...s/ixgbe stable/

 

Если у вас сетевая Intel и при установке SFP+ модуля пишет модуль неизвестен, то патчим драйвера:

 

[PATCH] ixgbe: Always allow any SFP+ regardless of EEPROM setting.

Intel are trying to limit which SFP's we can use in our NICs. We don't like this practices in the Linux Kernel.

Signed-off-by: Jesper Dangaard Brouer <hawk@...dk> ---

drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c index 7cf1e1f..2b13083 100644

--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c

+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c

@@ -1061,6 +1061,8 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) }

hw->mac.ops.get_device_caps(hw, &enforce_sfp);

+ /* Hack: Always allow any SFP regardless of EEPROM setting */

+ enforce_sfp |= IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP; if (!(enforce_sfp & IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP) && !((hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core0) || (hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core1))) {

I cannot understand why Intel are pulling a stunt like this! :-( I have read the code, and the limitation comes from a EEPROM setting on the NIC, see define "IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP 0x1". Here is a (untested) patch I believe removes the limitation in the driver: [PATCH] ixgbe: Always allow any SFP+ regardless of EEPROM setting. Intel are trying to limit which SFP's we can use in our NICs. We don't like this practices in the Linux Kernel. Signed-off-by: Jesper Dangaard Brouer <hawk@...dk> --- drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c index 7cf1e1f..2b13083 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c @@ -1061,6 +1061,8 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) } hw->mac.ops.get_device_caps(hw, &enforce_sfp); + /* Hack: Always allow any SFP regardless of EEPROM setting */ + enforce_sfp |= IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP; if (!(enforce_sfp & IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP) && !((hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core0) || (hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core1))) {

 

 

Собираем:

 

make install

 

Выгружаем старые модули загружаем новые:

 

rmmod ixgbe; modprobe ixgbe

 

Смотрим, что вышло:

 

dmesg

 

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

 

update-initramfs -u

 

После загрузки правим буфера на сетевых, можно добавить в rc.local (ну или кому куда удобнее):

 

ethtool -G eth17 tx 4096 rx 4096

ethtool -G eth19 tx 4096 rx 4096

 

ethtool -K eth17 gso off

ethtool -K eth19 gso off

 

 

Добавляем в /etc/sysctl.conf

 

net.ipv4.conf.default.rp_filter=0

net.ipv4.conf.all.rp_filter=0

net.ipv4.ip_forward=1

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_sack = 0

net.ipv4.tcp_rmem = 10000000 10000000 10000000

net.ipv4.tcp_wmem = 10000000 10000000 10000000

net.ipv4.tcp_mem = 10000000 10000000 10000000

net.core.rmem_max = 524287

net.core.wmem_max = 524287

net.core.rmem_default = 524287

net.core.wmem_default = 524287

net.core.optmem_max = 524287

net.core.netdev_max_backlog = 300000

 

Применяем ну и озаботимся загрузкой их при старте (опять же, кому как удобнее):

 

sysctl -p

 

Дальше строим quagga (хороший мануал по линку ниже):

 

http://muff.kiev.ua/...moshchyu-quagga

 

 

Вуаля! Всё готово!

 

Сразу хочу сказать, что все работает больше недели.

 

Пожелания по оптимизации принимаются korvin2000 ATATA gmail.com

 

Будет желание отблагодарить – пишите, вышлю номер кошелька.

 

Всем удачи!

 

 

чуть дополню 13.11.2012

 

 

перестроение таблиц вообще моментально я и ощутить не успеваю, как и заливку фула

да и опять же на серваке много, что можно дополнительно прикрутить от мониторинга до днса ну и прочее прочее....

благо загрузку я показал, нет ее ;)

 

тем кому аппаратные решения близки есть один нюанс темп роста таблицы и она явно будет больше 512 К в ближайшем будущем, учитывайте это в своих планах это был еще один повод для такого решения

 

кстати вот почем и не стал брать 480 Extrime потому как там она 512 К и кончится она к лету 2013 года такими темпами, а то и раньше ;)

а в этом варианте нету проблемы памяти достаточно производительности тоже если не будет хватать ну возьму мать с двумя, четырьмя процами с большим количеством ядер слотов и соберу транк, раскидаю нагрузку например благо опыт есть ;) и все это из подручных средств(правильно в обсуждении отметили еще один + что если что-то сломалось, то за разумное время все можно восстановить)

 

к вопросу о pps

..

eth17: 210910.19 P/s 277942.12 P/s 488852.31 P/s

eth19: 503610.79 P/s 437217.58 P/s 940828.37 P/s

..

total: 1338441.15 P/s 1337760.52 P/s 2676201.67 P/s

 

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

 

надо понимать как загружены ядра сморим так

 

cat /proc/interrupts

 

 

73: 40706333 4 27 94 874 9783 PCI-MSI-edge eth17-TxRx-0

74: 4 4293093014 16 98 879 10015 PCI-MSI-edge eth17-TxRx-1

75: 1 4 109858012 73 756 9086 PCI-MSI-edge eth17-TxRx-2

76: 0 3 14 81842259 841 11221 PCI-MSI-edge eth17-TxRx-3

77: 1 3 17 103 146222860 13126 PCI-MSI-edge eth17-TxRx-4

78: 3 4 34 160 2357 77321145 PCI-MSI-edge eth17-TxRx-5

79: 369866 0 0 0 0 21 PCI-MSI-edge eth17

80: 525881 0 2 0 0 0 PCI-MSI-edge eth21-TxRx-0

81: 2 525881 0 0 0 0 PCI-MSI-edge eth21-TxRx-1

82: 0 2 525881 0 0 0 PCI-MSI-edge eth21-TxRx-2

83: 0 0 2 525881 0 0 PCI-MSI-edge eth21-TxRx-3

84: 0 0 0 2 525881 0 PCI-MSI-edge eth21-TxRx-4

85: 0 0 0 0 2 525881 PCI-MSI-edge eth21-TxRx-5

86: 0 0 0 0 0 0 PCI-MSI-edge eth21

94: 3418121906 9 20 127 1651 17776 PCI-MSI-edge eth19-TxRx-0

95: 3 3362852205 20 124 1453 18277 PCI-MSI-edge eth19-TxRx-1

96: 0 3 3637069058 113 1286 16919 PCI-MSI-edge eth19-TxRx-2

97: 2 4 17 3514448895 1297 18126 PCI-MSI-edge eth19-TxRx-3

98: 1 3 17 137 3619996895 23037 PCI-MSI-edge eth19-TxRx-4

99: 1 17 27 213 3247 3577909943 PCI-MSI-edge eth19-TxRx-5

100: 3665401 0 0 0 4 19 PCI-MSI-edge eth19

 

это нормальное состояние если стоят 0 а счетчики увеличиваются на одном из процессоров это и есть узкое место и проблема

 

решений три ;)

 

1. ставим скрипт он это делает сам

 

/usr/sbin/irqbalance

 

2. есть в папке с драйверами скрипт запускаем с интерфейсами

 

ixgbe-3.11.33.good/scripts/set_irq_affinity.sh eth19 eth17

 

3. раскидываем руками ;) кому интересно то найдет как ;)

 

есть еще одна тонкость важная о ней забыл написать ну кто столкнется спросит надо же положительный фидбек получить, а не кучу флейма ;)

 

Еще раз всем удачи и будьте лояльнее друг к другу ;) у каждого свой путь и это не значит, что он не правильный ;)

Вот хочу кое что обсудить, я не профи, но я так смотру,  максимум за 3000 у.е. можно приобрести супер роутер, чем циско вхр7206 или 7609 и тд.? И хочу узнать, есть такие роутер системы с веб интерфейсом?

Link to post
Share on other sites

 

 

 

Вот хочу кое что обсудить, я не профи, но я так смотру,  максимум за 3000 у.е. можно приобрести супер роутер, чем циско вхр7206 или 7609 и тд.? И хочу узнать, есть такие роутер системы с веб интерфейсом?

 

 

есть http://www.vyatta.com/ там конфигурилка визуальная есть можете в ее сторону посмотреть

Edited by korvin2000
Link to post
Share on other sites

 

 

 

 

Вот хочу кое что обсудить, я не профи, но я так смотру,  максимум за 3000 у.е. можно приобрести супер роутер, чем циско вхр7206 или 7609 и тд.? И хочу узнать, есть такие роутер системы с веб интерфейсом?

 

 

есть http://www.vyatta.com/ там конфигурилка визуальная есть можете в ее сторону посмотреть

Не отрицаю есть микротик роутер ос, но микротик не пропустит 10ГБ на одном сетавухе :facepalm: :facepalm: :facepalm:

Link to post
Share on other sites

 

 

 

 

 

Вот хочу кое что обсудить, я не профи, но я так смотру,  максимум за 3000 у.е. можно приобрести супер роутер, чем циско вхр7206 или 7609 и тд.? И хочу узнать, есть такие роутер системы с веб интерфейсом?

 

 

есть http://www.vyatta.com/ там конфигурилка визуальная есть можете в ее сторону посмотреть

Не отрицаю есть микротик роутер ос, но микротик не пропустит 10ГБ на одном сетавухе :facepalm: :facepalm: :facepalm:

 

а кто ему помешает то ;) хоть на одной хоть на двух

Link to post
Share on other sites

 

я думаю что можно позволить себе купить б\у каталюгу 6500 @ sup720-3bxl за 3, ну пускай даже 4 к у.е. :) и забыть как про страшный сон пока трафик до 250Г не вырастет

даже более мелкие сети могут себе позволить откладывать по 300 баксов в течении года.

Мне кажется вы про порты 10 Gb для вашей конфигурации Cisco забыли.

вам не кажется ))

Link to post
Share on other sites

 

 

 

 

 

 

Вот хочу кое что обсудить, я не профи, но я так смотру,  максимум за 3000 у.е. можно приобрести супер роутер, чем циско вхр7206 или 7609 и тд.? И хочу узнать, есть такие роутер системы с веб интерфейсом?

 

 

есть http://www.vyatta.com/ там конфигурилка визуальная есть можете в ее сторону посмотреть

Не отрицаю есть микротик роутер ос, но микротик не пропустит 10ГБ на одном сетавухе :facepalm: :facepalm: :facepalm:

 

а кто ему помешает то ;) хоть на одной хоть на двух

Нее, серавно больше 1ГБ не пропускает -_- -_- -_-  Ну вот про такую систему говору, и веб интерфейс есть и рррое сервер есть. Все есть, но толка 10ГБ траффик не пропускает :facepalm: :facepalm: :facepalm: :facepalm:

Link to post
Share on other sites
  • 5 months later...

 

 

Nov 27 21:29:41 gw_neo kernel: [56984.810590] ------------[ cut here ]------------

Nov 27 21:29:41 gw_neo kernel: [56984.810596] WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0xf4/0x154()

Nov 27 21:29:41 gw_neo kernel: [56984.810597] Hardware name: Z68A-D3H-B3

Nov 27 21:29:41 gw_neo kernel: [56984.810598] NETDEV WATCHDOG: eth2 (ixgbe): transmit queue 0 timed out

Nov 27 21:29:41 gw_neo kernel: [56984.810598] Modules linked in: tun xt_set ip_set_hash_ip ip_set 8021q igb(O) ixgbe(O) dca

Nov 27 21:29:41 gw_neo kernel: [56984.810604] Pid: 0, comm: swapper/0 Tainted: G         O 3.6.6-gentoo #1

Nov 27 21:29:41 gw_neo kernel: [56984.810604] Call Trace:

Nov 27 21:29:41 gw_neo kernel: [56984.810605] <IRQ> [<ffffffff8148b10c>] ? dev_watchdog+0xf4/0x154

Nov 27 21:29:41 gw_neo kernel: [56984.810610] [<ffffffff810302a7>] warn_slowpath_common+0x80/0x98

Nov 27 21:29:41 gw_neo kernel: [56984.810612] [<ffffffff81030353>] warn_slowpath_fmt+0x41/0x43

Nov 27 21:29:41 gw_neo kernel: [56984.810614] [<ffffffff8148af91>] ? netif_tx_lock+0x45/0x7a

Nov 27 21:29:41 gw_neo kernel: [56984.810616] [<ffffffff8148b10c>] dev_watchdog+0xf4/0x154

Nov 27 21:29:41 gw_neo kernel: [56984.810619] [<ffffffff8103d31e>] run_timer_softirq+0x1d1/0x29b

Nov 27 21:29:41 gw_neo kernel: [56984.810621] [<ffffffff8148b018>] ? netif_tx_unlock+0x52/0x52

Nov 27 21:29:41 gw_neo kernel: [56984.810623] [<ffffffff8101d2c9>] ? apic_write+0x11/0x13

Nov 27 21:29:41 gw_neo kernel: [56984.810625] [<ffffffff810371b7>] __do_softirq+0xd4/0x1ad

Nov 27 21:29:41 gw_neo kernel: [56984.810628] [<ffffffff8106dbff>] ? tick_program_event+0x1f/0x21

Nov 27 21:29:41 gw_neo kernel: [56984.810630] [<ffffffff81577cec>] call_softirq+0x1c/0x30

Nov 27 21:29:41 gw_neo kernel: [56984.810631] [<ffffffff81003ce8>] do_softirq+0x33/0x6b

Nov 27 21:29:41 gw_neo kernel: [56984.810633] [<ffffffff8103743f>] irq_exit+0x3f/0x9a

Nov 27 21:29:41 gw_neo kernel: [56984.810635] [<ffffffff8101d856>] smp_apic_timer_interrupt+0x77/0x85

Nov 27 21:29:41 gw_neo kernel: [56984.810637] [<ffffffff81577607>] apic_timer_interrupt+0x67/0x70

Nov 27 21:29:41 gw_neo kernel: [56984.810638] <EOI> [<ffffffff812d3fec>] ? acpi_idle_enter_simple+0xbf/0xf5

Nov 27 21:29:41 gw_neo kernel: [56984.810643] [<ffffffff812d3fe7>] ? acpi_idle_enter_simple+0xba/0xf5

Nov 27 21:29:41 gw_neo kernel: [56984.810645] [<ffffffff8144a15a>] cpuidle_enter+0x12/0x14

Nov 27 21:29:41 gw_neo kernel: [56984.810647] [<ffffffff8144a5f0>] cpuidle_enter_state+0x12/0x3a

Nov 27 21:29:41 gw_neo kernel: [56984.810648] [<ffffffff8144a6f0>] cpuidle_idle_call+0xd8/0x14b

Nov 27 21:29:41 gw_neo kernel: [56984.810650] [<ffffffff810096f7>] cpu_idle+0x56/0x7f

Nov 27 21:29:41 gw_neo kernel: [56984.810652] [<ffffffff81552629>] rest_init+0x6d/0x6f

Nov 27 21:29:41 gw_neo kernel: [56984.810655] [<ffffffff81ab2ae5>] start_kernel+0x33b/0x348

Nov 27 21:29:41 gw_neo kernel: [56984.810656] [<ffffffff81ab251d>] ? repair_env_string+0x56/0x56

Nov 27 21:29:41 gw_neo kernel: [56984.810658] [<ffffffff81ab22b2>] x86_64_start_reservations+0xb6/0xbb

Nov 27 21:29:41 gw_neo kernel: [56984.810659] [<ffffffff81ab23a9>] x86_64_start_kernel+0xf2/0xf9

Nov 27 21:29:41 gw_neo kernel: [56984.810660] ---[ end trace 9b4294d240768f82 ]---

Nov 27 21:29:41 gw_neo kernel: [56984.810665] ixgbe 0000:01:00.0: eth2: Fake Tx hang detected with timeout of 5 seconds

Nov 27 21:29:41 gw_neo bird: KRT: Received route 10.250.250.0/24 with strange next-hop 10.250.250.1

Nov 27 21:29:51 gw_neo kernel: [56994.798027] ixgbe 0000:01:00.0: eth2: Fake Tx hang detected with timeout of 10 seconds

 

Небольшое дополнение к данной теме....

Год назад я так и не смог запустить софтроутер с 10 гиговыми карточками в стабильную работу. банально отобрали сервер для других нужд. В этом году пришлось вводить второй сервер, и опять наткнулся на проблему приведенную в цитате.

И так хронология решения данной проблемы:

1. перепробовал все стабильные ядра на данный момент

2. перепробовал старые ядра.

3. поотключал все что только можно, + тюнинг системы

4 менял сетевые, драйвера на сетевые 

Никакого результата это не принесло. Система под нагрузкой в 2,5 гига работала стабильно 42 минуты (данный момент не понятен, но присутствует)

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

Совет был получен, произведен дополнительный тюнинг. Теперь система смогла проработать 1 час 40 минут до аварии. 

Дальнейшие действия по решению не помню, но в интернете, в теме которая совсем не касалась данной проблемы а шло обсуждение проблем с файлом sch_generic.c была рекомендация использовать при загрузке системы опцию pcie_aspm=off

В данный момент система работает уже вторую неделю

 

итого 

 

# cat /boot/grub/grub.conf 

 
 
default 0
timeout 5
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
 
# vim:ft=conf:
title Gentoo Linux 3.11.2
# Partition where the kernel image (or operating system) is located
root (hd0,1)
kernel /kernel-3.11.2 root=/dev/sda3 pcie_aspm=off
 
при загрузке также выполняем следующие настройки
выдержка из скрипта

 

    /usr/local/bin/set_irq_affinity.sh eth2

    /usr/local/bin/set_irq_affinity.sh eth3
    /usr/local/bin/set_irq_affinity.sh eth4
    /usr/local/bin/set_irq_affinity.sh eth5
 
    $ethtool -G eth2 rx 4096 tx 4096
    $ethtool -G eth3 rx 4096 tx 4096
    $ethtool -G eth4 rx 4096 tx 4096
    $ethtool -G eth5 rx 4096 tx 4096
 
    $ethtool -A eth2  autoneg off rx off tx off
$ethtool -A eth3  autoneg off rx off tx off
$ethtool -A eth4  autoneg off rx off tx off
$ethtool -A eth5  autoneg off rx off tx off
 
$ethtool -K eth2 gso off
$ethtool -K eth3 gso off
$ethtool -K eth4 gso off
$ethtool -K eth5 gso off
 
$ethtool -K eth2 gro off
        $ethtool -K eth3 gro off
        $ethtool -K eth4 gro off
        $ethtool -K eth5 gro off
        
$ethtool -K eth2 tso off
        $ethtool -K eth3 tso off
        $ethtool -K eth4 tso off
        $ethtool -K eth5 tso off
 
$ethtool -C eth2 rx-usecs 300
        $ethtool -C eth3 rx-usecs 300
        $ethtool -C eth4 rx-usecs 300
        $ethtool -C eth5 rx-usecs 300
 
 
$ifconfig eth2  txqueuelen 10000
$ifconfig eth3  txqueuelen 10000
$ifconfig eth4  txqueuelen 10000
$ifconfig eth5  txqueuelen 10000
 

 

Отдельная благодарность Александру ака korvin2000 за помощь. 

Link to post
Share on other sites

Данный параметр контролирует энергосбережение pcie-шины, и по умолчанию он при сборке ядра стоит в bios-default(т.е. то что выставит биос матери). Отключить его можно не только при загрузке, а и выставлением данной опции при сборке ядра в performance, или в real-time записью в /proc/xxx..

Мать у вас какая, десктопная? Вероятно грабли конкретно в ней, включены по дефолту все энергосберегайки.

Link to post
Share on other sites

Нужен совет коллектива.

Что лучше i7 4770 или 4930

У 4770 более свежее ядро хасвел и значит более быстрый кеш Л1, а у второго на два ядра больше и четырех канальная память и Л3 кеш больше

Что взять для прогона трафика на BGP машине

Link to post
Share on other sites

Я бы сказал что ничто для такой задачи не важно. Разница в скорости кеша там копеечная, а каналы памяти в количестве больше 2 не нужны нигде. Второй вариант будет конечно быстрее за счет ядер, но какой ценой?

На наге неоднократно проскакивало мнение(и я с ним согласен) - камни под 2011 есть смысл брать только топовые, и только 2 шт. Тогда система выходит действительно мощной и выгодной для тяжелых задач(НАТ к примеру).

Для простого пропуска трафика нет ничего лучше односокетного e3-12xx(ну или 4770 у вас видимо).

Edited by KaYot
Link to post
Share on other sites

кеш ничто на задаче прогона трафика. главное - частота ядра.

Ой не факт... А если таблица маршрутов целиком в кеш не влазит, с кодом ядра (драйверы/нетфильтр/планировщик) - тоже не скажется на производительности?

Да и кол-во ядер влияет... Если сетевухи умеют их задействовать.

Хотя прирост от 2 ядер и большего кеша не думаю, что будет 2-кратный. Во всяком случае сейчас. Что будет с внедрением IPv6 - посмотрим, но к тому времени сия железка превратится в металлолом...

Edited by NiTr0
Link to post
Share on other sites
  • 4 weeks later...

Приветствую коллеги.

Нужно собрать софтовый bgp роутер где будет ездить и шейпиться (ipfw:dummynet) от 2-6 Гибов трафика .

Справится ли с задачей что-то типа  мамы Supermicro X8STI-F с камнем Core i7-950 или стоит смотреть на платформы под камни E3 или сразу E5 ?

Edited by CETEBiK
Link to post
Share on other sites

Вопрос к гуру софт роутеров, интересует увидет ли mikrotik 6.4, карту A-Gear NIC-10G-2BF чипсет Intel 82599ES, пишут что Intel X520-DA2 работает, но там ведь только родные sfp+ модули будут работать насколько я понимаю.

Link to post
Share on other sites

 

Задал вопрос, а сам через 10 минут нашёл ответ .....

What's new in 6.6 (2013-Nov-07 13:04):*) added support for new Intel 10Gb ethernet cards (82599);

расскажете как поехало ;)

 

Вопрос к гуру софт роутеров, интересует увидет ли mikrotik 6.4, карту A-Gear NIC-10G-2BF чипсет Intel 82599ES, пишут что Intel X520-DA2 работает, но там ведь только родные sfp+ модули будут работать насколько я понимаю.

 

прелесть карт от Влада(A-Gear), что они работают с любыми SFP+ модулями (пробывал 5 разных модулей с различными прошивками и шнурки) без патча драйверов

 

 

кеш ничто на задаче прогона трафика. главное - частота ядра.

 

в идеале частота и ядро на каждую очередь RX/TX ну или хотябы на каждую сетевую 

Link to post
Share on other sites
  • 3 weeks later...

Собственно ROS 6.6 увидел карту A-Gear NIC-10G-2BF без проблем, но не знаю в карте дело или нет, но simple queue практически не работает, если у кого то получилось на 6 ветке использовать simple queue просьба расказать где там грабли. Как только добавляю правило у абонента дальше шлюза трафик не идёт. Типы очередей пробовал разные.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...