so3 - 09 linux trobleshooting
Post on 24-Oct-2015
27 Views
Preview:
TRANSCRIPT
Sistemas Operativos III
Solución de Problemas en Linux 1
Unidad 09Troubleshooting
Copyright © 2007 por TECSUP
Redes y Comunicaciones de Datos
Sistemas Operativos III
Solución de Problemas en Linux 2
2
Introducción
� La resolución de problemas (troubleshooting) es una ciencia y un arte.� La ciencia viene desde los conceptos de hipótesis,
experimentación, comparación y reproducción de resultados.� El arte viene dado por el hecho de que los sistemas operativos,
servicios y aplicaciones no siempre trabajaran como esperamos.
� Existe una serie de errores que ya están reportados o que usted podría registrar en: http://bugzilla.redhat.com
� En esta unidad trataremos la resolución de problemas en Linux, incluyendo la revisión de los “logs” y herramientas para determinar las causas de los problemas y los modos de recuperación.
Sistemas Operativos III
Solución de Problemas en Linux 3
3
Objetivos
� Conocer el concepto de troubleshooting.� Auditar el sistema a través de los archivos de log.� Identificar los archivos “logs” más importantes.� Identificar los diferentes elementos a verificar.� Ejecutar diferentes modo de recuperación en caso
de fallos.
Sistemas Operativos III
Solución de Problemas en Linux 4
4
Contenido
� Auditando el Sistema:� Archivos de log.� Tipos.� Visualización.
� ¿Que debemos verificar?� Modos de Recuperación.
� Modo Mantenimiento.
� Disco de Inicio.� Entorno de Rescate.
Sistemas Operativos III
Solución de Problemas en Linux 5
Auditando el sistema
Departamento de informática
Sistemas Operativos III
Solución de Problemas en Linux 6
6
Archivos Log (/var/log)
� Casi todas las actividades realizadas en un sistema Linux son susceptibles de ser, en mayor o menor medida, monitorizadas: desde las horas de acceso de cada usuario al sistema hasta las páginas web más frecuentemente visitadas.
� Esta facilidad de Linux para recoger información tiene ventajas para la seguridad: es posible detectar intentos de ataques, detectar usos indebidos de los recursos o actividades “sospechosas”.
� Sin embargo, también existen desventajas, ya que la gran cantidad de información que potencialmente se registra puede hacer difícil la detección de problemas dado el volumen de datos a analizar.
El sistema operativo deja información acerca del núcleo, los servicios, las aplicaciones y lo que está ocurriendo en el sistema.
Esta información es muy importante para detectar intentos no autorizados, cómo se comporta un manejador, seguridad, estadísticas, detección de problemas, etc.
La información se envía en forma de mensajes a unos archivos conocidos como Archivos de Registro o Archivos de Log. Estos archivos de Log son escritos por el núcleo, por los servicios o por las aplicaciones.
Algo muy interesante de los archivos log en linux es que la mayoría de ellos son simples archivos de texto, que se pueden visualizar con un simple cat. Por una parte esto es bastante cómodo para el administrador del sistema, ya que no necesita de herramientas especiales para poder revisar los logs.
La mayoría de archivos log están localizados en el directorio /var/log .
Sistemas Operativos III
Solución de Problemas en Linux 7
7
Demonio syslogd
� Algunos de los archivos log son controlados por el demonio llamado syslogd , que utiliza el archivo de configuración /etc/syslog.conf que mantiene una lista de archivos log.
� Los mensajes del núcleo los recoge klogd y se pasan a syslogd para que los escriba.
El demonio syslogd (Syslog Daemon) se lanza automáticamente al arrancar un sistema Linix, y es el encargado de guardar informes sobre el funcionamiento de la máquina.
Recibe mensajes de las diferentes partes del sistema (núcleo, programas...) y los envía y/o almacena en diferentes localizaciones, tanto locales como remotas, siguiendo un criterio definido en el archivo de configuración /etc/syslog.conf, donde especificamos las reglas a seguir para gestionar el almacenamiento de mensajes del sistema.
Sistemas Operativos III
Solución de Problemas en Linux 8
8
Demonio syslogd
� /etc/syslog.conf
Las líneas de este archivo que comienzan por ‘#’ son comentarios, por lo que son ignoradas de la misma forma que las líneas en blanco. Si ocurriera un error al interpretar una de las líneas del archivo, se ignoraría la línea completa.
Podemos ver que cada regla del archivo tiene dos campos: un campo de selección y un campo de acción, separados ambos por espacios o tabuladores.
El campo de selección está compuesto a su vez de dos partes separadas por un punto: una que indica el servicio que envía el mensaje y otra que marca su prioridad, separadas por un punto (.). Ambas son indiferentes a mayúsculas y minúsculas.
Sistemas Operativos III
Solución de Problemas en Linux 9
9
Tipos de archivos de log
� Existen diferentes archivos que registran lo que estáocurriendo en el sistema. Entre ellos, podemos mencionar� messages - mensajes del sistema.
� secure - mensajes de seguridad.� boot.log y dmesg - información de inicio y apagado,
incluyendo errores en el hardware al inicio. � wtmp - registra quiénes estuvieron en el sistema y cuándo.� lastlog - nos muestra, para cada usuario, cuándo fue la
última vez que entró en el sistema.� btmp - lista los intentos de ingreso fallidos.
Algunas aplicaciones como httpd y samba poseen un directorio propio en /var/log para sus archivos de log.
En función de la configuración del sistema de auditoría de cada equipo Linux, los eventos que sucedan en la máquina se registrarán en determinados archivos.
Aunque podemos loggear en cualquier archivo (incluso a través de la red o en dispositivos, como ya hemos comentado y luego veremos con mayor detalle), existen ciertos archivos de registro ‘habituales’ en los que se almacena información. A continuación vamos a comentar los más comunes y la información que registra cada uno de ellos.
Sistemas Operativos III
Solución de Problemas en Linux 10
10
Visualizando los archivos Log
Visor de registros del sistema
Algunos archivos log están en formato texto y pueden visualizarse con el comando less o un editor de texto.
Existen algunos comandos que permiten obtener información de los archivos log. Entre ellos tenemos:
last : Nos da información acerca de los últimos usuarios que han entrado es el sistema (wtmp).
lastlog : Muestra la ultima vez que cada usuario entró al sistema (lastlog).
lastb : Muestra los intentos de ingreso fallido (btmp)
RedHat tiene su propia herramienta gráfica Visor de registros del sistema, o el comando redhat-logviewer
Sistemas Operativos III
Solución de Problemas en Linux 11
11
Archivo log “messages”
� Es el archivo principal para detectar problemas en el sistema.
� Los mensajes son escritos por el núcleo (kernel).� Para visualizar los mensajes del núcleo utilizamos el
comando grep:grep kernel /var/log/messages
� Formato del archivo:fecha, hora, máquina, proceso que genera el mensaje, mensaje.sep 30 19:20:14 serdis kernel Floppy drive(s): fd0 is 1.44M
En este archivo de texto se almacenan datos ‘informativos’ de ciertos programas, mensajes de baja o media prioridad destinados más a informar que a avisar de sucesos importantes, como información relativa al arranque de la máquina.
No obstante, como sucedía con el archivo syslog, en función de /etc/syslog.conf podremos guardar todo tipo de datos.
Sistemas Operativos III
Solución de Problemas en Linux 12
12
logrotate
� Para evitar que los archivos log crezcan indefinidamente con los mensajes, se hace que sean circulares, de forma que la información se mantiene un cierto tiempo (cuatro semanas). xxx, xxx.1, xxx.2, xxx.3, xxx.4.
� El paquete logrotate contiene una tarea de cron que hace circular automáticamente los archivos de log.
� Utiliza el archivo de configuración /etc/logrotate.conf y los archivos de configuración en el directorio /etc/logrotate.d
Logrotate esta diseñado para administrar fácilmente los sistemas que generan grandes cantidades de archivos de Log. Logrotate permite rotación automática, compresión, eliminación y envío de correo de los archivos de Log. Cada archivo de Log puede ser manejado diariamente, semanalmente, mensualmente o cuando crece demasiado.
Sistemas Operativos III
Solución de Problemas en Linux 13
¿Que debemos verificar?
Departamento de informática
Sistemas Operativos III
Solución de Problemas en Linux 14
14
¿Que debemos verificar?
� Revisar X-Windows.� Revisar “logs” de los servicios.� Revisar parámetros de red.� Revisar elementos de Hardware y Módulos.� Verificar configuración de arranque.� Corrupción de Filesystem.
Para poder hacer TROBLESHOOTING debemos revisar sistemáticamente el
sistema operativo, para esto presentamos una lista básica de elementos que se
deberían revisar.
Sistemas Operativos III
Solución de Problemas en Linux 15
15
Revisar X-Window
� Pruebe el programa de configuración:� system-config-display
� Inicie el servidor X-Window en modo de prueba:� X –probeonly
� La cuenta de usuario debe tener espacio en el disco duro para crear los archivos temporales de X-Window:� /home� /tmp
Nunca depure (debug) mientras este en Runlevel 5.
Uno de los problemas clásicos que podemos encontrar en la configuración del modo gráfico es el seteo de la frecuencia del monitor. Cuando ésta es configurada en un valor incorrecto, el monitor no muestra ninguna imagen y por lo tanto no se puede realizar ninguna corrección, para solucionar esto debemos iniciar en modo init 3 y reconfigurar la configuración del servidor X con el comando system-config-display (en CentOS).
Sistemas Operativos III
Solución de Problemas en Linux 16
16
Revisar Servicios
� Revise el registro (log) de los servicios:
� BIND, DHCP, NFS, etc. : /var/log/messages
� Sendmail, IMAP, POP, procmail : /var/log/maillog� Apache : /var/log/httpd
� Samba : /var/log/samba
El funcionamiento de los servicios puede ser monitoreado usando el comando ps que permite listar los procesos y su estado, y para conocer en mayor detalle los eventos debemos revisar los archivos de log de cada servicio.
Sistemas Operativos III
Solución de Problemas en Linux 17
17
Revisar parámetros de Red
� La resolución de Hostname� ping, host, dig
� Configuración del protocolo IP� ifconfig
� Default Gateway� Problemas de enrutamiento
� route
Sistemas Operativos III
Solución de Problemas en Linux 18
18
Revisar Hardware reconocido y Módulos
� Hardware:� Listas dispositivos PCI: # lspci� Relación de Hardware detectado:� # cat /etc/sysconfig/hwconf
� Módulos� Visualizar ���� # lsmod� Informar ���� # modinfo –d [modulo]� Desactivar ���� # rmmod [modulo]� Activar ���� # modprobe [modulo]
El archivo hwconf lista todo el hardware que KUDZU ha detectado en el sistema. El programa KUDZU detecta y configura hardware nuevo o que ha cambiado. Este archivo no es editado manualmente, cualquier línea que sea editada será cambiada cada vez que un dispositivo nuevo sea agregado.
Sistemas Operativos III
Solución de Problemas en Linux 19
19
Verificar configuración de Arranque (Booting)
� Configuración del gestor de arranque:� lilo.conf, grub.conf
� Parámetros del Kernel.� Archivos de inicio:
� /sbin/init� /etc/rc.d/rc.sysinit� /etc/rc.d/rc, /etc/rc.d/rc?.d� /etc/rc.d/rc.local� X
Errores en el arranque
No se muestra el logotipo de bienvenida o el prompt de Lilo aparece incompleto
GRUB o LILO no están configurados adecuadamente.
El Boot sector está dañado o corrupto.
La configuración de la BIOS ha sido cambiada: esquema de direccionamiento del disco.
El Kernel no carga del todo o carga parcialmente
Imagen del Kernel esta dañado: /boot/vmlinuz
Parámetros incorrectos pasados al Kernel por el Boot loader.
Sistemas Operativos III
Solución de Problemas en Linux 20
20
Errores en el arranque
� El Kernel carga completamente pero hay un “panic” o falla cuando está tratando de montar el filesystem “root” y en la ejecución de: /sbin/init� El boot loader está mal configurado.� /sbin/init o /etc/inittab están dañados o corruptos.� El filesystem root está dañado, no se puede montar.
Kernel carga completamente, /etc/rc.d/rc.sysinit es iniciado pero luego es interrumpido:
/bin/bash está borrado o corrupto.
/etc/fstab puede tener un error.
Error en el RAID o las asignaciones de las cuotas (quota).
Los filesystems están dañados
Errores en el runlevel
Un servicio depende de otro servicio el cual no está especificado en un determinado runlevel.
Errores específicos al servicio.
Sistemas Operativos III
Solución de Problemas en Linux 21
21
Corrupción del Filesystem
� Error común después de una “caida” o un apagado en forma inapropiada.� En “ext2” cuando no se desmonta apropiadamente, al
reiniciar se debe verificar exaustivamente.� En “ext3” cuando no se desmonta apropiadamente, al
reiniciar se conoce qué archivos no han terminado sus transacciones y por lo tanto es más fácil de recuperar.
Recuperación del Filesystem
Si el filesystem root no ha sido desmontado apropiadamente y tiene un “journal”, el Kernel lo reparará al iniciar (boot).
Luego /etc/rc.d/rc.sysinit ejecutará el “fsck” en todos los filesystemsmarcados en /etc/fstab
Cuando “fsck” falla deberá de ejecutarse en forma manual.
Sistemas Operativos III
Solución de Problemas en Linux 22
22
Modos de Recuperación
� Iniciar en Modo Mantenimiento (Run-levels).
� Iniciar con Disco de Inicio.
� Iniciar Entorno de Rescate
Sistemas Operativos III
Solución de Problemas en Linux 23
23
Recuperación en Run-levels
� Cambiar de run-level� Al iniciar desde lilo o grub.� Desde el shell: init ó teinit
� Runlevel 1:� Procesa los scripts: /etc/rc.sysinit y /etc/rc.d/rc1.d/*
� Runlevel s, S o single:� Procesa solamente el script rc.sysinit
� En caso de emergencia:� Se ejecuta solamente: sulogin
Para ingresar al modo de recuperación desde el inicio presionar F2 durante el inicio del gestor de arranque GRUB. Luego escoger la opción del kernel que deseamos arrancar y presionar e para entrar en modo de edición, seleccionar la línea que inicia con kernel y presionar e agregar al final de la linea 1 (para init 1) o single para iniciar en init s.
Sistemas Operativos III
Solución de Problemas en Linux 24
24
Discos de inicio
� Para crear un disco de inicio:� Se hace durante la instalación ó
� Utilizando el programa “mkbootdisk kernel”
mkbootdisk es un script en BASH incluido en distribuciones basadas sobre RedHat
Su uso es extremadamente sencillo y dará como resultado un disquete de arranque
con una copia del kernel utilizado:
Determine primero qué versión de kernel se está utilizando. Ejecute el
siguiente comando:
# rpm -q kernel
2.2.16-3
Inserte un disquete nuevo en la unidad, pero no lo monte.
Como root o superusuario, ejecute lo siguiente:
# /sbin/mkbootdisk 2.2.16-3 --device /dev/fd0
Sistemas Operativos III
Solución de Problemas en Linux 25
25
Entorno de Rescate
� Utilizado cuando el filesystem root no está disponible.� Se puede iniciar en este modo de las siguientes maneras:
� Iniciar con el CDROM y luego escribir: “linux rescue”� Desde un disquete de inicio (boot.img) y luego escribir:
“linux rescue”� Desde un disquete de inicio (bootnet.img), luego escribir
“linux rescue” e indicar la ubicación del servidor NFS que está compartiendo el CDROM.
UTILITARIOS
Utilitarios de mantenimiento de disco:
Manejo de particiones, RAID, creadores de particiones y filesystem,
chequeadores de ext2, ext3,jfs, msdos, vfat y reiser.
Utilitarios de red:
Ifconfig, route, traceroute, host, ftp, rcp, rlogin
Utilitarios diversos:
Bash, chroot, ps, kill, killall, vi, pico, dd, tar, cpo, gzip, cd, ls, mkdir, cp, mv,
rm.
Los eventos se registran en: /tmp/syslog y /tmp/anaconda.log
Sistemas Operativos III
Solución de Problemas en Linux 26
26
Enlaces
� Sistema log.� http://gluv.univalle.edu.co/MasDoc/Manuales/unixsec-
1.2/node12.html� Módulos del Kernel.
� http://www.europe.redhat.com/documentation/rhl9/rhl-cg-es-9/ch-kernel-modules.php3
� Modo Rescate.� http://www1.tiendalinux.com/documentacion/manuales/re
dhat/rhl-cg-es-7.1/rescuemode.html
Sistemas Operativos III
Solución de Problemas en Linux 27
27
Preguntas
1. ¿Qué comando muestra los intentos de ingreso fallidos?
2. ¿Qué comando permite listar los dispositivos PCI?
3. ¿Qué comando permite crear un disco de inicio?
Sistemas Operativos III
Solución de Problemas en Linux 28
28
Respuestas
1. El comando “lastb”
2. El comando “lspci”
3. El comando “mkbootdisk”
top related