The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Использование аппаратного 'watchdog..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Использование аппаратного 'watchdog..."  +/
Сообщение от auto_tips (??) on 22-Дек-08, 18:51 
Некоторые материнские платы снабжены специальным устройством, делающим жесткую перезагрузку,
если ОС не "дернула" вовремя это устройство. Называется оно "hardware watchdog timer".
Таким образом, автоматическая и неминуемая перезагрузка гарантируется при "зависании" ОС.

В частности, watchdog timer имеется на многих материнских платах Intel,
причем не только на серверных. Соответствующий драйвер FreeBSD называется ichwd.
Итак, если у нас материнка Intel, попробуем сделать так:

   kldload ichwd

В сообщениях ядра (их можно посмотреть командой dmesg) при этом увидим что-то вроде:

   ichwd0: <Intel ICH9R watchdog timer> on isa0
   ichwd0: Intel ICH9R watchdog timer (ICH9 or equivalent)

Теперь ясно, что у нас действительно есть такой таймер. Действуем дальше.

Для автоматической загрузки драйвера добавляем в /boot/loader.conf:

   ichwd_load="YES"

Для запуска демона, "дергающего" watchdog, добавляем в /etc/rc.conf:

   watchdogd_enable="YES"

Этот демон будет периодически "дергать" таймер, сообщая ему, что система все еще жива.
Будьте осторожны с этим демоном! Если убить его как обычно (т.е. 15-м сигналом),
он аккуратно снимет таймер с "боевого дежурства". Но если убить его 9-м сигналом,
то таймер перестанет получать наши сигналы, и решит, что система зависла. Произойдет перезагрузка.

Иногда watchdog надо включить в BIOS. На некоторых платах watchdog есть, но воспользоваться им невозможно.
Иногда при инициализации драйвера появляется ругань на параллельный порт, но ее можно игнорировать.

Проверено на FreeBSD 7.1-BETA2.


URL:
Обсуждается: http://www.opennet.dev/tips/info/1878.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от Samm email(??) on 22-Дек-08, 18:51 
У меня был случай когда ватчдог ресетил сильно перенагруженный тазик, так что совет следует принимать с осторожностью. Решил проблему отрубанием оного, благо и так не висло.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от const86 (ok) on 22-Дек-08, 21:09 
> У меня был случай когда ватчдог ресетил сильно перенагруженный тазик

Не знаю как в фрибсд, но линуксовый демон (а он не один и тот же?) ставит себе планировщик FIFO, так что никто ему не мешает дёргать девайс.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от Samm email(??) on 24-Дек-08, 13:04 
Какой еще "планировщик FIFO"? В многозадачный ОС ядро определяет кто получает процессорное время, а кто нет. Можно играться с приоритетами или выбирать тип системного планировщика, но все равно не в риалтайм ос никто не может гарантировать процессу нужное ему количество времени.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от dimss email on 24-Дек-08, 15:26 
В Linux действительно не гарантируется выделение нужного процессорного времени. Но зато гарантируется, что RT-процесс всегда получит время в ущерб не-RT процессам. Приоритетнее его может быть само ядро (обработка прерываний). Или другой RT-процесс. Так что установка RT-приоритета и блокировка страниц в RAM дадут требуемый результат.


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от const86 (ok) on 25-Дек-08, 03:54 
>Какой еще "планировщик FIFO"?

Да, прогнал... RR он использует :)

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

3. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от Аноним (??) on 23-Дек-08, 02:09 
программный watchdog можно врубить с помощью
    options SW_WATCHDOG
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от Аноним (??) on 23-Дек-08, 02:17 
еще можно задействовать один из процессоров на SMP машине, если собрать ядро с
    options MP_WATCHDOG
и указать номер процессорного ядра через debug.watchdog

Но сие не работает с SCHED_ULE, только с SCHED_4BSD.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от Аноним (??) on 23-Дек-08, 02:18 
>еще можно задействовать

fix: задействовать как аппаратный watchdog

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "Использование аппаратного 'watchdog' во FreeBSD"  +/
Сообщение от PROFIT on 11-Фев-13, 12:58 
# Winbond Watchdog driver
wbwd_load="YES"

$ dmesg
wbwd0: <Winbond 83627DHG IC ver. 5> at port 0x2e-0x2f on isa0

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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