Wat is een WatchDog schakeling

Een WatchDog schakeling let op een apparaat, zoals een computer, en neemt actie zodra het apparaat niet meer functioneert.

In ons geval is het de bedoeling de computers die deel uitmaken van het netwerk van zo'n schakeling te voorzien. Op de computer is dan een klein programmaatje actief dat er voor zorgt dat binnen een zeker tijdsinterval, van de orde van minuten, een teken van leven wordt gegeven aan de schakeling. Dat levensteken kan een berichtje zijn dat naar een van de communicatiepoorten, bijvoorbeeld de serie-poort, van de computer wordt gestuurd. Wanneer de levenstekens niet meer door de schakeling worden ontvangen, dan zal het proberen de computer opnieuw te starten.

Voorbeelden

Het spreekt voor zich, dat er vele uitvoeringen van een WatchDog schakeling in omloop zijn.

Verschillende uitvoeringen

Voorlopig kiezen we voor een externe schakeling die luistert naar de seriepoort en de netspanning van de computer uit-en inschakelt. De overwegingen hiervoor staan hieronder kort weergegeven.

Reset of netspanning schakelen

Het schakelen van de netspanning is vrij rigoreus maar staat er wel garant voor dat, mits de opstartprocedure goed wordt doorlopen, de computer weer normaal werkt. Het schakelen van de reset-knop is veel eenvoudiger maar heeft niet altijd het gewenste effect.

Intern (ISA kaart) of extern

De goedkopere oplossing is vanzelfsprekend een kaartje dat in de comuter kan worden gebouwd. Het eenvoudige voorbeeld hierboven is in wezen een verbouwd kaartje voor een extra serie-poort waarboven op een schakelingetje is gemonteerd.

Er zijn twee nadelen aan deze oplossing verbonden:

Het eerste bezwaar kan worden opgeheven met een ISA kaart - deze heeft toegang tot de reset lijnen en kan deze (lang) laag houden c.q. is het mogelijk bij een ATX voeding om deze aan-en-uit te zetten middels een eigen voeding (Capje) op de ISA kaart. Voor nodemachines van Wireless Leiden is dit niet bruikbaar omdat we alle (4) ISA-slots nodig hebben voor de wireless kaarten.

De Soekris machines hebben een WatchDog schakeling ingebouwd. Zie http://www.soekris.com/ onder products >> net4521.

Een belangrijk voordeel van een extern kastje is dat de veiligheid goed te regelen is. Het schakelen van de netspanning vindt plaats in een aparte omgeving die waterdicht is te maken. Een kabel met een netsteker voor in een wandcontactdoos en een kabel met een eurosteker voor aansluiting op de computer. De aansluiting op de serie- of parallelpoort kan galvanisch gescheiden worden van de computer door een derde kabeltje.

Tenslotte is de installatie van een externe WatchDog schakeling bijzonder eenvoudig want alleen de netkabel moet worden vervangen en er moet een connector worden gestoken in de communicatiepoort.

Serie- of parallelpoort

Seriepoorten van een computer worden nauwelijks gebruikt, behalve voor een muis of voor een extern modem. Parallelpoorten worden normaal gesproken gebruikt voor afdrukapparatuur. Er is geen sterke voorkeur voor een van de twee poorten. In feite kan de schakeling zodanig worden ontworpen dat beide mogelijkheden open blijven.

In de node-machines is alleen een serie-poort echt beschikbaar, maar ook in gebruik voor de aansturing vanuit een andere computer of een laptop (console). Daar kan echter eenvoudig aan tegemoet worden gekomen door twee connectors, een vrouwtje en een mannetje, met elkaar te koppelen tot een geheel. Aan de zijkant kan dan het uitgangssignaal van de PC worden "afgeluisterd" via een ontvanger met een relatief hoge ingangsimpedantie (niet te hoog in verband met storingsgevoeligheid).

Ontwerp parameters

Software aangelegenheden

Een procesje, dat af en toe een levensteken geeft is niet voldoende. Het programma zou b.v. pings naar de loopback interface kunnen doen, geheugenbeschikbaarheid kunnen testen, de schijfwerking kunnen controleren met een schrijf/lees actie......

Een goed voorstel is om dat programmaatje SNMP queries te laten doen om het leven te testen. Het is erg frustrerend als je veel moeite doet om een watchdog te bouwen en dat ding doet gewoon geen reboot terwijl er toch iets essentieel mis is en dat procesje staat vanwege de betrouwbaarheid van Free BSD braaf levenstekens te geven.

Als de keuze valt op het "afluisteren" van de console-poort dan kan eenvoudig een scriptje worden gemaakt dat alles test wat relevant is. Bijvoorbeeld "greps" naar de proceslijst om te zien of een bepaald proces loopt, etc.

Realisatie

Het voornemen is om in samenwerking met het ROC Leiden, in het kader van de MTS-Plus opleiding, het ontwerp van de WatchDog en de bouw van proefmodellen ter hand te nemen. Uiteindelijk zullen er ongeveer 70 gemaakt moeten worden.

Ger Koper

WatchDog (last edited 2009-09-28 06:29:44 by localhost)