The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
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, 13:08 , 24-Авг-07 (1)
    По поводу сигналов - возможно память подыхает.

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

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

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

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

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

    • echo reply из userspace, !*! anonymous, 16:34 , 25-Авг-07 (4)
      >>
      >>Если есть какие альтернативные предложения -- конечно же, готов выслушать.
      >
      >У сервера, случайно, нет аппаратного 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, 15:34 , 26-Авг-07 (5)
        >
        >Сервер Dell 2850
        >
        >PowerEdge 2850 includes a standard Baseboard Management Controller

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

      • echo reply из userspace, !*! Michelnok, 15:46 , 26-Авг-07 (6)
        >
        >IPMI -- это и есть watchdog?

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

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

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру