Title: Estructura del sistema de archivos y espacio Swap
1Estructura del sistema de archivos y espacio Swap
- ASO 2004/05
- David Borrego Viñas
2Estructura del sistema de archivos
- Es el nivel más básico de organización.
- Define dónde y con qué estructura se localizan
los directorios y archivos - Los usuarios y aplicaciones deben saber dónde
pueden leer y/o escribir. - Problema
- distintas distribuciones con distintas
estructuras
3Necesidad de una estructura estándar
- Problemas generales de la no estandarización
- Problemas específicos
4Problemas generales de la no estandarización
- No había una estructura única.
- Las jerarquías más usadas no estaban bien
estructuradas y eran incompatibles entre sí. - La falta de regularidad afectaba
- Antiguos usuarios y administradores de Unix
- Usuarios recién iniciados en Linux
- Incompatibilidades entre las distribuciones y los
nuevos paquetes resueltas de forma poco elegante. - Ej Uso excesivo de links simbólicos
5Problemas específicos de la no estandarización
- Algunos de los más relevantes son
- /bin y /usr/bin divisiones no están bien
definidas. Distribución de binarios variable - /etc confuso, al incluir archivos de
configuración y binarios. - Algunos /usr no pueden ser montados como
solo-lectura ya que contienen archivos variables
y directorios en los que hay que escribir. - No permite servir software en red falta de
protección del servidor. - No permite ser montado en medios como cds
6Estándar de jerarquía del sistema de archivos
(FHS)
- Se crea para solucionar estos problemas
- Producto del consenso entre desarrolladores,
programadores, usuarios y administradores. - Fue desarrollado dentro de la lista de correo
exclusiva FSSTND - Estándar completo versión 2.3 disponible en
http//www.pathname.com/fhs - Da pie a la extensibilidad de unas áreas o no
define otras.
7Estándar de jerarquía del sistema de archivos
(FHS)(II)
- Dos categorías de archivos
- archivos compartibles no compartibles
- Archivos variables no variables
- El modo en el que el S.O. y sus usuarios
interactúan con un archivo determina el
directorio en el que irá.
8Organización de FHS
- FHS 2.3
- /
- - bin/
- - boot/
- - dev/
- - etc/
- - home/
- - lib/
- - media/
- - mnt/
- - opt/
- - proc/
- - root/
- - sbin/
- - srv/
- - tmp/
- - usr/
- - var/
9Organización FHS
- bin/ Binarios de comandos esenciales de usuario
- Contiene comandos que pueden ser usados tanto por
el administrador del sistema como por los
usuarios - No pueden tener subdirectorios
- Algunos comandos
- cat dd chgrp df chmod hostname chown ln cp ls
netstat, ping - boot/ Archivos estáticos del boot loader
- Contiene todo lo necesario para el proceso de
arranque excepto archivos de configuración y el
instalador del mapa, - El kernel utiliza la información almacenada en
este directorio para poder arrancar el sistema
10Organización FHS
- dev/ Archivos de dispositivos
- Contendría un archivo por cada dispositivo que
el kernel de Linux puede soportar - También contiene el script MAKEDEV que crea
dispositivos cuando se necesiten - etc/ Configuración del sistema local a la
máquina - Reservado para archivos de configuración locales
a un ordenador concreto - No debe contener binarios
- Subdirectorios x11/ (XF86Config) y
skel/(esqueleto)
11Organización FHS
- home/
- Directorios hogar de los usuarios (opcional)
- lib/
- Librerías necesarios para la ejecución de
binarios en /bin y /sbin. - media/
- Con tiene subdirectorios que son usados como
punto de montaje para medios extraíbles cd-rom,
floppy - mnt/
- Punto de montaje para sistemas de ficheros
temporalmente montados
12Organización FHS
- opt/
- Reservado para paquetes de software de terceros
- root/
- Directorio hogar para el usuario root(opcional)
- sbin/
- Ejecutables esenciales usados sólo por root
- Sólo se usan para arrancar y montar /usr y
operaciones de recuperación del sistema - Arp, clock,ifconfig,lilo,mkswap,swapon
13Organización FHS
- proc/
- Crea un directorio por cada proceso en ejecución
con información de este - Contiene archivos especiales que extraen o envían
información al kernel - srv/
- Datos para los servicios que ofrece el sistema
- tmp/
- Directorio para los programas que requieran
archivos temporales
14Organización FHS
- usr/
- Contiene archivos que puedan ser compartidos en
todo el site. - Suele tener su propia partición y debería ser
montable en solo-lectura - Subdirectorios de usr/
- bin, dict, doc, etc, games, include, kerberos,
lib, libexec, local, sbin, share, src, tmp -gt
../var/tmp/, X11R6 - usr/local/
- Para uso del administrador del sistema al
instalar localmente el software. - Posee una estructura similar al directorio /usr
15Organización FHS
- var/
- Archivos de datos variables
- Esto incluye datos de administración, de registro
y archivos temporales - Cualquier programa que escriba archivos log o que
necesite los directorios spool/ o lock/ debería
escribirlos aquí
16Sistema de archivos
17Sistema de archivos
- El sistema de ficheros es la forma en que el
sistema operativo organiza, gestiona y mantiene
la jerarquía de ficheros y directorios en los
dispositivos de almacenamiento - Sistemas de ficheros soportados por Linux
- Basados en disco ext2, ext3, ReiserFS, XFS, JFS,
ISO9660 - Sistemas remotos (de red)NFS, Coda, Samba, etc.
- Sistemas especiales procfs, ramfs y devfs.
18Sistema de archivos ext3
- Básicamente es una versión mejorada de ext2.(ext2
journaling) - Ofrece las siguientes ventajas
- Disponibilidad
- Integridad de los datos
- Velocidad
- Fácil transición
19Disponibilidad
- Problema del ext2
- En caso de un corte eléctrico o caída del sistema
(cierre no limpio) el programa e2fsck debe
comprobar la consistencia de cada sistema de
archivos ext2. - Este proceso prolonga significativamente el
tiempo de arranque. - Solución journaling
20Disponibilidad(II)
- Un sistema con journaling es un sistema de
ficheros en el que las modificaciones de la
meta-información de los ficheros son primero
grabadas en un registro cronológico (journal)
antes que los bloques originales sean
modificados. - Después de un fallo, el módulo de recuperación
analizará ese registro y sólo repetirá las
operaciones incompletas en aquellos ficheros
inconsistentes. - El tiempo de recuperación ante un cierre no
limpio depende del tamaño del journal. - La comprobación de consistencia se realiza en
ext3 sólo en puntuales errores de hardware.
21Integridad de los datos
- El journaling proporciona mayor integridad de los
datos - se mantiene la consistencia tanto en la
meta-información (i-nodos) como en los datos de
los ficheros - Ext3 permite seleccionar el tipo y el nivel de
protección de los datos.
22Velocidad
- El registro cronológico (journal) optimiza el
movimiento de los cabezales de los discos duros. - Existen tres niveles de journaling para optimizar
la velocidad. - En cada nivel, a mayor velocidad menor integridad
23Fácil transición
- Sencilla migración de ext2 a ext3
- Programa tune2fs añade el sistema de journaling
(ver siguientes)
24Creación de un sistema de archivos ext3
- Pasos
- Crear la partición parted o fdisk
- Dar formato ext3 a la partición mkfs
- Etiquetar la partición con e2label
- Crear el punto de montaje
- Añadir la partición a /etc/fstab
25Conversión a ext3
- Tune2fs añade un journal a ext2 sin modificar los
datos. - La orden es
- /sbin/tune2fs j /dev/hdbX
- Después cambiar el tipo de partición a ext3 en
/etc/fstab - Migrar el sistema de archivos raíz requiere el
uso de una imagen intrd para arrancar.
26Volver a ext2
- Herramientas no compatibles con ext3.
- Pasos
- Desmontar la partición, como root escribir
- umount /dev/hdbX
- Cambiar a ext2
- /sbin/tune2fs O has_journal /dev/hdbX
- Comprobar si hay errores
- /sbin/e2fsck y /dev/hdbX
- Montar la partición como ext2
- mount t ext2 /dev/hdbX puntodemontaje
- Quitar el archivo .journal del nivel de root
- mm f .journal
- Si se quiere dejar ext2, cambiar /etc/fstab
27Espacio Swap
28Qué es el espacio swap?
- Es un nivel en la jerarquía de memoria de linux
que se usa cuando la memoria RAM está llena - Las páginas inactivas se mueven a este espacio en
caso de estar llena la memoria física - Está en los discos duros ? tiempo de acceso
- Puede ser una partición dedicada (recomendable),
un archivo swap o una combinación - El tamaño debería ser igual o dos veces mayor que
la memoria RAM pero nunca mayor de 2 GB.
29Añadir espacio swap partición
- El disco duro no puede estar en uso ?arrancar en
modo rescate - Crear la partición con parted o fdisk
- Configuramos la partición swap
- mkswap /dev/hdbX
- Activamos la partición
- Swapon /dev/hdbX
- Editamos /etc/fstab para el arranque
- /dev/hdbX swap swap defaults 0 0
- Nos aseguramos de que está activa
- Cat /proc/swaps ó free
30Añadir espacio swap archivo
- Todos los accesos al archivo swap se realizan a
través del sistema de ficheros ? los bloques que
forman el fichero pueden no ser contiguos - Pasos
- Calcular tamaño de bloque tamaño arch. deseado x
1024 - Escribir en un shell
- dd if/dev/zero of/swapfile bs1024
counttamañobloque - Configurar el archivo swap
- mkswap /swapfile
- Activar el archivo swap
- Swapon /swapfile
- Editamos /etc/fstab para el arranque
- /swapfile swap swap defaults 0 0
- Nos aseguramos de que está activo
- Cat /proc/swaps ó free
31Eliminar el espacio swap partición
- El disco duro no puede estar en uso?arrancar en
modo rescate - Desactivar la partición swap
- Swapoff /dev/hdbX
- Eliminamos la entrada en /etc/fstab
- Eliminamos la partición con parted o fdisk
32Eliminar el espacio swap archivo
- Desactivar el archivo swap
- swapoff /swapfile
- Eliminamos la entrada en /etc/fstab
- Eliminamos el archivo
- rm /swapfile
33Mover el espacio swap
- Seguir procedimiento para
- Eliminar espacio swap
- Añadir espacio swap