Привет всем!
Преамбула.
Есть у меня несколько pptp серверов: Два на фряхе с pppd на борту и три на debian 8 с accel-ppp соответственно. Недавно добавился ещё один для IPoE/PPPoE/PPTP так же на debian с accel.
Так вот что меня мучает уже пол года: Почему-то, сервера с accel периодически наглухо зависают. То есть сервер может зависнуть раз в день, а может раз в неделю. Вообще. Наглухо. Ни на консоль, ни на клавиатуру, вообще ни на какое прерывание он не отвечает при этом. Ошибок в системных логах нет никаких, то есть всё у него хорошо и замечательно и вдруг БАХ! и повис...
Я пробовал использовать centos, пробовал пересобирать и обновлять до экспериментально ядро. Пробовал менять железо, сетевые карты разных вендоров - ничего не помогает. Я мониторю "здоровье" своих серверов и могу сказать, что до момента зависания, как говорится, - ничего не предвещает беды, ни CPU, ни ОЗУ, ни HDD не "протекают". Стоит оговориться, что нагрузка на этих серверах ~50 PPTP сессий в пике с шейпами в 50Mbit/s - смехотворно. Складывается ощущение, что прилетает какой-то зафоршмаченый пакет который вводит в ступор accel и весь сервер вместе с ним.
Даже не приложу ума как это дебажить. Запускать с gdb и оставлять это дело на неизвестно сколько времени? Бывают случаи что они месяцами работают без нареканий. Может кто подскажет какую дельную идею...
UPD
С серверами на который PPPoE такого не происходит. Только с серверами, на которых PPTP.
Зависания ...
Зависания ...
Last edited by nobody on 27 Nov 2016, 09:36, edited 1 time in total.
Re: Зависания ...
Я так понял зависает сам сервер, предположительно kernel-panik? Если kernel-panik gdb не поможет. Раньше я часто сталкивался с подобной бедой на тогда еще старых дистрибутивах debian и centos, после начал использовать gentoo и ванильное ядро, и беды прекратились.
Как вариант, что бы увидеть ошибку ядра можно настроить com порт на вывод, и выводить всю информацию из системного журнала на другое устройство, ну это если на мониторе ничего не отображается.
Как вариант, что бы увидеть ошибку ядра можно настроить com порт на вывод, и выводить всю информацию из системного журнала на другое устройство, ну это если на мониторе ничего не отображается.
Re: Зависания ...
Ага, зависает сервер. kernel-panic нет, так как в dmesg лог они не записываются, либо не успевают по какой-то причине. Vanilla kernel я тоже пробовал на debian. Система не имеет значения, ядро-то одно и то же... но gentoo неудобен, как так расходует ресурсы машины на компиляцию пакетов, время администратора и главное, не каждый администратор умеет обращаться в gentoo/arch , мы уходим от этого в сторону простоты, что с точки зрения бизнес процессов резонно. Так как если ломается сервис на gentoo - уходит большое кол-во времени на его ремонт, за которое администратор успевает развернуть батарею debian-систем (Либо любых других пакетных) с этим сервисом.
В общем, это всё лирика, в реалиях нужно какое-то решение для дебага этого безобразия, я уже всю голову себе сломал. В общем-то это доставляет не очень много проблем, всегда можно послать раз в неделю аварийную бригаду ребутнуть сервер, но всё же хочется этого избегать в будущем.
В общем, это всё лирика, в реалиях нужно какое-то решение для дебага этого безобразия, я уже всю голову себе сломал. В общем-то это доставляет не очень много проблем, всегда можно послать раз в неделю аварийную бригаду ребутнуть сервер, но всё же хочется этого избегать в будущем.
Re: Зависания ...
Не факт, что после паники ядра информация останется в syslog или messages. Банально пусть подкинут монитор и сфотографируют экран.
Напишите версия ядра и какое железо, особенно важна сетевая. Так как с igb есть много косяков.
Напишите версия ядра и какое железо, особенно важна сетевая. Так как с igb есть много косяков.
Re: Зависания ...
Ну-у-у, как сказать, все прочие panic-сообщение если и бывают, то в dmesg записываются отлично. Машина и версия ядра значения не имеют, ну в данный момент один из них, например это: asus rs-100, 4G ОЗУ, i5 680, net Intel Corporation 82571EB Gigabit Ethernet Controller. Kern 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux
Дрова при этом для сетевой карты атомарные, разумеется пробовал ixgbe от интел ставить много раз, да и карту эту вообще убирать пробовал, короче - делал всё что возможно с железом как и писАл в первом посте, результат один и тот же - виснет наглухо.
Монитор, разумеется, пробовал включать, там пустота. Либо при всём при этом пропадает сигнал с VGA, либо машину нужно "разбудить", что разумеется сделать невозможно так как прерывания и с клавиатуры в том числе перестают обрабатываться системой.
Дрова при этом для сетевой карты атомарные, разумеется пробовал ixgbe от интел ставить много раз, да и карту эту вообще убирать пробовал, короче - делал всё что возможно с железом как и писАл в первом посте, результат один и тот же - виснет наглухо.
Монитор, разумеется, пробовал включать, там пустота. Либо при всём при этом пропадает сигнал с VGA, либо машину нужно "разбудить", что разумеется сделать невозможно так как прерывания и с клавиатуры в том числе перестают обрабатываться системой.
Re: Зависания ...
Ну как бы рассмотрите вариант с com портом и рядом поставить тазик для дебага, что бы принимать с com порта все.
Или как вариант использовать Crash Dump Mechanism https://help.ubuntu.com/12.04/servergui ... -dump.html, я так еще не пробовал.
Или как вариант использовать Crash Dump Mechanism https://help.ubuntu.com/12.04/servergui ... -dump.html, я так еще не пробовал.
Re: Зависания ...
С тазиком суровая затея
Но идея имеет право на жизнь.
![Улыбается :)](./images/smilies/icon_e_smile.gif)