heap Posted December 23, 2013 Posted December 23, 2013 Кто-нибудь использует сабжевые ядра на роутерах с NAT? Периодически (на глазок примерно раз в неделю) ядро валится в панику. Как правило, наблюдается среди прочего в дампе вызов kmem_cache_alloc или kmalloc. В двух случая обратил внимание, что происходила проблема в дереве вызовов conntrack, а именно __nf_conntrack_alloc. Есть еще у кого-то подобные проблемы? Вставить ник Quote
nuclearcat Posted December 23, 2013 Posted December 23, 2013 Я, работает нормально, причем и 11.x и 12.x. Паник не бывало вообще, нагрузка около гигабита. Все зависит какие features вы используете кроме NAT и каким компилятором собрано ядро. И проверьте память. Китайцы выбросили на рынок как минимум паленые чипы kingston, которые при сильно нагрузке начинают "сыпаться" и на тестах проблема детектится плохо. Уже три раза на эти грабли наступил, причем в одном из случаев память должна была быть ECC и не помогло. В случае десктопной помогла замена на другого производителя. Вставить ник Quote
heap Posted December 23, 2013 Author Posted December 23, 2013 Я, работает нормально, причем и 11.x и 12.x. Паник не бывало вообще, нагрузка около гигабита. Все зависит какие features вы используете кроме NAT и каким компилятором собрано ядро. И проверьте память. Китайцы выбросили на рынок как минимум паленые чипы kingston, которые при сильно нагрузке начинают "сыпаться" и на тестах проблема детектится плохо. Уже три раза на эти грабли наступил, причем в одном из случаев память должна была быть ECC и не помогло. В случае десктопной помогла замена на другого производителя. Да память, конечно, вариант, но сервер не новый - до обновления не замечалось подобного (ранее ездило под 3.0.х). Сейчас откатил на 3.4.х ради эксперимента. А другие фичи - вопрос интересный, но очень смущает что в двух паниках расклад крутился именно вокруг аллокейта для conntrack. Буду наблюдать. Вставить ник Quote
nuclearcat Posted December 23, 2013 Posted December 23, 2013 А что за сетевуха? Может быть драйвер и offloading какой-то. Я всегда делаю: ethtool -K eth0 gso off gro off tso off Сколько соединений в час пик - максимум? Вставить ник Quote
Antares Posted December 23, 2013 Posted December 23, 2013 Перешёл на 3.11.6 ядро недавно, uptime 24 дня, полёт нормальный. Трафика чуть больше гига к абонентам. Нагрузка на ядра упала с 40 до 15 процентов, но подрос LA, правда не сильно, нозаметно. На 3.0.x LA можно сказать не было вообще Вставить ник Quote
heap Posted December 23, 2013 Author Posted December 23, 2013 А что за сетевуха? Может быть драйвер и offloading какой-то. Я всегда делаю: ethtool -K eth0 gso off gro off tso off Сколько соединений в час пик - максимум? При загрузке: /sbin/ethtool -G eth0 rx 2040 /sbin/ethtool -G eth1 rx 2040 /sbin/ethtool -G eth2 rx 4096 tx 4096 /sbin/ethtool -G eth3 rx 4096 tx 4096 /sbin/ethtool -G eth4 rx 4096 tx 4096 /sbin/ethtool -G eth5 rx 4096 tx 4096 /sbin/ethtool -K eth0 sg off tso off gso off gro off tx-nocache-copy off /sbin/ethtool -K eth1 sg off tso off gso off gro off tx-nocache-copy off /sbin/ethtool -K eth2 sg off tso off gso off gro off lro off tx-nocache-copy off /sbin/ethtool -K eth3 sg off tso off gso off gro off lro off tx-nocache-copy off /sbin/ethtool -K eth4 sg off tso off gso off gro off lro off tx-nocache-copy off /sbin/ethtool -K eth5 sg off tso off gso off gro off lro off tx-nocache-copy off Два встроенных бродкома и 4 интела: # ethtool -i eth0 driver: bnx2 version: 2.2.1 firmware-version: bc 3.5.12 UMP 1.1.8 bus-info: 0000:03:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no # ethtool -i eth2 driver: igb version: 5.0.6 firmware-version: 1.5.1 bus-info: 0000:0e:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no 03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12) 07:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12) 0e:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 0e:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 0f:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 0f:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) Справедливости ради стоит заметить, что ранее бродкомы висели без дела - в бондинге были только интелы попарно. Бондинги собраны по схеме bcm+intel+intel. Перешёл на 3.11.6 ядро недавно, uptime 24 дня, полёт нормальный. Трафика чуть больше гига к абонентам. Нагрузка на ядра упала с 40 до 15 процентов, но подрос LA, правда не сильно, нозаметно. На 3.0.x LA можно сказать не было вообще Эво как. Интересно за счет чего так славно нагрузка упала. NAT есть? Сколько записей в conntrack? Вставить ник Quote
Antares Posted December 23, 2013 Posted December 23, 2013 (edited) нат есть conntrack -C 174961 igb у меня 5.0.5 Edited December 23, 2013 by Antares Вставить ник Quote
adnull Posted December 23, 2013 Posted December 23, 2013 У меня сегодня e1000e на untel 82574L тоже взбрыкнул. Не в корку, но линк опустил на 5 минут. Вставить ник Quote
heap Posted December 23, 2013 Author Posted December 23, 2013 нат есть conntrack -C 174961 igb у меня 5.0.5 Для завершения сравнения - есть ли htb? ipset? police rate? hashing filters? Вставить ник Quote
Antares Posted December 23, 2013 Posted December 23, 2013 ipset есть, остального нет Вставить ник Quote
nuclearcat Posted December 23, 2013 Posted December 23, 2013 У меня сегодня e1000e на untel 82574L тоже взбрыкнул. Не в корку, но линк опустил на 5 минут. В dmesg сообщения о reset были? я после того как отключил gso gro tso - все стало ок, а так было на некоторых e1000e подобное. По другим сообщениям: Но sg не стал бы отключать, по производительности может ударить, как и многое другое. Кстати возможно имеет значение какие nat helpers подгружены, я обычно только pptp подгружаю, а остальное - нет. bnx2 я бы на время отключил, чтобы исключить баг в их драйвере. Лично я их избегаю на роутерах из-за низкой эффективности. Вставить ник Quote
adnull Posted December 23, 2013 Posted December 23, 2013 Ага, вывалило: [504336.564732] e1000e 0000:00:19.0 eth0: Detected Hardware Unit Hang: kernel: [504336.564732] TDH <db> kernel: [504336.564732] TDT <4c> kernel: [504336.564732] next_to_use <4c> kernel: [504336.564732] next_to_clean <d9> kernel: [504336.564732] buffer_info[next_to_clean]: kernel: [504336.564732] time_stamp <11e0d0712> kernel: [504336.564732] next_to_watch <db> kernel: [504336.564732] jiffies <11e0d2fe5> kernel: [504336.564732] next_to_watch.status <0> kernel: [504336.564732] MAC Status <40080043> kernel: [504336.564732] PHY Status <796d> kernel: [504336.564732] PHY 1000BASE-T Status <0> kernel: [504336.564732] PHY Extended Status <3000> kernel: [504336.564732] PCI Status <10> kernel: [504336.575561] e1000e 0000:00:19.0 eth0: Reset adapter unexpectedly Бегло погуглил, говорят баг в дровах. Пока выкинул из ядра все кроме e1000e, offloading не отключал, больше не падало. Вставить ник Quote
heap Posted December 23, 2013 Author Posted December 23, 2013 (edited) По другим сообщениям: Но sg не стал бы отключать, по производительности может ударить, как и многое другое. Кстати возможно имеет значение какие nat helpers подгружены, я обычно только pptp подгружаю, а остальное - нет. bnx2 я бы на время отключил, чтобы исключить баг в их драйвере. Лично я их избегаю на роутерах из-за низкой эффективности. lsmod среди прочего кажет: iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack То бишь как вроде бы ничего лишнего. Из netfilter есть: xt_CT xt_mark xt_state xt_tcpudp xt_hashlimit xt_set Можно ли поподробнее в двух словах об sg. Какой выигрыш в производительности он дает включенный на роутере? Касательно bnx - драйвер ядерный ездит. Почему-то с оффсайта со свежими ядрами не компилится. Ага, вывалило: Бегло погуглил, говорят баг в дровах. Пока выкинул из ядра все кроме e1000e, offloading не отключал, больше не падало. Ага, на сервачке с e1000e где-то встречалось такое. Не помню приводило ли к дизастеру, но такие сообщения встречались. Про bnx2 соврал. Уже есть, которые собираются. Edited December 23, 2013 by heap Вставить ник Quote
nuclearcat Posted December 23, 2013 Posted December 23, 2013 Можно ли поподробнее в двух словах об sg. Какой выигрыш в производительности он дает включенный на роутере? Ну вообще scatter gather это векторная обработка массива с пакетами, если это поддерживается драйвером. Если судить по документации - т.е. если драйвер может - он проверяет сколько места в исходящем буфере и заталкивает пакеты туда скопом, а не по одной штуке, в ином случае после каждого пакета проверяет буфер. У меня на e1000e включение-выключение влияния на производительность не оказало, скорее всего именно в этом драйвере только векторная обработка и она не отключается. Вообще tso/gso/gro IMHO надо обязательно отключать если есть шейперы. Т.к. они имеют свойство собирать пакеты в "гигантские" пакеты, а в шейперах все часто заточено на максимальный mtu 1500 или около того. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.