Possiedo un cane da guardia?


11

Molto spesso quando eseguo un riavvio, ricevo il seguente messaggio di errore:

kernel: watchdog watchdog0: watchdog did not stop!

Ho provato a scoprire di più sul watchdog facendo man watchdog, ma non dice l'inserimento manuale. Ho provato yum list watchdoge ho scoperto che non era installato. Tuttavia, quando guardo la /devdirectory, in realtà ho trovato due cani da guardia:

watchdog e watchdog0

Io sono curioso. Possiedo effettivamente dei cani da guardia? Perché il kernel si lamenta che non si è fermato quando faccio un riavvio?

Risposte:


7

La maggior parte dei moderni hardware per PC include funzionalità di timer di watchdog. Puoi leggere di più su di loro qui tramite wikipedia: timer watchdog . Anche dai documenti del kernel Linux:

estratto - https://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt

Un timer watchdog (WDT) è un circuito hardware che può ripristinare il sistema del computer in caso di un errore del software. Probabilmente lo sapevi già.

Di solito un daemon di userspace notificherà al driver watchdog del kernel tramite il file speciale dispositivo / dev / watchdog che lo spazio utente è ancora attivo, a intervalli regolari. Quando si verifica tale notifica, il driver in genere comunica al watchdog hardware che tutto è in ordine e che il watchdog dovrebbe attendere ancora un po 'di tempo per ripristinare il sistema. Se lo spazio utente non riesce (errore RAM, bug del kernel, ecc.), Le notifiche cessano di verificarsi e il watchdog hardware ripristinerà il sistema (causando un riavvio) dopo il timeout.

L'API watchdog di Linux è una costruzione piuttosto ad-hoc e driver diversi implementano parti diverse, e talvolta incompatibili. Questo file è un tentativo di documentare l'utilizzo esistente e consentire ai futuri autori di driver di utilizzarlo come riferimento.

Questo D&R SO intitolato, Chi sta aggiornando il watchdog hardware in Linux? , copre il collegamento tra il kernel Linux e il timer watchdog hardware.

Che dire del pacchetto watchdog?

La descrizione nell'RPM lo rende abbastanza chiaro, IMO. Il watchdogdemone può agire come un watchdog del software o può interagire con l'implementazione dell'hardware.

estratto dalla descrizione di RPM

Il programma watchdog può essere utilizzato come un potente demone watchdog software o può essere utilizzato alternativamente con un dispositivo watchdog hardware come l'interfaccia del driver watchdog hardware IPMI con un BMC (Baseboard Management Controller) residente. watchdog scrive periodicamente su / dev / watchdog; l'intervallo tra le scritture in / dev / watchdog è configurabile tramite le impostazioni nel file sysconfig del watchdog.

Questo file di configurazione viene utilizzato anche per impostare il watchdog da utilizzare come watchdog hardware anziché come operazione di watchdog software predefinita. In entrambi i casi, se il dispositivo è aperto ma non è stato scritto entro il periodo di tempo configurato, la scadenza del timer del watchdog attiverà un riavvio della macchina. Quando si opera come un watchdog del software, la possibilità di riavviare dipenderà dallo stato della macchina e dagli interrupt.

Quando funziona come un watchdog hardware, la macchina subirà un hard reset (o qualunque azione sia stata configurata per essere presa alla scadenza del timer del watchdog) avviata dal BMC.


Grazie, il documento del kernel è utile. Per chiarire, questo significa che il kernel possiede un cane da guardia e l'utente, io, non ne possiedo uno poiché non ne ho installato nessuno?
Domanda Overflow

1
@QuestionOverflow: come ho capito, il sistema fornisce la funzione di watchdog (essenzialmente hardware). Il kernel quindi lo possiede e gestisce questo hardware proprio come farebbe qualsiasi altro componente hardware all'interno del sistema. L'utente interagisce con esso tramite il kernel, ma non lo possiede a titolo ufficiale. Ne sei semplicemente un consumatore. I WDT vengono utilizzati come protezione integrata, nel caso in cui il software in esecuzione leghi l'hardware in modi imprevisti. Sono un meccanismo di sicurezza che consente al sistema di recuperare.
slm

Vedo .. Ma sembra che io sia in grado di interagire direttamente con esso se installo watchdog. Sembra che ci sia un file di configurazione /etc/watchdog.confper modificarne direttamente il comportamento.
Domanda Overflow

@QuestionOverflow - Dai un'occhiata alla descrizione del watchdog nell'RPM. Spiega tutto. Lo aggiungerò al mio A.
slm
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.