La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TEMA 3 Arranque y parada del sistema Msc. Rina Arauz.

Presentaciones similares


Presentación del tema: "TEMA 3 Arranque y parada del sistema Msc. Rina Arauz."— Transcripción de la presentación:

1 TEMA 3 Arranque y parada del sistema Msc. Rina Arauz

2 Índice 1. Proceso de arranque del sistema Gestor de arranque GRUB Modo monousuario Modo multiusuario Niveles de ejecución o arranque en Linux Arranque mediante Upstart Ficheros de inicialización 2. Parada del sistema 3. Caídas del sistema y problemas de arranque

3 Arranque y parada del sistema * Todo sistema necesita los procesos de arranque y de parada * En el proceso de arranque se prepara al sistema para ser usado por los Usuarios. * En el proceso de parada se deja el sistema consistente (por ejemplo, los bloques de disco modificados en memoria se guardan en el sistema de ficheros). * El administrador debe saber qué hacen estos dos procesos y cómo lo hacen, ya que le facilitará reconocer posibles situaciones de error y solucionarlas. * En la actualidad son procesos muy sencillos => una serie de ficheros de configuración y de guiones shell que determinan y controlan estos procesos.

4 Proceso de arranque 1. Iniciador ROM * Arranque del Hardware * Lee y almacena en memoria el programa cargador del S.O (MBR). * Pasa el control al cargador del S.O 2. Cargador del sistema operativo (GRUB) => carga el núcleo del sistema operativo y le pasa el control. 3. Núcleo del sistema operativo * Chequeo hardware * Creación e inicialización de las estructuras de datos, tablas, etc., que necesita * Crea el proceso Init y le pasa el control 4. Proceso Init => termina el proceso de arranque, dejando el sistema preparado para ser usado (chequeo de SF’s, montaje de SF’s, activación de swap, de cuotas, demonios, etc.) Las tareas que realiza el proceso Init son: Chequea los sistemas de ficheros Monta los sistemas de ficheros permanentes Activa las áreas de swapping o intercambio Activa los demonios y la red (NFS, NIS, etc.) Limpia los sistemas de ficheros (borra los directorios temporales) Habilita el login a los usuarios del sistema

5 Gestor de arranque GRUB GRUB: GRand Unified Bootloader * GRUB se instala en el master boot record (M.B.R.). * Pregunta qué S.O. arrancar: Linux o Windows * Si la respuesta es Linux => carga el núcleo solicitado y le pasa el control para que el arranque continúe * Si la respuesta es Windows => pasa el control a Windows que realiza su arranque * Fichero de configuración: /boot/grub/grub.conf (en algunos sistemas es /boot/grub/menu. Ist) * Ejecutable (para instalación): /sbin/grub-install (GRUB se puede instalar el sector de arranque de la partición de Linux, en este caso sólo se lanzará si es esa partición activa)

6 Gestor de arranque de GRUB * Dispone de tres interfaces con distinto grado de funcionalidad: - De menú => seleccionar S.O. -Del editor de menú de entrada => modificar líneas de órdenes antes de arrancar el sistema operativo, por ejemplo para pasar parámetros al núcleo o corregir errores del sistema de fichero. (Pulsar la tecla e) -- De línea de órdenes => ejecutar órdenes interactivamente. (Pulsar la tecla c)

7 Gestor de arranque de GRUB Terminología de GRUB, numerando los dispositivos según los reconozca la BIOS: - Nombres de dispositivos (hd0,0) => /dev/sda1 (, ) - Nombres de ficheros (hd0,0)/boot/grub/grub.conf (, )/path * Ejemplo de fichero de configuración con Linux y Windows: (se lee en cada arranque del sistema) default=0 #Opción por defecto timeout=10 #Tiempo de espera password --md5 $l$4hKKrl$LvSjN89PmeeHXBljrl3yq0 #password para el grub splashimage=(hdO,0)/boot/grub/splash.xpm.gz #imagen en el arranque title Fedora Core Linux (2.6.37) #Etiqueta root (hdO,0) #Parti. a montar por GRUB, donde está el núcleo kernel /boot/vmlinuz-2.6.37 ro root=LABEL=/ #Núcleo y parámetros initrd /boot/initrd-2.6.37.img #Fichero initrd title Windows 2008 #Etiqueta rootnoverify (hd0,2) #Partición a usar chainloader +1 #Pasarle el control # Observa esta diferencia----------------------------------------------- # root=LABEL=/ Indica al núcleo cuál es el SF raíz del SO # root (hd0,0) Dónde encuentra GRUB los ficheros del núcleo

