LinuxHowtoServersWatchdog
Watchdog pro desky Supermicro
Pozor ! Zatím testováno jenom na desce H8SSL.
Nejprve je potřeba povolit watchdog v BIOS-u, hodnota časovače stačí 5 minut, protože stejne se časovač nastavuje softwarově.
Pro obnovování časovače se použije tenhle program wdt.c:
#include <stdio.h>
#include <stdlib.h>
#include <sys/io.h>
int main(int ac,char *av[])
{
int x,i,j;
iopl(3);
if (ac>1) {
int p = strtol(av[1],NULL,0);
if (p<=0) {
outl(0x2,0x804);
} else {
if (p>500) p = 500;
outl(p,0x808);
outl(0x81,0x804);
}
}
printf("by devik@cdi.cz 2006\n"
"Use: wdt 0 to reset 'fired' flag (0x2)\n"
" wdt n to set new timeout\n\n"
"WDT counter=%d state=0x%X\n",
inl(0x808),inl(0x804));
return 0;
}
Skompilovat a zkopírovat do /usr/local/bin.
Pak nastavit cron aby pravidelne obnovoval hodnotu časovače.
Soubor watchdog uložit do /etc/cron.d
* * * * * root /usr/local/bin/wdt 300
Každou minutu bude nastavovat hodnotu časovače na 300 sekund.
Takže v prípadě že server zatuhne, měl by se po 5 minutach resetovat.