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

Freebsd 7.1 маршрутизатор - самопроизвольное зависание сети

Привет всем. Опишу проблему, может кто-то уже сталкивался с таким, и знает лекарство :)

 

Есть роутер, на нем FreeBSD 7.1 (недавно release слитый и поставленный). Роутинг между vlan-ами (VPN-сервера доступа, Интернет). Из ПО используем: ipf для фильтрации, ipnat для NAT-а, ipfw для пайпов (шейпинг анлимщиков), dhcpd раздает адреса, quagga (пока без всего, просто заполняет интерфейсы ip-адресами), ng_netflow.

 

Сетевая Intel Pro1000 (em). Система в SMP. polling-а нет (т.е. выключен).

 

Проблема следующая - после нормальной работы где-то в течение 5-6 дней подряд, начинает отваливаться сетевая часть. Т.е. с роутера пакеты никуда не ходят, хотя интерфейсы up. Консоль доступна как обычно, никаких перегрузок не наблюдается. Такое впечатление, что где-то идет бесконечный цикл, т.к. если написать top -S, то видно что ни процесс dummynet, ни irq18: em0, ни em0 taskq не получают процессорного времени (т.е. state у них всё время "-"). Помогает ребут, после которого всё снова работает 5-6 дней. От чего такое происходит - пока не выяснил.

 

Может, кто-то сталкивался с таким, подскажете?

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


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

Какой чипсет сетевухи? Если сетевая onboard, то еще модель материнской платы.

Изменено пользователем G.Y.S.

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


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

http://forum.nag.ru/forum/index.php?showtopic=46227

 

pkg_version -v | grep mpd

 

Попробуйте сделать cvsup до 7.1-STABLE и отключить SMP.

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


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

mpd у меня на этом сервере нет, он на другом, и работает отлично :)

 

7.1-STABLE - последняя стоит.

 

SMP отключать очень не хочется, т.к. именно ради него поставил core 2 duo. В однопроцессорном режиме была слишком большая нагрузка на процессор без polling-а.

 

Сетевая Intel PRO/1000 MT Desktop Adapter

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


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

>недавно release слитый и поставленный

Ваша цитата. А теперь вы говорите не про релиз, а про STABE. Ну ладно. Тогда может sysctl.conf и loader.conf показать общественности?

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


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

... skip ...

Сетевая Intel PRO/1000 MT Desktop Adapter

Не хочу ставить акцент в качестве причины проблемы, дабы не увести в сторону от истинной причины,но ставить на сервак декстопную сетевую, пусть даже и Интел..

По меньшей мере не солидно.. ;)

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

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


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

оно от Server Adapter вроде отличается только ноамером чипа, и идентификаторами. По функционалу - один в один с серверной. На винде серверная часть отрезается драйвером.

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


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

sysctl.conf:

 

net.inet.ip.intr_queue_maxlen=50

net.inet.icmp.log_redirect=0

net.inet.ip.redirect=0

net.inet.tcp.blackhole=1

net.inet.udp.blackhole=1

 

loader.conf - без изменений

 

 

Со STABLE - да, извиняюсь, перепутал :)

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

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


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

полностью помереть в сетевом плане фря вроде может если какой-то процесс упрется в zonelimit, статус при этом в топе у него будет zoneli.

Лечится только перезагрузкой. По поводу того, как избежать - читать Сысоева про высоконагруженный веб-сервер.

Если причина, конечно, в этом.

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


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

оно от Server Adapter вроде отличается только ноамером чипа, и идентификаторами. По функционалу - один в один с серверной. На винде серверная часть отрезается драйвером.
Гм.. Интересная логика...

Так и серверная МВ отличается от десктопной только номерами чипов и идентификаторами. А функционал тот-же!!

И нафига тогда серверы строят на "серверном" железе?? А некоторые индивидумы даже "специально заточенное" оборудование ставят типа Cisco!! Наверное, с жиру бесятся.. :)

 

P.S. Извиняюсь за оффтоп - не утерпел.. ;)

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


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

Право ваше не верить, но есть мнение, что унификация производства удешевляет его. Если есть возможность отключить софтово(в драйвере) функции, то почему бы не делать один и тот же чип для разных сегментов с разными возможностями, которые переключаются в софте?

Это так, к слову. Насчет серверного железа - опять таки бабка надвое сказала. Найдите в спеках разницу между Xeon 3XXX и коркой соответствующей. Думаю, искать устанете.

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

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


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

Во многих случаях нету, я перешивал интеловские сетевухи из десктоп в сервер и получал более 20 % прибавки скорости

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


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

Так, давайте не будем оффтопить :)

 

 

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


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

Аппаратная разница в сетевухах Desktop и Server иногда есть, а иногда и нет.

У меня был случай, когда зависал серверный SCSI адаптер, установленный в PC, под нагрузкой. А в сервере работал нормально.

По той простой причине, что в сервере проточное охлаждение, а в PC этим делом туго.

 

Поэтому неизвестно, виновато ли это в проблемах ТС.

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

 

 

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


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

У кого-нибудь еще есть идеи? А то скоро опять отрубится :)

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


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

У кого-нибудь еще есть идеи? А то скоро опять отрубится :)

Попробуйте net.isr.direct=0 в sysctl.conf

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


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

net.inet.ip.intr_queue_maxlen=50 в любом случае надо увеличить минимум в 2, а луче в в 4-ре раза

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


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

net.isr.direct пока попробую.

 

А про intr_queue_maxlen - где-то можно посмотреть статистику, хватает ли значения 50, или не хватает?

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


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

net.inet.ip.intr_queue_drops: 4867 - это много, или мало?

 

uptime:

17:20 up 2 days, 19:38, 1 user, load averages: 0,09 0,17 0,18

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


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

достаточно что бы увеличить net.inet.ip.intr_queue_maxlen

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


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

net.inet.ip.intr_queue_drops: 4867 - это много, или мало?

 

uptime:

17:20 up 2 days, 19:38, 1 user, load averages: 0,09 0,17 0,18

Это немного, из-за них зависаний быть не должно, но то, что они есть, тоже не гуд. Выставь intr_queue_maxlen например в 200.

Зависания-то прекратились?

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


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

net.inet.ip.intr_queue_drops: 21013

 

За сегодня возросло до этого значения. Не знаю, может это связано с переключением net.isr.direct -> 0 ?

 

Завтра попробую поставить intr_queue_maxlen -> 200, и посмотреть, будет ли это влиять на рост intr_queue_drops

 

С зависаниями - пока не знаю :) Виснет раз в 5-6 дней, с последнего зависания прошло еще только три дня.

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

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


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

Поставил net.inet.ip.intr_queue_maxlen=200. intr_queue_drops расти перестал.

 

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

 

По TOP перегрузки нет, netstat -w 1 ошибок не выдает. Даже не знаю, что посмотреть..

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


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

Похоже проблема где-то в dummynet, т.к. при выгрузке всех правил, ограничивающих скорость абонентов, тормоза прекратились. Когда загрузил их обратно - опять начались проблемы.

 

Причем интересно, что после перезагрузки в течение нескольких дней всё работает нормально, а потом начинаются тормоза, постепенно приводящие к полному зависанию сетевой части.

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


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

Join the conversation

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

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

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

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

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

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

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