Erinevus lehekülje "FreeBSD Watchdog" redaktsioonide vahel

Allikas: Kuutõrvaja
(FreeBSD kerneli baasil toimiv Watchdog)
5. rida: 5. rida:
 
Watchdog on mikrokontrollerites levinud lahendus. Igasugustes väikestes
 
Watchdog on mikrokontrollerites levinud lahendus. Igasugustes väikestes
 
kivides, pultides jms kohtades. Andes nii neile suure töökindluse.
 
kivides, pultides jms kohtades. Andes nii neile suure töökindluse.
 +
 +
Osad Emaplaadid on samuti varustatud spetsiaalse seadmega mis teeb restardi kui OS pole endast mõni
 +
aeg märka andnud. Seda kutsutakse "hardware watchdog timer"
  
 
BSD saab läbi kerneli panna tiksuma watchdog countdowni...ehk mahalugemise. Kuni töötab teatud deemon (watchdogd) siis lükkab see deemon iga sekundi järel countdowni nulli. Kui aga masin panges siis jookseb countdown lõpuni ja emaplaat teeb masinale reboodi.
 
BSD saab läbi kerneli panna tiksuma watchdog countdowni...ehk mahalugemise. Kuni töötab teatud deemon (watchdogd) siis lükkab see deemon iga sekundi järel countdowni nulli. Kui aga masin panges siis jookseb countdown lõpuni ja emaplaat teeb masinale reboodi.
 
Mitte päris täielik lahendus aga asjalik kindlasti.
 
Mitte päris täielik lahendus aga asjalik kindlasti.
  
FreeBSD sisaldab tarkvaralist watchdog võimalust mis viib masina rebooti kui kui see peaks kokku jooksma.
+
Laadime ichwd mooduli. Täpsem nimetus asjal Intel ICH watchdog interrupt timer. NB! Kui emaplaat ei toeta seda lahendust saab kasutada vaid tarkvaralist ehk kernelisse endasse sisseehitatud timerit mis pole kaugeltki sama tõhus.
 
 
Laadime ichwd mooduli. Täpsem nimetus asjal Intel ICH watchdog interrupt timer.
 
NB! Kui emaplaat ei toeta seda lahendust saab kasutada vaid tarkvaralist ehk kernelisse endasse
 
sisseehitatud timerit mis pole kaugeltki sama tõhus.
 
  
 
  # kldload ichwd
 
  # kldload ichwd
26. rida: 25. rida:
  
 
  ichwd_load="YES"
 
  ichwd_load="YES"
 
Esiteks on vaja ehitada kernel võtmega:
 
 
options SW_WATCHDOG
 
  
 
Teiseks on vaja lisada faili /etc/rc.conf rida
 
Teiseks on vaja lisada faili /etc/rc.conf rida
36. rida: 31. rida:
  
 
Peale järgmist rebooti käivitatakse watchdogd deemon. Deemon käib iga sekund
 
Peale järgmist rebooti käivitatakse watchdogd deemon. Deemon käib iga sekund
kerneli kaudu emaplaadil asuvat timerit resetimas. Kui deemon pole aga 16 sekundit timerit restartinud
+
kerneli kaudu emaplaadil asuvat timerit resetimas.
satub kernel paanikasse, väljastab katkestuste kohta info ja teeb reboodi.
 
  
 
Watchdogi saab sundida käivitama spetsiifilisi käske süsteemi kontrolliks, nt
 
Watchdogi saab sundida käivitama spetsiifilisi käske süsteemi kontrolliks, nt
72. rida: 66. rida:
  
 
Siis tuleb bios'ist kõigepealt watchdog lubada.
 
Siis tuleb bios'ist kõigepealt watchdog lubada.
 +
 +
Juhul kui emaplaat ei toeta raudwaralist watchdogi on võimalik kasutada ka tarkvaralist võimalust ehk lisada see kernelisse. Selline lahendus pole küll nii tõhus nagu on riistvaraline aga asi seegi. Kasutamiseks tuleb ehitada kernel võtmega:
 +
 +
options SW_WATCHDOG
 +
 +
Seejärel tuleb käivitada watchdogd deemon nagu ülal kirjeldatud. Kui deemon pole aga 16 sekundit timerit restartinud
 +
satub kernel paanikasse, väljastab katkestuste kohta info ja teeb reboodi.

Redaktsioon: 29. november 2011, kell 17:37

                                        Roheline.jpg Toores. Ehk seda pala võib täiendada.

FreeBSD kerneli baasil toimiv Watchdog

Watchdog on mikrokontrollerites levinud lahendus. Igasugustes väikestes kivides, pultides jms kohtades. Andes nii neile suure töökindluse.

Osad Emaplaadid on samuti varustatud spetsiaalse seadmega mis teeb restardi kui OS pole endast mõni aeg märka andnud. Seda kutsutakse "hardware watchdog timer"

BSD saab läbi kerneli panna tiksuma watchdog countdowni...ehk mahalugemise. Kuni töötab teatud deemon (watchdogd) siis lükkab see deemon iga sekundi järel countdowni nulli. Kui aga masin panges siis jookseb countdown lõpuni ja emaplaat teeb masinale reboodi. Mitte päris täielik lahendus aga asjalik kindlasti.

Laadime ichwd mooduli. Täpsem nimetus asjal Intel ICH watchdog interrupt timer. NB! Kui emaplaat ei toeta seda lahendust saab kasutada vaid tarkvaralist ehk kernelisse endasse sisseehitatud timerit mis pole kaugeltki sama tõhus.

# kldload ichwd

Väljund

ichwd module loaded
ichwd0: <Intel ICH7 watchdog timer> on isa0
ichwd0: Intel ICH7 watchdog timer (ICH7 or equivalent)

loader.conf fiali

ichwd_load="YES"

Teiseks on vaja lisada faili /etc/rc.conf rida

watchdogd_enable="YES"

Peale järgmist rebooti käivitatakse watchdogd deemon. Deemon käib iga sekund kerneli kaudu emaplaadil asuvat timerit resetimas.

Watchdogi saab sundida käivitama spetsiifilisi käske süsteemi kontrolliks, nt

watchdogd_flags="-e /bin/ps"

Või

watchdogd_flags="-e 'ls -al /etc'"

Faili /etc/sysctl.conf oleks soovitatav lisada järgnevad read:

# selleks, et paanika korral tehtaks reboot mitte ei laskutaks debugerisse
debug.debugger_on_panic=0

# et paanikas ei proovitaks peale paanikat suurt dump faili kettale kirjutada (mis võib takistada masinal restarti teha)
kern.coredump=0

and have modified /etc/rc.d/watchdogd to pass "-t 300" to the daemon instead of the default 16.

Probleemide korral, ehk kui käsk:

# kldload ichwd

Väljastab:

chwd module loaded
ichwd0: <Intel 63XXESB watchdog timer> on isa0
ichwd0: ICH WDT present but disabled in BIOS or hardware
device_attach: ichwd0 attach returned 6
ppc0: cannot reserve I/O port range

Siis tuleb bios'ist kõigepealt watchdog lubada.

Juhul kui emaplaat ei toeta raudwaralist watchdogi on võimalik kasutada ka tarkvaralist võimalust ehk lisada see kernelisse. Selline lahendus pole küll nii tõhus nagu on riistvaraline aga asi seegi. Kasutamiseks tuleb ehitada kernel võtmega:

options SW_WATCHDOG

Seejärel tuleb käivitada watchdogd deemon nagu ülal kirjeldatud. Kui deemon pole aga 16 sekundit timerit restartinud satub kernel paanikasse, väljastab katkestuste kohta info ja teeb reboodi.