URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6701
[ Назад ]

Исходное сообщение
"echo reply из userspace"

Отправлено anonymous , 24-Авг-07 09:29 
Можно ли отвечать на ICMP echo request из userspace программы, и чтобы ядро на него само не отвечало?  Система FreeBSD, хотя Linux тоже интересует, только немного в меньшей степени.

Зачем это нужно?  Есть некоторое устройство, управляющее питанием серверов в датацентре.  Оно умеет пинговать сервер и если не получено сколько-то-там ответов, оно перезагружает сервер.  Проблема в том, что недавно у сервера начались странные зависания, чуть ли не каждый день: на ping ядро отвечает, но ничего кроме этого не работает. В логах чисто, только вот такие сообщения во время работы настораживают:
/var/log/messages
pid 44847 (httpd), uid 65534: exited on signal 4
... и ещё много-много таких же про сигнал 4, иногда про сигнал 10 или 11, иногда про другие программы, но это ещё реже
Из этого был сделан вывод, что проблемы с железом.  Apache не пересобирался уже очень давно, и проблемы связаны не с кривой сборкой, это точно.  В любом случае, уже куплен новый сервер и идёт перенос пользователей со старого на новый.  Но это дело медленное (по определённым причинам), так что этот глючный сервер ещё должен проработать где-то с месяц.  Дежурить возле него круглосуточно конечно же нет возможности, поэтому в моей голове родилась эта идея: раз userspace виснет, то пусть вместе с ним виснет и демон, отвечающий на ICMP echo request.

Если есть какие альтернативные предложения -- конечно же, готов выслушать.


Содержание

Сообщения в этом обсуждении
"echo reply из userspace"
Отправлено vic , 24-Авг-07 13:08 
По поводу сигналов - возможно память подыхает.

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


"echo reply из userspace"
Отправлено anonymous , 24-Авг-07 23:10 
>слушать интерфейс (на уровне сырых сокетов) на предмет
>icmp и отвечать сама.

Меня интересует, возможно ли это.  Насколько я искал в гугле, находил ответы только "не знаю" и "скорее всего, нет", но там ставились другие задачи.


"echo reply из userspace"
Отправлено vic , 27-Авг-07 12:40 
>>слушать интерфейс (на уровне сырых сокетов) на предмет
>>icmp и отвечать сама.
>
>Меня интересует, возможно ли это.

возможно.


"echo reply из userspace"
Отправлено Michelnok , 25-Авг-07 14:57 
>
>Если есть какие альтернативные предложения -- конечно же, готов выслушать.

У сервера, случайно, нет аппаратного watchdog timer'а?


"echo reply из userspace"
Отправлено anonymous , 25-Авг-07 16:34 
>>
>>Если есть какие альтернативные предложения -- конечно же, готов выслушать.
>
>У сервера, случайно, нет аппаратного watchdog timer'а?

Сервер Dell 2850
В datasheet написано http://www.dell.com/downloads/global/products/pedge/en/2850_...

PowerEdge 2850 includes a standard Baseboard Management Controller that is compliant
with Intelligent Platform Management Interface (IPMI) 1.5 so that you can manage your systems
from anywhere, anytime with any management program that supports IPMI.

IPMI -- это и есть watchdog?


"echo reply из userspace"
Отправлено Michelnok , 26-Авг-07 15:34 
>
>Сервер Dell 2850
>
>PowerEdge 2850 includes a standard Baseboard Management Controller

Да, возможно он содержит watchdog timer. Поищи, только не в datasheet, а в чем-то более серьезном.
Грубо говоря, watchdog timer - это такое простенькое устройство (встроенное на материнку), висит на каком-то порту. Если порт не дернуть в течении определенного времени (заданного при инициализации), то делается аппаратный сброс. Т.е. в случае любых причин - зависания твоего софта, глюков системы, даже аппаратных проблем (с памятью, как у тебя скорее всего) - сервер перегружается. Я так понимаю, это тебе и надо.


"echo reply из userspace"
Отправлено Michelnok , 26-Авг-07 15:46 
>
>IPMI -- это и есть watchdog?

Вот что нашел навскидку:
http://www.gnu.org/software/freeipmi/index.html
Там есть некий "BMC Watchdog tool/daemon", похоже что это оно.


"echo reply из userspace"
Отправлено AMDmi3 , 27-Авг-07 22:27 
>Если есть какие альтернативные предложения -- конечно же, готов выслушать.

Насчет ICMP из userspace, думаю тебе однозначно сюда:
http://wiki.freebsd.org/SuperTunnelDaemon

Как раз для FreeBSD пишется демон, который умеет туннелировать траффик через что угодно, в том числе и через ICMP echo request/reply. Можно посмотреть как сделано у них.