Czy posiadam organ nadzoru?

11

Dość często przy ponownym uruchomieniu komputera pojawia się następujący komunikat o błędzie:

kernel: watchdog watchdog0: watchdog did not stop!

Próbowałem dowiedzieć się więcej o watchdog, robiąc to man watchdog, ale to nie mówi o ręcznym wprowadzaniu. Próbowałem yum list watchdogi okazało się, że nie został zainstalowany. Jednak kiedy patrzę na /devkatalog, w rzeczywistości znalazłem dwóch stróżów:

watchdog i watchdog0

Jestem ciekaw. Czy faktycznie posiadam jakieś stróżów? Dlaczego jądro narzeka, że ​​nie przestało działać po ponownym uruchomieniu?

Przepełnienie pytania
źródło

Odpowiedzi:

7

Najnowocześniejszy sprzęt komputerowy obejmuje funkcje timera nadzorującego. Możesz przeczytać więcej o nich tutaj poprzez wikipedię: Watchdog Timers . Również z dokumentacji jądra Linux:

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

Watchdog Timer (WDT) to układ sprzętowy, który może zresetować system komputerowy w przypadku awarii oprogramowania. Prawdopodobnie już to wiedziałeś.

Zazwyczaj demon przestrzeni użytkownika powiadamia sterownik watchdog jądra za pomocą specjalnego pliku urządzenia / dev / watchdog, że przestrzeń użytkownika wciąż żyje, w regularnych odstępach czasu. Kiedy pojawia się takie powiadomienie, sterownik zazwyczaj informuje sprzętowy organ nadzorczy, że wszystko jest w porządku, i że organ nadzorujący powinien poczekać jeszcze jedną chwilę, aby zresetować system. Jeśli przestrzeń użytkownika ulegnie awarii (błąd pamięci RAM, błąd jądra itp.), Powiadomienia przestaną pojawiać się, a sprzętowy organ nadzorczy zresetuje system (powodując ponowne uruchomienie) po przekroczeniu limitu czasu.

Interfejs API systemu Windows Watchdog jest raczej konstrukcją ad-hoc, a różne sterowniki implementują różne, a czasem niekompatybilne części. Ten plik jest próbą udokumentowania istniejącego użycia i pozwala przyszłym autorom sterowników używać go jako odniesienia.

To SO Q&A zatytułowane: Kto jest odświeżającym stróżem sprzętu w systemie Linux? , obejmuje powiązanie między jądrem systemu Linux a sprzętowym zegarem nadzorującym.

Co z pakietem watchdog?

Opis w RPM wyjaśnia to dość jasno, IMO. watchdogDemon może też pełnić funkcję watchdog oprogramowania lub mogą wchodzić w interakcje z implementacji sprzętowej.

fragment opisu RPM

Program nadzoru może być używany jako potężny demon nadzoru oprogramowania lub może być używany naprzemiennie ze sprzętowym urządzeniem nadzoru, takim jak interfejs sprzętowego sterownika nadzoru IPMI do rezydentnego kontrolera zarządzania płytą główną (BMC). watchdog okresowo pisze do / dev / watchdog; odstęp między zapisami do / dev / watchdog można konfigurować poprzez ustawienia w pliku watchdog sysconfig.

Ten plik konfiguracyjny służy również do ustawienia watchdoga do użycia jako watchdoga sprzętowego zamiast domyślnego działania watchdoga programowego. W obu przypadkach, jeśli urządzenie jest otwarte, ale nie zostało zapisane w skonfigurowanym okresie czasu, wygaśnięcie licznika czasu watchdoga spowoduje ponowne uruchomienie komputera. Podczas działania jako programowy strażnik, możliwość ponownego uruchomienia zależy od stanu komputera i przerwań.

Podczas pracy jako sprzętowy organ nadzorujący, urządzenie zostanie poddane twardemu resetowi (lub jakiejkolwiek akcji skonfigurowanej do podjęcia po wygaśnięciu timera nadzoru) zainicjowanej przez BMC.

slm
źródło
Dzięki, dokumentacja jądra jest przydatna. Wyjaśniając, czy to oznacza, że ​​jądro posiada organ nadzorujący, a użytkownik, ja, nie jest jego właścicielem, ponieważ go nie zainstalowałem?
Przepełnienie pytania
1
@QuestionOverflow - jak rozumiem, system zapewnia funkcję nadzoru (zasadniczo sprzęt). Jądro jest zatem jego właścicielem i zarządza tym sprzętem, tak jak każdy inny sprzęt w systemie. Użytkownik wchodzi w interakcję z nim za pośrednictwem jądra, ale nie posiada go w żadnej oficjalnej formie. Jesteś po prostu jego konsumentem. WDT są używane jako wbudowana ochrona na wypadek, gdyby uruchomione oprogramowanie wiązało sprzęt w nieprzewidziany sposób. Są mechanizmem bezpieczeństwa, który umożliwia systemowi odzyskanie.
slm
Rozumiem ... Ale wydaje mi się, że mogę z nim bezpośrednio współpracować, jeśli zainstaluję watchdoga. Wydaje się, że istnieje plik konfiguracyjny, /etc/watchdog.confktóry bezpośrednio zmienia jego zachowanie.
Przepełnienie pytania
@QuestionOverflow - Spójrz na opis watchdoga w RPM. To wszystko wyjaśnia. Dodam go do mojego A.
slm