Curso 2004-2005 Ramón Manjavacas Ortiz Web: http://www.inf-cr.uclm.es/www/rmanjava Email: Ramon.Manjavacas@uclm.es
Introducción.: 1 Caso UNIX.: 2 Caso Windows 2000.: 3 Transp. 2
Sistemas de Archivos Sistema de archivos: parte del SO que aísla al usuario de los medios físicos de almacenamiento de datos, con todo lo que ello conlleva... Existen diferentes tipos de sistemas de archivos. Estos formatos determinan cómo se almacenará la información de archivos y directorios. Conceptos relacionados: cluster o bloque ( tamaño? ) fragmentación(interna/externa) / desfragmentación partición (primaria, lógica, extendida) Transp. 3
Tareas de administración Asegurar la disponibilidad tanto de ficheros locacles como remotos. Añadir y quitar dispositivos de almacenamiento Repartir y controlar el uso de los discos Definir la política para copias de respaldo Asegurar la integridad en los sistemas de ficheros Garantizar la confidencialidad mediante los permisos de acceso Aplicar cuotas de disco Transp. 4
Introducción Los sistemas de archivos Linux derivan de UNIX Archivo secuencia Archivo i-nodo i-nodo: estructura de datos que contiene: tipo de archivo permisos tamaño punteros a bloques... Directorio: archivo especial con una lista de entradas(archivos, subdirectorios) Enlaces: Transp. 5
Estructura básica del S.A. I Sistema de archivos: Estructura de datos formada por punteros, registros y datos necesarios para almacenar, seguir y gestionar la información almacenada en un disco o volumen Transp. 6
El superbloque Tamaño del sistema de archivos Número de i-nodos y grupos de cilindros Tamaño de bloque y número total Lista de bloques libres Estructura básica del S.A. II I-nodos Existe un i-nodo por cada archivo posible. En la creación del sistema de archivos se asigna un elevado número fijo de i-nodos. Dispone de un número único que proporciona su posición dentro de la tabla de i-nodos. Transp. 7
Estructura de datos para un archivo Estructura básica del S.A. III Transp. 8
Estructura básica del S.A. IV Estructura de datos para un archivo Transp. 9
Estructura básica del S.A. V Estructura de directorio Estructura de i-nodo Transp. 10
Estructura básica del S.A. VI Algunas consideraciones El sistema de archivos generalmente modela una jerarquía de directorios (árbol invertido) El nodo raíz viene representado por el carácter "/" El árbol está formado por los sistemas de archivos asociados a cada una de las particiones integradas (montadas) Permite crear y eliminar archivos Facilita el crecimiento dinámico de los archivos Características de protección mediante asignación de derechos. Transp. 11
Jerarquía de un S.A. Linux I Estándar Linux: FSSTND Estándar Unix: FHS(Filesystem Hierarchy Standard) 2.2(beta) Transp. 12
Jerarquía de un S.A. Linux II /bin: Contiene programas ejecutables imprescindibles para el buen funcionamiento del sistema. /sbin: Se utiliza para almacenar programas ejecutables que se usan para la administración del sistema. /etc: Contiene la mayoría de los archivos de configuración del sistema, como pueden ser los de arranque, el archivo de contraseñas, sistemas de archivos a montar... /lib: Se utiliza para almacenar distintas librerías que los programas comparten para reutilizar código. /dev: Contiene los archivos correspondientes a cada dispositivo del sistema(ratón, impresoras, terminales...) /home: Almacena los directorios iniciales de los usuarios del sistema. Transp. 13
Jerarquía de un S.A. Linux III /var: Contiene archivos que pueden cambiar de tamaño con el tiempo como por ejemplo los archivos donde se almacena el correo, etc... /root: Directorio del usuario root(administrador). /proc: Ficheros virtuales que representan las estructuras del Kernel en ejecución, dan información sobre la cpu.. Transp. 14
Jerarquía de un S.A. Linux IV Según FHS: Directorios de usuarios Programas (incluyendo comandos y librerías) Configuración del sistema El Hardware Documentación Ficheros Temporales Otros directorios relacionados con el S.O. Transp. 15
FHS: Directorios de usuarios Directorio del administrador: /root Usuarios locales: /home/jperez Usuarios NIS: /users/jperez Jerarquía de un S.A. Linux V FHS: Programas y comandos (I) Comandos útiles para todos los usuarios: /bin y /usr/bin Comandos útiles para el root: /sbin y /usr/sbin Transp. 16
Jerarquía de un S.A. Linux VI FHS: Programas y comandos (II) Programas Software no incluido en la distribución Linux: /usr/local Grandes aplicaciones(openoffice, KDE, Oracle...): /opt Librerías estáticas (para compilar) y dinámicas: /lib y /usr/lib Ficheros de cabecera (para compilar): /usr/include Ficheros independientes de la arquitectura: /usr/share Transp. 17
Jerarquía de un S.A. Linux VII FHS: Configuración del sistema Directorio: /etc Información sobre el sistema de ficheros (puntos de montaje, opciones) : /etc/fstab Cuentas de usuarios: /etc/passwd Passwords de los usuarios: /etc/shadow Scripts para arranque del sistema: /etc/init.d... Transp. 18
Jerarquía de un S.A. Linux VIII FHS: El hardware (I) Los dispositivos del sistema: /dev /dev/hda IDE primario master /dev/hdb IDE primario slave /dev/hdc IDE secundario master /dev/hdd IDE secundario slave /dev/cdrom cdrom /dev/fd0 disquete /dev/audio tarjeta sonido /dev/modem modem /dev/mouse ratón /dev/printer impresora /dev/ttyn donde n es el nº de consola Transp. 19
Jerarquía de un S.A. Linux IX FHS: El hardware (II) Ficheros virtuales que representan las estructuras del Kernel en ejecución, dan información sobre la cpu... /proc/cpuinfo /proc/pci /proc/ioports /proc/meminfo CPU Tarjetas PCI Puertos I/O Información sobre la memoria Transp. 20
FHS: Documentación Documentación sobre el software del sistema: /usr/share/doc Ficheros del comando man: /usr/man FHS: Ficheros temporales Ficheros temporales (se borran cuando la máquina arranca): /tmp Fragmentos de ficheros recuperados: /lost+found Ficheros que cambian con frecuencia: /var /var/log/messages logs del sistema /var/log/dmesg logs del sistema al arrancar /var/spool/lpd/lp spool de la impresora /var/tmp ficheros temporales /var/mail correo de los usuarios /var/run PID de programas en ejecución Jerarquía de un S.A. Linux X Transp. 21
Jerarquía de un S.A. Linux XI FHS: Otros directorios relacionados con el S.O. Información útil para el arranque del sistema: /boot Código fuente: Código fuente del software de sistema /usr/src Código fuente del kernel linux /usr/src/linux Transp. 22
Tipos de archivos Tipos de archivos Regulares u ordinarios - Imágenes de programas, texto ASCII, etc Directorios - Almacenan información relacionada con otros archivos Dispositivos (mknod / MKDEV) - De tipo bloque: discos, cintas, disquetes, etc. - De tipo carácter: Terminales, impresoras, etc. Tuberías con nombre - Comunicación entre procesos Enlaces Transp. 23
Sistema de Archivos Virtual (VFS) Transp. 24
Tipos: ext2 Tipos de Sistemas de archivos I ext3 software RAID XFS ReiserFS swap Transp. 25
ext2: sistema de archivos Minix fs(extended File System) ext2fs Tipos de Sistemas de archivos II Transp. 26
Tipos de Sistemas de archivos III ext2: muy estable estándar de facto dentro de los sistemas de archivos Linux soporte para archivos UNIX estándar capaz de manejar particiones de gran tamaño soporte para nombres largos (255 caracteres) permite definir el tamaño del bloque en la creación del S.A. reserva un 5% de espacio para el root chequeo del estado del S.A. Transp. 27
ext3: versión mejorada de ext2 disponibilidad(empleo de journaling ) - atomicidad en operaciones - log de operaciones integridad de los datos(varios niveles) mayor velocidad fácil transición Tipos de Sistemas de archivos IV Transp. 28
SW RAID (I): Tipos de Sistemas de archivos V RAID: arreglo redundante de discos independientes unidades de disco pequeñas unidades de disco grandes una única unidad lógica Basado en el concepto de que los datos deben distribuirse en cada conjunto de discos de forma consistente Uso de RAID: Hadware y Software Mayor tolerancia a fallos y más altos niveles de rendimiento Transp. 29
Tipos de Sistemas de archivos VI SW RAID(II): Varios niveles de RAID( RAID0, RAID1,...,RAID5,Lineal RAID) mayor o menor: redundancia, latencia, ancho de banda(r/w) RAID 0(Striping): - Ruptura de los datos en grupos escribiéndose en distintos discos. - Alto rendimiento E/S. - No redundancia. Poca fiabilidad Transp. 30
SW RAID(III): RAID 1: Tipos de Sistemas de archivos VII copia los mismos datos en cada unidad. Redundancia. Fiabilidad alto nivel de transferencia de datos(lectura) Aplicaciones con altos niveles escritura se verán severamente afectadas RAID 5: Uso más común particionamiento de la información Striping aplicación de paridad entre los discos miembro. Fiabilidad. Transp. 31
Tipos de Sistemas de archivos VIII Paridad Paridad Raid 4 Raid 5 Transp. 32
Tipos de Sistemas de archivos IX XFS: journaling avanzado (rápida recuperación) direccionamiento 64 bit Transacciones rápidas en R/W - tablas de estructuras eficientes para búsquedas - asignación de espacio retarda(utiliza al máximo la caché) Alta escalabilidad( 2 64 9 Hexabytes) Idóneo para el manejo de archivos de gran tamaño Transp. 33
Tipos de Sistemas de archivos X ReiserFS: journaling Objetivo: el SA debe ser capaz de satisfacer las necesidades que precisen los usuarios. Idóneo para el manejo de archivos de poco tamaño 8 ó 15 veces más rápido que ext2 Creación dinámica de i-nodos(mayor flexibilidad) Transp. 34
Creación de Sistemas de archivos I Proceso de incorporación de una unidad de disco: conexión física ( /dev/hdx ) disponibilidad del manejador de dispositivo en el sistema crear particiones (fdisk) y ficheros de dispositivo (mknod) crear sistemas de ficheros en las particiones (mkfs) comprobar sistemas de ficheros (fsck) actualizar /etc/fstab montar el sistema de archivos en un directorio (mount)... Transp. 35