Linux, Windows, Odzyskiwanie i Bezpieczne Kasowanie Danych, Serwis Programowo-Sprzętowy, Bezpieczeństwo Sieci oraz Danych, Systemy Automatyki Domowej

Reakcja na krytyczne błędy systemu operacyjnego Linux

Majac klaster wysokiej dostępności, zwykły router oparty na systemie Linux lub tez telefon z systemem Android chcemy żeby w momencie krytycznych błędów, system dalej pracował poprawnie. Niestety nie zawsze jest to możliwe w zależności od typu oraz krytyczności problemu. Co najlepiej wtedy zrobić: zresetować system a najlepiej gdyby się to robiło automatycznie. Linux a bardziej jądro systemu dostarcza takowe mechanizmy,

 

Jak sprawdzić czy mechanizm ten jest uruchomiony:

cat /proc/sys/kernel/panic
0

lub

sysctl kernel.panic
kernel.panic = 0

Zero oznacza ze system nie zresetuje się automatycznie w przypadku wewnętrznego błędu jądra systemu.

Jak go włączyć:

echo "1" > /proc/sys/kernel/panic

lub

sysctl kernel.panic=1

Wartość to ilość sekund po jakiej nastąpi restart systemu po wystąpieniu problemu.

Wartość -1 oznacza natychmiastowy restart bez jakiegokolwiek czekania.

 

Jednak ustawienie tej opcji to nie wszystko. Musimy jeszcze określić na jakie typy błędów system ma zareagować kernel panic a następnie restartem systemu.

Mamy tutaj szereg opcji;

kernel.hardlockup_panic
kernel.hung_task_panic
kernel.panic_on_io_nmi
kernel.panic_on_oops
kernel.panic_on_rcu_stall
kernel.panic_on_unrecovered_nmi
kernel.panic_on_warn
kernel.softlockup_panic
kernel.unknown_nmi_panic
vm.panic_on_oom - brak pamięci

Ustawienie wartości na 1 spowoduje kernel panic i o ile mamy ustawiona wartość kernel.panic to nastąpi restart systemu.

 

W większości dystrybucji możemy te wartości na stale ustawić w pliku konfiguracyjnym /etc/sysctl.conf.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.