¿Cómo determinar la causa del bloqueo del sistema?

10

Mi servidor falla aproximadamente una vez a la semana y no deja ningún tipo de pista sobre lo que lo está causando. Lo he verificado /var/log/messagesy simplemente deja de grabar en algún momento y comienza en la información de publicación de la computadora cuando realizo un reinicio completo.

¿Hay algo que pueda verificar o un software que pueda instalar que pueda determinar la causa?

Estoy ejecutando CentOS 7.

Aquí está el único error / problema en mi /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
fuente

Respuestas:

5

Puede consultar el archivo dmesg en /var/log/dmesg, que está registrando los mensajes del núcleo. El registro de mensajes es solo el registro de mensajes de servicio y aplicación y si tiene un error de kernel, los servicios y las aplicaciones simplemente dejarán de ejecutarse, pero el error del kernel todavía se registra en dmesg.

TooCloudy
fuente
Verifiqué dmesg y dmesg.old, ambos solo contienen la información de inicio (aproximadamente 4,8 segundos). El único "problema" que puedo ver es que el disco de inicio o las unidades RAID parecen tener algo mal, pero el sistema lo soluciona y funciona independientemente. Verifique la publicación principal para ver el enlace.
Brian Graham
5

Si lo ha crashkernel/kdumpinstalado y habilitado, debería poder examinar el kernel bloqueado con relativa facilidad utilizando la crashutilidad. Por ejemplo, suponiendo que ha bloqueado los volcados del kernel se guardan en /var/crash: crash /var/crash/2009-07-17-10\:36/vmcore /usr/lib/debug/lib/modules/uname -r /vmlinux.

Eche un vistazo aquí y aquí para obtener más detalles.

shodanshok
fuente
He reparado el /dev/md1 not founderror cuando lo grub2-probeejecuté e instalé y configuré crashkernel / kdump e informaré si / cuando se bloquea de nuevo.
Brian Graham
2
  • prueba de memoria de bios
  • prueba del disco duro de la BIOS
  • Verifique el registro de la unidad inteligente smartctl /dev/sda -a
  • Pruebas de manejo inteligente
  • dejar dmesg -wHcorrer en una ventana
Jim U
fuente
He realizado pruebas de unidades inteligentes en las 3 unidades, no están corrompidas. Me he estado dmesg -wHejecutando en una ventana (supongo que hasta que vuelva a fallar; y aún puedo leer la salida después del bloqueo sobre SSH). No tengo acceso físico a la máquina, ¿le pido a mi host que ejecute las pruebas de memoria de la BIOS y del disco duro?
Brian Graham