8 Splash Image es la imagen que aparece en la pantalla mientras el programa está cargando: splashimage=(hdO,0)/boot/grub/splash.xpm.gz (hd0,0) se refiere a la partición del disco duro donde esta instalado S.O linux. Si omitimos la parte del disco duro igualmente funciona, seria así: splashimage=/boot/grub/splashimages/nombre_del_fichero.xpm.gz En el directorio /boot/grub/splashimages existen varias imágenes comprimidas *xmp.gz

9 Modo monousuario * Estado del sistema definido para realizar tareas administrativas y de mantenimiento, que requieren un control completo y no compartido del sistema * Sólo realiza el montaje del sistema de ficheros raíz (/), los otros SF están disponibles pero no están montados * Se puede acceder a todo el sistema, pero muchos servicios no están activos o configurados: * Muy pocos demonios están en ejecución, sólo los necesarios * Muchas utilidades no están activas (impresión, red) * Sólo las órdenes del SF raíz están disponibles, (si /usr está en otra partición no está montado) * etc. * Para entrar en modo monousuario el proceso Init crea el shell por defecto (/bin/sh) como usuario root, (en ocasiones ejecuta la orden /sbin/sulogin, que pedirá la contraseña del root para dejar entrar al sistema)

10 Modo monousuario ¿Cómo se entra en modo monousuario? * Indicándolo manualmente al Master Boot Program con una opción o parámetro: * GRUB: añadir, mediante la interfaz de edición, la opción «single» a la entrada del núcleo « kernel/boot/vmlinuz-2.6.37 ro root=LABEL=/ » * Automáticamente, si hay problemas en el proceso de arranque que el sistema no puede solucionar por sí solo, (pe. problemas en el SF que fsck no puede solucionar, errores en los ficheros de arranque) ¡Problema! Modo monousuario no tiene ninguna protección (un usuario podría entrar en el sistema en modo monousuario, y por tanto tener acceso a todo el sistema, estando delante del ordenador) Solución: * GRUB: en el fichero /boot/grub/grub.conf añadir la opción: - password —md5 password_encriptado - La orden grub-md5-crypt encripta el password, que habrá que copiar al fichero de configuración

11 Modo multiusuario * Pasos del proceso de arranque: 1. Chequea el sistema de ficheros raíz con fsck * Si al apagar el sistema, el sistema de ficheros se desmontó correctamente, no se chequea * Sin embargo, algunos S.O.’s con determinados SF’s fuerzan el chequeo siempre, o cada cierto tiempo (cada 3 meses) o cada cierto n° de montajes sin chequear (cada 20 veces) * Si fsck encuentra problemas que no puede solucionar “sólo”, lleva al sistema a modo monousuario para que el administrador realice el chequeo manual 2. Monta el sistema de ficheros raíz en modo lectura-escritura 3. Chequea el resto de sistemas de ficheros con fsck 4. Monta el resto de sistemas de ficheros 5. Activa las particiones de intercambio o swapping con swapon -a 6. Activa las cuotas de disco: quotacheck -a y quotaon –a Una cuota de disco limita la asignación de espacio en el disco duro

