Jak ustalić przyczynę awarii systemu?

10

Mój serwer ulega awarii raz w tygodniu i nie pozostawia żadnego pojęcia, co go powoduje. Sprawdziłem /var/log/messagesi po prostu przestaje nagrywać w pewnym momencie i zaczyna się od informacji z komputera, gdy przeprowadzam twardy restart.

Czy jest coś, co mogę sprawdzić lub zainstalować oprogramowanie, które może ustalić przyczynę?

Używam CentOS 7.

Oto jedyny błąd / problem w moim /var/log/dmesg: https://paste.netcoding.net/cosisiloji.log

[    3.606936] md: Waiting for all devices to be available before autodetect
[    3.606984] md: If you don't use raid, use raid=noautodetect
[    3.607085] md: Autodetecting RAID arrays.
[    3.608309] md: Scanned 6 and added 6 devices.
[    3.608362] md: autorun ...
[    3.608412] md: considering sdc2 ...
[    3.608464] md:  adding sdc2 ...
[    3.608516] md: sdc1 has different UUID to sdc2
[    3.608570] md:  adding sdb2 ...
[    3.608620] md: sdb1 has different UUID to sdc2
[    3.608674] md:  adding sda2 ...
[    3.608726] md: sda1 has different UUID to sdc2
[    3.608944] md: created md2
[    3.608997] md: bind<sda2>
[    3.609058] md: bind<sdb2>
[    3.609116] md: bind<sdc2>
[    3.609175] md: running: <sdc2><sdb2><sda2>
[    3.609548] md/raid1:md2: active with 3 out of 3 mirrors
[    3.609623] md2: detected capacity change from 0 to 98520989696
[    3.609685] md: considering sdc1 ...
[    3.609737] md:  adding sdc1 ...
[    3.609789] md:  adding sdb1 ...
[    3.609841] md:  adding sda1 ...
[    3.610005] md: created md1
[    3.610055] md: bind<sda1>
[    3.610117] md: bind<sdb1>
[    3.610175] md: bind<sdc1>
[    3.610233] md: running: <sdc1><sdb1><sda1>
[    3.610714] md/raid1:md1: not clean -- starting background reconstruction
[    3.610773] md/raid1:md1: active with 3 out of 3 mirrors
[    3.610854] md1: detected capacity change from 0 to 20970405888
[    3.610917] md: ... autorun DONE.
[    3.610999] md: resync of RAID array md1
[    3.611054] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
[    3.611119] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for resync.
[    3.611180] md: using 128k window, over a total of 20478912k.
[    3.611244]  md1: unknown partition table
[    3.624786] EXT3-fs (md1): error: couldn't mount because of unsupported optional features (240)
[    3.627095] EXT2-fs (md1): error: couldn't mount because of unsupported optional features (244)
[    3.630284] EXT4-fs (md1): INFO: recovery required on readonly filesystem
[    3.630341] EXT4-fs (md1): write access will be enabled during recovery
[    3.819411] EXT4-fs (md1): orphan cleanup on readonly fs
[    3.836922] EXT4-fs (md1): 24 orphan inodes deleted
[    3.836975] EXT4-fs (md1): recovery complete
[    3.840557] EXT4-fs (md1): mounted filesystem with ordered data mode. Opts: (null)
Brian Graham
źródło

Odpowiedzi:

6

Jeśli crashkernel/kdumpzainstalowałeś i włączyłeś, powinieneś być w stanie zbadać uszkodzone jądro z względnie łatwą obsługą crash. Na przykład, zakładając, że zawiesiłeś zrzuty jądra są zapisywane pod /var/crash: crash /var/crash/2009-07-17-10\:36/vmcore /usr/lib/debug/lib/modules/uname -r /vmlinux.

Spójrz tutaj i tutaj, aby uzyskać dodatkowe informacje.

Shodanshok
źródło
Naprawiłem /dev/md1 not foundbłąd podczas działania grub2-probei zainstalowałem i skonfigurowałem crashkernel / kdump i poinformuję o tym, jeśli / kiedy ponownie się zawiesi.
Brian Graham,
5

Możesz sprawdzić plik dmesg w /var/log/dmesg, który rejestruje komunikaty jądra. Dziennik komunikatów to tylko rejestrowanie komunikatów o usługach i aplikacjach, a jeśli wystąpi błąd jądra, usługi i aplikacje przestaną działać, ale błąd jądra jest nadal rejestrowany w dmesg.

TooCloudy
źródło
Sprawdziłem dmesg i dmesg.old, oba zawierają tylko informacje o starcie (około 4,8 sekundy). Jedynym „problemem”, jaki widzę, jest to, że dysk startowy lub napędy RAID mają coś złego, ale system naprawia to i działa niezależnie. Sprawdź główny post pod linkiem.
Brian Graham
2
  • test pamięci bios
  • test dysku twardego bios
  • Sprawdź log inteligentnego dysku smartctl /dev/sda -a
  • Inteligentne testy napędu
  • zostaw dmesg -wHuruchomiony w oknie
Jim U
źródło
Przeprowadziłem testy inteligentnych dysków na wszystkich 3 dyskach, są one nieuszkodzone. Mam dmesg -wHuruchomione w oknie (zakładam, aż do ponownego awarii; i nadal mogę odczytać dane wyjściowe po awarii przez SSH). Nie mam fizycznego dostępu do maszyny, czy poproszę hosta o uruchomienie pamięci bios i testów dysku twardego?
Brian Graham