Kdump y métodos de configuración de fallas y métodos de análisis de fallas

  
 

kernel de Linux es muy estable, pero aún así inevitablemente se encontrará con una situación de choque, el acceso a la duplicación de memoria cuando el pánico del kernel, ayudar a analizar lo que ocurrió antes del choque del sistema, analizar las causas y corregir errores, y por lo tanto mejorar aún más el sistema de La estabilidad [Texto]

Acerca de un kdump
kdump es el mecanismo más eficaz para recoger la memoria Linux reflejo, ampliamente utilizado en las principales proveedores de Linux de diversos productos, desempeña un importante insustituible en términos de núcleo de depuración Funcion Kdump se basa en el mecanismo de captura de accidente kexec núcleo de Linux, la duplicación de memoria guarda antes del colapso del núcleo, los programadores del kernel para averiguar la causa del accidente, analizando el archivo, por lo que el sistema se mejora. Kdump para el reflejo de volcado de memoria, no sólo puede ser descargado en la memoria del disco duro local reflejo, reflejo también puede ser un volcado de memoria de los dispositivos en diferentes máquinas por parte del NFS, protocolo SSH y similares. Kdump se divide en dos componentes: Kexec y Kdump. Kexec es un núcleo de la herramienta Inicio rápido, puede hacer que el nuevo arranque del kernel en el contexto del núcleo (kernel de producción) se está ejecutando sin la necesidad de facilitar a los desarrolladores del kernel para depurar el kernel mediante el BIOS detecta que consume tiempo. volcado de memoria kdump es una herramienta eficaz, Habilitación kdump, la producción seguirá siendo parte del espacio de memoria del núcleo utilizado por Kexec de inicio rápido para el nuevo núcleo en el accidente del núcleo, este proceso no es necesario reiniciar el sistema, por lo que puede volcar Una imagen de memoria de un núcleo de producción estrellado.;

Configuración de instalación de dos kdump

2.1 Paquete de instalación
Las diversas herramientas utilizadas por Kdump están en kexec-tools. Kernel-debuginfo se utiliza para analizar archivos vmcore. A partir de rhel5, kexec-tools se ha instalado de forma predeterminada en la distribución. Si necesita depurar el archivo vmcore generado por kdump, debe instalar manualmente el paquete kernel-debuginfo. Comprobar el funcionamiento del paquete de instalación, y la atención kernel-debuginfo kernel-debuginfo versión del kernel y la versión a ser coherentes: perfil de configuración 2.2 kdump


agregar el parámetro del núcleo archivo /boot/grub/grub.conf " crashkernel = Y @ X ", donde Y es la memoria reservada para el kernel de captura kdump, y X es la posición inicial para la porción reservada de la memoria. Para i386 y x86_64, edite /etc/grub.conf y agregue "crashkernel = 128M" al final de la línea del kernel. También se recomienda no establecer a crashkernel = auto, porque la introducción de "rhel6" ya está abandonada.

2.3 Configurar algunos parámetros de kdump. Bajo
archivos predeterminados kdump almacenados en el disco /var /crash /directorio duro local, la ubicación puede ser un directorio local del sistema de archivos, o un dispositivo de bloque, o en otras máquinas, puede modificar el archivo almacenado por la red : /etc/kdump.conf…#raw cat /dev /sda5 (si es escrito en el dispositivo en bruto, es necesario comentar la línea) # ext4 /dev /sda3 (designado por escrito para el tipo de sistema de archivos del dispositivo y la partición) # ext4 LABEL = /boot (UUID y la etiqueta para apoyar dispositivo de identificación) # UUID = 03138356-5e61-4ab3-b58e-27507ac41937 # my.server.com:/export/tmp red (NFS modo de escritura) ext4 usuario @ #net mi .server.com (modo de escritura SSH) ruta /var /crash (guardado ruta del archivo de imagen de memoria) core_collector makedumpfile -c --message de nivel 1 -d 31 (la configuración se guarda nivel de contenido de imagen de memoria, -c makedumpfile indicación datos comprimidos, - el nivel de mensaje-devel información de presentación 1 que muestra, la información 1 representa la pantalla 31 muestra no sólo el progreso de la copia puede eliminar todas las páginas de memoria, incluyendo la página cero, ca-d. página che, caché privada, los datos del usuario, la página libre, etc.) cáscara #default (para representar una acción si falla el espejo volcado de memoria kdump, el valor predeterminado es montar un sistema de archivos raíz y ejecuta /sbin /init proceso, se puede cambiar a reinicio , detener, apagado, shell, etc.)

2.4 Configure el servicio kdump para que arranque desde el inicio.

2.5 Verifique que la configuración sea exitosa.
Use el comando para iniciar el bloqueo del kernel, como generar un archivo de imagen del kernel en el directorio especificado, lo que indica que la configuración se realizó correctamente.

Three crash Introduction
crash es una herramienta de análisis ampliamente utilizada para los archivos de volcado de volcado del kernel de Linux. Dominar las sugerencias de bloqueo es muy importante para analizar y localizar los fallos del kernel. Para los desarrolladores de kernel, crash se ha convertido en una herramienta indispensable.

Cuatro configuraciones de bloqueo y uso inicial

4.1 Verifique el paquete de instalación

