Есть сервер, и он постоянно (два раза в день) начинает жутко тупить, помогает только reboot.
Хронолоиня событий: Есть сервер (P4HT-2400MHz,512 RAM), который выполняет функции роуетра+биллинга: у него есть ряд внутренний внешних интерфейсов, с внешним миром связан по BGP (прием только default) с внутренней сетью по OSPF (около 50 сеток с двух других роуетров), сервер делает NAT, shaping (CBQ на внутреннем интерфейсе для индивидуального шейпинга, и TBF на IMQ интерфейсах для массового), фильтрует доступ в интернет (iptables, всего около 5000 правил, то они расписаны по кучи разных цепочкек, так что в среднем пакет проходит черер 100-200 правил), считает трафик (ipfm и ipaudit работают полность параллельно (для подстаходвки)), обробатывает трафик в базе mysql (база в данным момент около гига) и дает доступ к этим данным через web. вообщем задач много но последнии пару лет, он с этим спокойно справлялся. трафик через него 10-20 мегабит (в зависимости от времени суток и дня недели). ядро 2.4.22 c патчем IMQ. load average был 0.5-1.5 основные CPUжрущие процессы - считалка трафика.
Заходтелось немножко новых фишечек, и для этого было собрано ядро 2.4.32 (с kernel.org) + IMQ + pom (захотелось ipp2p, ipset, CLASSIFY, CONNMARK). Ядро было успешно собрано и запущено пару недель назад, и все нормально работало. (новые фишки пока не применялись)
В понедельник днем был заменен TBF на одном из IMQ интерфейсе (трафик до 9 мегабит), на HTB+SFQ (трафик разлелен на 3 очереди, и у кажой свой rate и ceil), все продолжило успешно работать до вечера (когда пощел оснавной трафик), и тут севрер начал торомзить: load average начал расти (до 5-10-15-20-25), считалки трафика жрали все достпное CPU, другие задачи начали тупить (mysql еле отвечал на примитивные запросы, страницы которые раньше генерились за секунду стали генерится минутами), сервер стал тупить к консоле, и на ping стал отвечать с задержками, трафик пропускать стал меньше обычного, пошли жалобы на дропанье сессий). Попытки реанимировать сервер без перезагруки не дали резульатата. (было перезружены все серверис какие только можно (mysql, httpd, считалки трафика, шейперы). В резульате сервер перегрузили, и все стало работать нормально.
Во вторник утром ситуация повторилась, сервер перегрузили, но уже без шейпера на IMQ устройство.
Во вторник вечером ситуация повторилась.
В среду утром ситуация опять повторилась, откатились на старое ядро. Тоесть систему полностью вернули в исходное состояние.
В среду вечером ситуация повторилась.
И сегодня утром ситация опять повторилась.
Обычно считалки трафика (они работают через libpcap) начинали жрать пространство, если в сети бродят вирусы которые массово сканять порты, или генерять левый трафик (spam,DOS и т.п.) и если этот трафик заблокировать (не на этом роутере а раньше) то все нормализировалось Начали анализировать трафик, поствили считалки в iptables первым правилом:
iptables -A counter -i eth1 -p tcp --dport 25 -m state --state NEW (eth1 - внутренний интерфейс)
и начали рисовать график таких правил: заметили что перед тем как серверу начать тупить, поток пакетов срабатывающих на это правило около 5-10 мегабит. тоесть проблема в вируснике. но когда такой трафик исчезает, обычно все входило в норму, а тут перестало входить. Перезагрузки считалок не помогают, считалки работют уже несоколько лет, и подозревать их в утечках памяти схожно.
Все идеи что это может быть кончились, осталось только одно подозрение: в серверной щас проблемы с охлажнением, и там реально жарко.
Вопрос: Как себя ведут сервера в жестких климатических условиях: нормально работают а потом сразу виснут, или сначала тупят? Как себя ведут сервера с битой памятью?
ЗЫ дополнительную память в сервер уже заказали, а для разделения задач на две машины тоже вопрос уже поднят, но это связано с огранзационными проблемами, так что произойдет это не в этом месяце.