Jak mogę zobaczyć dzienniki na serwerze po zawieszeniu się jądra?

10

Prowadzę produkcyjną maszynę Gentoo Linux, a ostatnio zdarzyła się sytuacja, że ​​serwer zawiesił się w mojej kolokowanej siedzibie, a kiedy tam dotarłem, zauważyłem, że serwer został zawieszony na czymś, co wydawało się zawieszeniem paniki jądra. Ponownie uruchomiłem komputer z twardym ponownym uruchomieniem i byłem rozczarowany, gdy dowiedziałem się, że nigdzie nie mogę znaleźć odrobiny dowodów na to, dlaczego maszyna się zawiesiła.

Czy to prawda, że ​​gdy dokonam twardego restartu, same wiadomości się zgubią, czy też jest ustawienie, które mogę gdzieś powiedzieć w syslog-ng lub może w sysctl, aby przynajmniej zachować dziennik błędów, aby zapobiec takim wypadkom w przyszłości ? Nawiasem mówiąc, korzystam z jądra 2.6.x.

Z góry dziękuję.

Low Kian Seong
źródło

Odpowiedzi:

5

Aby zarejestrować panikę jądra, użycie netconsole jest o wiele łatwiejsze niż użycie łącza szeregowego;)

Na wiki ubuntu znajduje się przydatny wpis, którego można używać w innych wersjach linuksowych ... Pomógł mi na przykład w archlinuxie.

Należy pamiętać, że netconsole można również skonfigurować podczas rozruchu.

Vincent
źródło
4

Zasadniczo w takich sytuacjach skonfigurowałem zdalną konsolę szeregową, a następnie zapisałem wszystko, co pojawia się na konsoli. Można to zrobić, podłączając port szeregowy urządzenia do innego urządzenia za pomocą kabla RS-232. W dzisiejszych czasach może to być trochę trudniejsze, ponieważ porty szeregowe stopniowo znikają, ale myślę, że większość serwerów nadal je ma.

Następnie na innym komputerze uruchom conserver i skonfiguruj rejestrowanie konsoli. Zapewnia to dobry sposób zarówno na rejestrowanie wszystkiego w konsoli, jak i na alternatywną ścieżkę logowania do systemu.

Jeśli nie chcesz konfigurować i administrować innym systemem Linux, alternatywą jest zainstalowanie szeregowego serwera konsoli. Różne firmy, takie jak Avocent, Cyclades i Raritan, produkują te urządzenia, które zapewniają interfejs sieciowy dla 2-48 portów szeregowych. Jednak tego rodzaju rzeczy będą droższe niż zwykłe konfigurowanie innego Linux-a.

Phil Hollenback
źródło
4
Oprócz odpowiedzi Phila, zauważ, że wiele (większość?) * Systemów NIX zrzuci jądro / pamięć RAM na partycję wymiany w przypadku paniki i skopiuje zrzut do /var/crashlub /var/adm/crashpo restarcie, aby umożliwić ci zaatakowanie go za pomocą debugera i zobaczcie, gdzie miała miejsce panika. Konsola szeregowa jest jednak nadal świetną opcją, ponieważ pozwala zobaczyć, co ostatnia rzecz zrobiła serwer przed panic()ing.
voretaq7
0

Możesz spróbować replikować wiadomości syslog na inny komputer. Może nie wszystkie z nich, ale tylko alerty i krytyczne oraz wyłączają dla nich buforowanie.

dtoubelis
źródło