Ilya Evseev Опубликовано 11 февраля, 2012 · Жалоба Имеется роутер с FreeBSD 8.2-p4, сетевые "em", трафик <200 mbps, клиентов <1000. Если трафик к клиентам маршрутизируется через внутренний layer3, роутер работает стабильно месяцами. Если клиентские vlan'ы (<100) дотянуты до роутера и роутер шлёт в них трафик напрямую, то каждые несколько дней роутер виснет намертво (см.картинку). Вопрос 1: кто-нибудь с этим сталкивался? Гугл нашёл очень похожее описание - http://forum.pfsense.org/index.php?topic=40769.0 но там дискуссия ведётся с сентября и закончилась ничем в январе. Вопрос 2: что в этой ситуации лучше/хуже - откат на 7.4, обновление до 8-STABLE, обновление до 9-RC? На других роутерах такой проблемы нет, но там либо другие сетевые (не Интел), либо существенно меньше нагрузка, либо более старая версия FreeBSD. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Zohan Опубликовано 12 февраля, 2012 · Жалоба Вопрос 2: что в этой ситуации лучше/хуже - откат на 7.4, обновление до 8-STABLE, обновление до 9-RC? Обновить до 9-RELEASE. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 12 февраля, 2012 · Жалоба Вопрос 2: что в этой ситуации лучше/хуже - откат на 7.4, обновление до 8-STABLE, обновление до 9-RC? Обновить до 9-RELEASE. стандартная фраза техподдержки дибилинк, которая не даст полной уверенности. надо лечить причину а не следствие автор, научитесь пользоваться ddb, kgdb. навыки ещё пригодятся. я так понял PPTP у вас? arp нужен. на вскидку напомню - flowtable? я бы смотрел чего в 8-м фрейме - arpintr с дампом памяти. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 12 февраля, 2012 · Жалоба Ещё можно попробовать воспользоваться netgraph для работы с валанами. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 13 февраля, 2012 · Жалоба посмотрел сейчас исходник. без дампа памяти - гадание на кофейно гуще. говорите виснет раз в несколько дней - значит можно воспроизвести проблему. поэтому сохраните дамп памяти, выложите куда-нибудь, вместе с бинарником ядра. также настройте DDB, чтобы сам большинство работы сделал и послал резет процессору. netisr есть возможность выключить? (это конечно не решение проблемы, а воркарауд) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Zohan Опубликовано 13 февраля, 2012 · Жалоба Вопрос 2: что в этой ситуации лучше/хуже - откат на 7.4, обновление до 8-STABLE, обновление до 9-RC? Обновить до 9-RELEASE. стандартная фраза техподдержки дибилинк, которая не даст полной уверенности. надо лечить причину а не следствие ТС вообще хотел обновляться до 9-RC :) пусть выложит во время работы vmmstat -z Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 13 февраля, 2012 · Жалоба стандартная фраза техподдержки дибилинк, которая не даст полной уверенности.надо лечить причину а не следствие Для начала обновится, потом, если не пройдёт лечится. Там же много всего в коде исправляли. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 13 февраля, 2012 · Жалоба А если хуже станет - как откатывать назад? :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lagman Опубликовано 13 февраля, 2012 · Жалоба А если хуже станет - как откатывать назад? :) http://www.freebsd.org/doc/ru/books/handbook/kernelconfig-trouble.html Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 13 февраля, 2012 · Жалоба Там ровно ничего нет про откат системы назад, есть только как починить нерабочее новое ядро. А ведь новом ядре и системе могут всплыть еще более крутые глюки, и возможность отката должна быть. И ржачные моменты про: Если вы установили версию ядра отличную от той, с которой были собраны ваши системные утилиты, например, ядро от -CURRENT на системе -RELEASE, большая часть системных команд, таких как ps(1) и vmstat(8) не будут больше работать. Вам потребуется перекомпилировать и установить систему той же версии исходных текстов, что и ядро. Это одна из причин, по которой не следует использовать версию ядра, отличную от версии всей остальной системы. Вообще, архаизм. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lagman Опубликовано 13 февраля, 2012 · Жалоба Там ровно ничего нет про откат системы назад, есть только как починить нерабочее новое ядро. А ведь новом ядре и системе могут всплыть еще более крутые глюки, и возможность отката должна быть. Качаешь с фтп нужный тебе генерик, распаковываешь в /boot/kernel, ребутишься со старым новым ядром. Какие проблемы? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 13 февраля, 2012 · Жалоба Качаешь с фтп нужный тебе генерик, распаковываешь в /boot/kernel, ребутишься со старым новым ядром. Какие проблемы? Большие, рабочую ос получить можно в базовом варианте, а весь пересобранный мир, как-то сложно... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 13 февраля, 2012 · Жалоба А как быть с обновленным юзерспейсом? Как его откатить назад? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DVM-Avgoor Опубликовано 13 февраля, 2012 · Жалоба А как быть с обновленным юзерспейсом? Как его откатить назад? Точно так же. Причем не факт что у вас будет не работать что-либо кроме ps/vmstat (что работает со структурами ядра). В плане обновления в пределах major-ветки проблем обычно минимум. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Сильвер Опубликовано 13 февраля, 2012 · Жалоба А как быть с обновленным юзерспейсом? Как его откатить назад? freebsd-update имеет ключ -r http://www.freebsd.org/doc/handbook/updating-upgrading-freebsdupdate.html Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lagman Опубликовано 13 февраля, 2012 · Жалоба А как быть с обновленным юзерспейсом? Как его откатить назад? Каким образом связаны поддержка вланов в ядре и обновленный юзерспейс? Идите буратиньте в другом месте, гражданин ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 13 февраля, 2012 · Жалоба В том, что топикстартеру посоветовали накатить новую систему, чтоб избавиться от бага, это значит обновить _всё_, и возможно наловить новых глюков. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 13 февраля, 2012 · Жалоба автор, научитесь пользоваться ddb, kgdb. навыки ещё пригодятся. Уважаемый, я умею ими пользоваться, но чтобы ловить проблему, необходимо одно из трёх: 1) watchdog, который перезапустит повисший сервер, 2) "специально подготовленный сержант", который нажмёт ресет, 3) готовность к даунтайму не менее получаса днём и х.з. сколько ночью. Встроенного ватчдога там нет, внешнего тоже (пока?) нет, остальное неприемлемо. я так понял PPTP у вас? Нет. Причём здесь PPTP? Ему не был бы нужен прямой доступ в клиентские vlan'ы. на вскидку напомню - flowtable? Ок, попробую выключить, но вряд ли дело в нём. На других серверах с ядром 8.2 (конфиг ядра и системы одинаковые) и похожей нагрузкой ничего не виснет. Главное отличие - вместо Интелов на них используются встроенные Броадкомы. также настройте DDB, чтобы сам большинство работы сделал и послал резет процессору. Получит ли DDB управление, если даже kdb_backtrace виснет раньше, чем успевает распечатать полный листинг и отправить сервер в ребут? netisr есть возможность выключить? (это конечно не решение проблемы, а воркарауд) Что значит выключить? Его можно вызывать либо из обработчика прерывания от сетевой карты, либо в отдельном потоке(потоках). У меня используется первый вариант: # sysctl net.isr net.isr.numthreads: 1 net.isr.defaultqlimit: 256 net.isr.maxqlimit: 10240 net.isr.bindthreads: 0 net.isr.maxthreads: 1 net.isr.direct: 1 net.isr.direct_force: 1 /boot/loader.conf ichwd_load="YES" netgraph_load="YES" dummynet_load="YES" ng_ipfw_load="YES" ng_netflow_load="YES" kern.coredump=0 kern.hz=4000 # Intel network cards hw.em.rxd=4096 hw.em.txd=4096 hw.em.enable_msi=1 hw.em.rx_int_delay=600 hw.em.tx_int_delay=600 hw.em.rx_abs_int_delay=1000 hw.em.tx_abs_int_delay=1000 /etc/sysctl.conf kern.ipc.somaxconn=512 net.inet.ip.fw.verbose=1 net.link.ether.inet.log_arp_wrong_iface=0 net.inet.ip.dummynet.io_fast=1 net.inet.ip.dummynet.expire=0 net.inet.ip.fastforwarding=0 net.inet.ip.redirect=0 net.inet.ip.fw.dyn_buckets=2048 # default=256 net.inet.ip.dummynet.hash_size=512 # default=64 # Drop SYN without RST on closed ports net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 # Igor Sysoev settings for Intel network cards: # http://dadv.livejournal.com/49013.html dev.em.0.rx_int_delay=600 dev.em.0.tx_int_delay=600 dev.em.0.rx_abs_int_delay=1000 dev.em.0.tx_abs_int_delay=1000 dev.em.0.rx_processing_limit=1024 dev.em.1.rx_int_delay=600 dev.em.1.tx_int_delay=600 dev.em.1.rx_abs_int_delay=1000 dev.em.1.tx_abs_int_delay=1000 dev.em.1.rx_processing_limit=1024 В том, что топикстартеру посоветовали накатить новую систему, чтоб избавиться от бага, это значит обновить _всё_, и возможно наловить новых глюков. Понимаю Ваш сарказьм, коллега, но в данном случае переезд на Линукс рискует принести ещё больше головняка :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Сильвер Опубликовано 13 февраля, 2012 (изменено) · Жалоба Если клиентские vlan'ы (<100) дотянуты до роутера и роутер шлёт в них трафик напрямую, то каждые несколько дней роутер виснет намертво (см.картинку). Вопрос 2: что в этой ситуации лучше/хуже - откат на 7.4, обновление до 8-STABLE, обновление до 9-RC? Попробуйте поставить http://people.freebsd.org/~avg/stop_scheduler_on_panic.8.x.diff Если usb-клавиатура то и http://people.freebsd.org/~avg/stop_scheduler_on_panic.usb.diff и попробуйте снять дамп. http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug.html#KERNELDEBUG-OBTAIN Если дамп снимется, тогда будет что обсуждать. В 9-Stable эти MFC уже есть. Изменено 13 февраля, 2012 пользователем Сильвер Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 13 февраля, 2012 · Жалоба пусть выложит во время работы vmmstat -z Смотреть надо только на все строки, или только с ненулевым failures? Без виланов всё красиво: # vmstat -z | egrep -v ' 0$' ITEM SIZE LIMIT USED FREE REQUESTS FAILURES 64 Bucket: 268, 0, 173, 9, 219, 13 128 Bucket: 524, 0, 2297, 6, 3399, 687 # netstat -m | grep -i den 0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters) 0/0/0 requests for jumbo clusters denied (4k/9k/16k) 0 requests for sfbufs denied За подсказку в любом случае спасибо! :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Zohan Опубликовано 13 февраля, 2012 · Жалоба На других серверах с ядром 8.2 (конфиг ядра и системы одинаковые) и похожей нагрузкой ничего не виснет. Главное отличие - вместо Интелов на них используются встроенные Броадкомы. Если это главное и единственное отличие, то логично предположить, что проблема в дровах Интела в связке с Фряхой. В 9-ке более новые дрова на интеловские карты. И как вы делаете Вланы - цисколайк? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 13 февраля, 2012 · Жалоба Если это главное и единственное отличие, то логично предположить, что проблема в дровах Интела в связке с Фряхой. В 9-ке более новые дрова на интеловские карты. Более новые - не есть обязательно хорошо. Потому что в них могли не починить этот баг, а добавить другие. На форуме pfsense написано, что у них данная проблема возникла именно после очередного обновления. Поэтому я и рассматриваю откат на 7.4 как один из вариантов. К сожалению, фактов для принятия решения пока маловато. И как вы делаете Вланы - цисколайк? Вот так: for n in `jot - 100 199`; do v="vlan$n" a="10.10.$n.2/24" ifconfig $v create ifconfig $v inet $a vlan $n vlandev em0 up done Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
make.kernel Опубликовано 13 февраля, 2012 · Жалоба В том, что топикстартеру посоветовали накатить новую систему, чтоб избавиться от бага, это значит обновить _всё_, и возможно наловить новых глюков. Только я в этом мире гружу фрю с флешек с подмонтированием винтов где нужно и куда нужно или еще кто-то? В виртуалке пересобрал мир+ядро+пактыпортапгрейдом, проверил, что все запускается, mdconfig прицепил образ, проинсталил систему потом в chroot проинсталил пакеты, нарисовал конфиги, при первом старте подправил ошибки. Геморойно немного, зато старую флешку потом воткнуть можно, если новая заглючит и парк серверов нада планировать изначально под такую схему. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 14 февраля, 2012 · Жалоба Только я в этом мире гружу фрю с флешек с подмонтированием винтов где нужно и куда нужно или еще кто-то? С флэшками не балуюсь, но у меня есть резервный сервер, на котором и тренируюсь, в конце-концов погасить-поднять порты на каталисте можно и из дома. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 14 февраля, 2012 (изменено) · Жалоба тема почему я презираю фряшников перешла в другие тематические темы :)))) на счет netisr, да неверно выразился, директ-ладно. у вас роутер или сервер доступа? kern.hz=4000 зачем это? net.inet.ip.dummynet.io_fast=1 ? если ватчдога нет, плата не на Intel-чипах чтоли? на других тоже не интел? пы.сы. ватчдог DDB-у может помешать сделать свою работу. стоит 7.2 с mpd5.3 на PPPoE серверах и молча работает... уже больше 3-х лет наверное. В том, что топикстартеру посоветовали накатить новую систему, чтоб избавиться от бага, это значит обновить _всё_, и возможно наловить новых глюков. полностью согласен. надо выяснить причину падений. вплоть до анализа данных в mbuf-е Изменено 14 февраля, 2012 пользователем Giga-Byte Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...