12 Modo multiusuario 7. Lanza los procesos servidores o demonios * crond, atd, etc. * cupsd * syslogd cron es un administrador regular de procesos en segundo plano(demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto,día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab. cron viene del griego chronos que significa "tiempo". syslog es un estándar para el envío de mensajes de registro en una red informática IP. Cups gestiona los trabajos y tareas de impresión, y proporciona impresión de red utilizando el protocolo estándar de Impresión en Internet (IPP), que dispone de soporte para una gran gama de impresoras, desde matriciales hasta láser. 8. Activa la red 9. Lanza los demonios de red * xinetd, sendmail, named, routed, rpcbind, nfsd, rpc.statd, ypbind, ypserv 10. Limpia los sistemas de ficheros: /tmp, etc. 11. Permite que los usuarios entren: * Crea las terminales, en modo texto, y el terminal gráfico, si es preciso. Si el fichero /etc/nologin existe los usuarios (excepto el root) no pueden entrar al sistema. Algunos sistemas lo crean al iniciar el arranque

13 Niveles de ejecución en Linux * Algunos sistemas operativos consideran que el sistema puede estar en distintos niveles de ejecución (o arranque), y no sólo en multiusuario y monousuario (originalmente apareció en los UNIX de System V). * En Linux estos niveles de ejecución son:

14 Niveles de ejecución en Linux * /sbin/telinit => cambiar de nivel de ejecución * telinit 1 => a modo monousuario * telinit 6 => reiniciar el sistema * telinit 3 => cambiar al nivel 3 * /sbin/runlevel => saber en qué nivel está el sistema * Hay un nivel por defecto en el que arranca el sistema, que se establece en el fichero /etc/inittab con la línea: id:5:initdefault: * Al arrancar, mediante el GRUB, al núcleo se le puede pasar como parámetro un número indicando el nivel en el que queremos arrancar. En este caso se obviará el nivel por defecto

15 El proceso de arranque init es el primer proceso que se ejecuta en el sistema, es el más importante, del que dependen el resto de todos los demás procesos. Se ejecuta como demonio y por lo general tiene PID 1. Este demonio se encarga de cargar los subprocesos necesarios para la puesta en marcha del sistema. Estos subprocesos se inician en serie, es decir, se inician uno detrás de otro y hasta que no termina de arrancar uno no se inicia el siguiente. El cambio de inittab a upstart fue realizado en Ubuntu 6.10, Fedora 9, openSUSE 11.3 En el Unix original, el proceso init arrancaba los servicios mediante un único script denominado /etc/rc. Posteriormente se introdujo un nuevo esquema de directorios en /etc/rc.d/ que contenía scripts de arranque/parada de servicios. Ubuntu y algunas otras distribuciones de Linux utilizan ahora upstart como reemplazo para el proceso de inicialización tradicionales. Upstart, es capaz de supervisar tareas y servicios mientras el sistema corre. Ésto implica que el fichero inittab desaparece, dando paso al directorio /etc/init, que contiene una serie de archivos.conf que nos servirán para definir los trabajos. En System V (init), los servicios se inician en serie, uno detrás de otro, y hasta que no termina de arrancar un servicio no se inicia el siguiente. Así, por ejemplo, si tarda mucho en detectar dirección IP, el sistema tardará más en arrancar, ya que hasta que no se detecte IP no se puede iniciar el siguiente servicio. Sin embargo, con Upstart los servicios arrancan todos en paralelo, siguiendo unas dependencias. De esta forma, por ejemplo, aunque se tarde en adquirir dirección IP, el sistema puede iniciar todos los otros servicios que no requieran una conexión a la red.

16 Arranque mediante Upstart

17 En el directorio /etc/event.d/ hay una serie de eventos (ficheros) que init ejecuta según el orden y las dependencias establecidas en los mismos. * Estos eventos indican qué tarea ejecutar, cuándo y cómo, mediante su propio lenguaje. /etc/inittab: Indica el nivel de ejecución /etc/rc.d : Directorio de macros de arranque /etc/rc.d/rc : Macro que toma el nivel de arranque /etc/rc.d/rcx.d : Dir. de arranque para cada nivel de ejecución /etc/rc.d/init.d : Directorio de ubicación de servicios * /etc/rcn.d o /etc/rc.d/rcX.d: Estos ficheros son enlaces simbólicos al fichero con el mismo nombre descriptivo que está en el directorio /etc/init.d (o /etc/rc.d/init.d) que su nombre empieza por K o S, seguido de un número de 2 dígitos y un nombre descriptivo: K35smb, K15httpd, S40atd, S50xinetd, S60cups, S991ocal, etc. * El script /etc/rc (o /etc/rc.d/rc) es el encargado de ejecutar estos ficheros scripts, según el nivel de arranque. * Los ejecuta en orden alfabético, primero los K después los S, los dos dígitos establecen el orden entre todos los K y todos los S. * Los ficheros K sirven para detener demonios o matar procesos * Los ficheros S sirven para lanzar demonios o ejecutar funciones de inicialización * De esta manera, para cada nivel de inicialización, se especifica qué demonios tienen que estar activos y qué demonios no tienen que estar activos

18 Lanzar demonios a “mano” (sin reiniciar): Usar el parámetro start, stop, restart, status para la gestión de servicios. Para que un servicio sea ejecutado durante el proceso de arranque del sistema, desde la línea de comandos se utiliza chkconfig (activa/desactiva servicios) y service (inicia/detiene o reinicia los servicios, en varias distros, como Fedora o RedHat ), o en modo gráfico ejecutar system-config-services. Iniciar servicios manualmente, directorio init.d: Dentro de esta carpeta ubicada en /etc o en /etc/rc.d dependiendo de la distribución, se encuentran una serie de scripts que permiten iniciar/detener los servicios/servidores que estén instalados en el equipo. Ejemplo: #> /etc/rc.d/init.d/smb start Starting Samba SMB daemon [OK] Ejemplo (chkconfig): chkconfig nscd on Habilita el servicio nscd en todos los niveles de ejecución. chkconfig --list Muestra la lista de los servicios del sistema y si están iniciados (on) o detenidos (off) en los niveles de ejecución del 0 al 6. chkconfig --level 345 nscd on Habilita el servicio nscd en los niveles de ejecución 3, 4 y 5. Ejemplo (service): service mysql status Checking for service MySQL: stopped Si se desea iniciarlo: service mysql start Starting service MySQL [OK]

19 Parada del sistema * En ocasiones es necesario apagar o reiniciar el sistema por mantenimiento, diagnóstico, hardware nuevo, etc. halt y poweroff detienen el sistema, el sistema se apaga (mata todos los procesos ). reboot reinicia el ordenador. shutdown cierra el sistema de modo seguro en forma ordenada y lo reinicia en modo monousuario, pone en aviso a los usuarios conectados y se puede indicar en cuantos min se hará. * shutdown [opciones] tiempo [mensaje] * Opciones: * Sin opciones => modo monousuario => telinit 1 * -r => reiniciar => telinit 6 * -h => parar => telinit 0 * -c => cancelar * -k => simular un shutdown, pero realmente no se lleva a cabo * Tiempo: +minutos, now, h:m Ejemplo: indicar que se apague dentro de 15 minutos : # shutdown +15 'Apagamos en 15 minutos'

20 Caídas del sistema y problemas de arranque * Causas de caídas del sistema: * Fallos hardware * Errores de hardware irrecuperables * Fallos de luz (cortes o altibajos) * Otros problemas ambientales * Problemas de entrada/salida * Problemas de algún sistema de ficheros * Problemas de arranque * No se puede leer el sistema de ficheros de los discos de trabajo * Hay en el disco áreas dañadas que no pertenecen al sistema de ficheros (p.e. tabla de particiones) * Hardware incompatible * Errores en la configuración del sistema * Al rearrancar mirar los mensajes que hay en el fichero /var/log/messages con la orden dmesg (mensajes producidos durante el arranque). * En el arranque al núcleo se le pueden pasar otros parámetros: * root=particion => indicar que monte como partición raíz una distinta * init=ejecutable => que en vez del proceso Init lance otro proceso. * single => arrancar en modo monousuario * Un número indicando el nivel de arranque


Descargar ppt "TEMA 3 Arranque y parada del sistema Msc. Rina Arauz."

Presentaciones similares


Anuncios Google