4.2 Use crash para analizar el archivo de volcado de memoria.
dos parámetros son el núcleo de depuración y archivo de volcado, es decir, con el colapso del núcleo de depuración de información y documentos volcado de memoria: el significado de los parámetros es: Kernel y mdash; — depuración del núcleo representa la ubicación y la información de la versión DUMPFILE — — volcado de memoria CPUS reflejo representado analizado — — representa el número de unidad de CPU FECHA — — representa el tiempo crash kernel se produjo el tiempo de actividad y mdash; — representa el tiempo kernel es una normal medio &mdash carga de funcionamiento; — representa un accidente kernel La carga del sistema TASKS — — indica la cantidad de tareas que el sistema está ejecutando cuando el kernel se bloquea. NODENAME — El nombre de host de la máquina que parece ser kernel Consigna las reglas.; — arquitectura de CPU y la frecuencia de la información representa la memoria y el mdash; — tamaño de la memoria representa el sistema de generación núcleo accidente PÁNICO y mdash; — indica el tipo de accidente. Puede haber Pet Sis, a saber, a través de la caída del sistema solicitando kernel causado; Vaya, representa el comportamiento impredecible de núcleo se ha producido o incorrecta, entonces matar el proceso correspondiente, el núcleo puede volver a la normalidad, o puede estar en un estado de incertidumbre , lo que llevó a pánico del kernel; Pannic, un kernel panic, se ha producido el error grave e irreparable, como la dirección ocurrido el acceso ilegal, obligado a cargar o descargar los módulos del núcleo, y los errores de hardware, etc. PID y mdash; — representa caída, el núcleo la COMANDO número de proceso — — representa un proceso que conduce a un núcleo nombre accidente TASK — — representa causa dirección de memoria del núcleo para bloquear el proceso de acceso a la CPU — — representa que conduce al número de proceso de núcleos de CPU colapso toma STATE — — representa un núcleo de plomo estado de funcionamiento del proceso de la caída de la información anterior se puede utilizar para el análisis preliminar de la causa del colapso del modo de núcleo, de almendra de tres tipos de errores, a saber, insecto, oops y pánico. clasificado como error error menor, perdón en nombre de un error de proceso de usuario, lo que necesita para matar el proceso de usuario, entonces, si los procesos de usuario se bloquean ciertas señales, se bloquean nunca será dado a conocer las señales, lo que puede conducir a la posible inestabilidad del sistema El sexo El pánico es un grave error que representa la caída del sistema completo. El análisis en profundidad requiere más comandos para rastrear y encontrar, y requiere una cierta comprensión del mecanismo operativo del kernel y la programación del desarrollo del kernel.

4.3 choque comandos de uso frecuente
información de ayuda # ver la ayuda del comando, comando man también se puede utilizar para ver los comandos # historial h, historylog equivalente en cáscara # Este comando se utiliza para imprimir la memoria de la información del registro con el comando bt # proceso ps cuando la pila de llamadas para conseguir pila de llamadas foreach bt del hilo actual # este comando se utiliza para obtener todos los hilos # este comando se utiliza para ver la información de pánico del kernel vm # este comando se utiliza para ver el contexto actual de los archivos de información de memoria del núcleo virtual # el archivo de comandos para ver la salida o q # abierta la salida contexto actual del núcleo Crash

4.4 utilizando el comando para comprobar la pila bt
[RIP excepción: sysrq_handle_crash + 22] se visualiza el campo, a excepción puntero de instrucción se produce debido a que el núcleo La función sysrq_handle_crash tiene un error con un desplazamiento de 22. Como puede ver, esto también está relacionado con el sistema de archivos. CS: 0010 campo indica el registro de segmento código de información, el bit menos significativo es 0, lo que indica el nivel de privilegio del proceso actual (CPL) es 0, lo que indica un error en el espacio del núcleo.

4,5 log de impresión de comandos búfer de mensajes del sistema, lo que puede encontrar una pista de parada del sistema (pantalla parte de la línea se ha omitido, y sólo aparecerá al final) y
similares bt resultados, imprima la información de pila del núcleo a través de las llamadas al sistema de rastreo de llamadas Para el análisis.

El comando 4.6 ps se usa para mostrar el estado del proceso.
(Figura) El indicador > representa el proceso activo.
donde swapper representa el proceso de intercambio del sistema, es parte del kernel, responsable de la programación de las tareas del kernel, su pid es 0, cada CPU tendrá un proceso de swapper. Aquí puede ver el estado del proceso bash que causó que el núcleo se bloquee, el número de proceso es 1728.

4.7 archivos de comandos para ver el contexto actual del núcleo de archivos abiertos Cómo puede ver los archivos relacionados con las operaciones /proc/sysrq-trigger

4.8 comando vm para ver la información de la memoria virtual

4.9 montar comando para comprobar el estado montado

4,10 comando net sencilla para ver información de la red

V. conclusiones
cuando se bloquea el kernel de Linux pueden ser recogidos por fallo en el núcleo kdump, etc., antes de Memoria, generar un archivo volcado vmcore. Al analizar el archivo vmcore, el desarrollador del kernel puede diagnosticar la causa de la falla del kernel y mejorar el código del sistema operativo . Crash es una herramienta de análisis de archivos de volcado de fallos del kernel ampliamente utilizada. A través de la estrecha cooperación de kdump y crash, muchos problemas pueden ser eliminados.

Copyright © Conocimiento de Windows All Rights Reserved