Sistemas de Archivos y Swap - PowerPoint PPT Presentation

About This Presentation
Title:

Sistemas de Archivos y Swap

Description:

Sistemas de Archivos y Swap Carmelo Quintana Hern ndez. a3182_at_dis.ulpgc.es Miguel Ram rez Alem n. a3183_at_dis.ulpgc.es INTRODUCCI N El proceso abierto y distribuido ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 34
Provided by: sopaDisU
Category:

less

Transcript and Presenter's Notes

Title: Sistemas de Archivos y Swap


1
Sistemas de Archivos y Swap
  • Carmelo Quintana Hernández.
  • a3182_at_dis.ulpgc.es
  • Miguel Ramírez Alemán.
  • a3183_at_dis.ulpgc.es

2
INTRODUCCIÓN
  • El proceso abierto y distribuido en el cual el
    sistema operativo Linux se ha desarrollado
    propicia un rápido crecimiento.
  • Existe la necesidad de la estandarización de la
    estructura del sistema de archivos de Linux.
  • La estandarización permite a usuarios,
    desarrolladores, y distribuidores, el obtener
    componentes del sistema de varias fuentes de
    manera sencilla.
  • Esto también facilita la administración del
    sistema.

3
LA NO ESTANDARIZACIÓN
  • No había una estructura única, bien aceptada
    estructura de directorios Linux, en su lugar
    había muchas estructuras cada una incompatible
    con las demás.
  • Las jerarquías más ampliamente usadas no estaban
    bien estructuradas y diferían bastante de las
    estructuras de directorios modernas.
  • El sistema de archivos era poco familiar e
    incómodo para los usuarios de UNIX con
    experiencia y los administradores que habían
    tenido experiencia con otros sistemas operativos
    similares.
  • La falta de regularidad también confundía a los
    recién-iniciados en Linux, especialmente aquellos
    que no tenían un conocimiento previo de UNIX.

4
PROBLEMAS (1)
  • Los directorios binarios principales /bin y
    /usr/bin no tienen divisiones bien definidas
    entre ellos.
  • Al incluir ambos, los archivos binarios y los de
    configuración en /etc hace más confuso este
    directorio y más difícil de mantener para ambos.
  • Muchas implementaciones comunes de /usr no pueden
    ser montadas sólo-lectura debido a que contienen
    archivos variables y directorios a los cuales se
    necesita escribir.

5
PROBLEMAS (2)
  • En una red se precisa servir software vía NFS.
    Este sistema de archivos puede precisar ser
    montado sólo-lectura.
  • Los accidentes o malicia deliberada desde un
    estación de trabajo no puedan dañar los archivos
    en el servidor.
  • Esto requiere la identificación y la separación
    de los archivos a los que una máquina debe
    escribir y los que son específicos de una
    máquina.
  • Los sistemas de archivos tradicionales no eran
    adecuados para instalaciones en red.

6
LA ESTANDARIZACIÓN (1)
  • Este estándar representa el consenso entre
    desarrolladores, programadores, usuarios y
    administradores Linux.
  • El estándar busca atacar los problemas con una
    estructura de archivos bien diseñada.
  • El sistema de archivos Linux está caracterizado
    por
  • Una estructura jerárquica.
  • Un tratamiento consistente de la información de
    los archivos.
  • Protección de los archivos

7
LA ESTANDARIZACIÓN (2)
  • El sistema de archivos se podría resumir en dos
    categorías diferentes de archivos
  • Archivos compartibles vs no compartibles.
  • Archivos variables vs estáticos.
  • Los archivos variables ?cambian en cualquier
    momento sin intervención del gestor de sistemas.
  • Los archivos estáticos (binarios, librerías)
    ?sólo cambian por acción del administrador

8
LA ESTANDARIZACIÓN (3)
  • El modo en el que el sistema operativo y sus
    usuarios interactúan con un archivo dado
    determina el directorio en el que ese archivo
    está ubicado.
  • El nivel superior de la organización es crucial
    para filtrar el acceso a los niveles inferiores.

9
DIRECTÓRIOS (1)
  • /bin Binarios de comandos esenciales de
    usuarios.
  • Contiene comandos que pueden ser utilizados por
    los usuarios y por el administrador del sistema.
  • Los binarios de los comandos que no son
    suficientemente esenciales para estar en /bin
    estarán localizados en /usr/bin.
  • Esenciales cp, mxdir, mount, pwd, etc
  • /boot Archivos estáticos del cargador de
    arranque.
  • Este directorio contiene todo para arrancar
    excepto los archivos de configuración y el
    instalador de mapas.
  • Para cualquier cosa que se utiliza antes de que
    el kernel ejecute /sbin/init.

10
DIRECTÓRIOS (2)
  • /dev Archivos de dispositivos
  • Éste es el directorio de los dispositivos.
    Contendría un archivo por cada dispositivo que el
    kernel de Linux puede soportar.
  • /etc Configuración del sistema local a la
    máquina
  • Está reservado para archivos que son locales a un
    ordenador concreto.
  • /home Directorios hogar de los usuarios
    (opcional)
  • home es un concepto algo estándar, pero es
    claramente un sistema de /archivos específico de
    un site.

11
DIRECTÓRIOS (3)
  • /lib Librerías compartidas y módulos de kernel
    esenciales.
  • Debe contener sólo las librerías necesarias para
    ejecutar los binarios en /bin y /sbin
  • /mnt Punto de montaje para sistemas de archivos
    montados temporalmente
  • Se refiere a sistemas de archivos montados
    temporalmente, tales con CD-Roms y diquetes.
  • /sbin Binarios del Sistema
  • Típicamente contiene binarios esenciales para
    arrancar el sistema además de los binarios en
    /bin.
  • Si sólo será ejecutado por el administrador del
    sistema o por root como scripts de
    administración, entonces debe ir en /sbin.

12
DIRECTÓRIOS (4)
  • /opt Almacenamiento de paquetes software.
  • Proporciona una área para almacenar habitualmente
    paquetes de software de una aplicación estática y
    amplia.
  • /proc Puente con el Kernel
  • Contiene archivos especiales que o bien extraen
    información del kernel o bien la envían a éste.
  • /user/local Para uso del administrador del
    sistema al instalar localmente el software.
  • /var Archivos de datos variables.
  • Esto incluye datos de administración, de registro
    y archivos temporales.

13
DIRECTÓRIOS (5)
  • /usr Archivos compartidos.
  • Para almacenar archivos que pueden ser
    compartidos a través de todo el sitio.
  • Subdirectórios de /usr

bin kerberos
dict lib
doc local
etc sbin
games tmp
include
14
Sistemas de Archivos (1)
  • 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, normalmente
    discos duros.
  • Cada sistema operativo soporta diferentes
    sistemas de ficheros.
  • Estos formatos determinan cómo se almacenará la
    información como archivos y directorios.
  • Algunos tipos de sistemas de archivos almacenan
    copias redundantes de datos, mientras que otros
    tipos de sistemas de archivos hacen el acceso al
    disco duro más rápido.

15
Sistemas de Archivos (2)
  • Los sistemas de ficheros soportados por Linux se
    clasifican en tres categorías
  • Basados en disco discos duros, disquetes,
    CD-ROM, etc. (Estos sistemas son ext2, ext3,
    ReiserFS, XFS, JFS, ISO9660, etc.)
  • Sistemas remotos (de red) NFS, Coda, Samba, etc.
  • Sistemas especiales procfs, ramfs y devfs.

16
Historia del extX (1)
  • Desde hace mucho tiempo, el sistema de ficheros
    estándar en Linux es el ext2.
  • Éste fue diseñado por Wayne Davidson con la
    colaboración de Stephen Tweedie y Theodore Ts'o.
  • Es una mejora al sistema anterior, ext, diseñado
    por Rémy Card.
  • El ext2 está basado en i-nodos (asignación
    indexada).
  • Cada i-nodo mantiene la meta-información del
    fichero y los punteros a los bloques con los
    datos "reales"'.

17
Historia del extX (2)
  • Para mejorar el rendimiento de las operaciones de
    E/S, los datos del disco son temporalmente
    almacenados en la memoria RAM, sin embargo si hay
    un corte de suministro eléctrico antes que los
    datos modificados en la memoria sean grabados
    nuevamente al disco se generaría una
    inconsistencia en el FS
  • El fsck fue la herramienta que resolvía dichas
    inconsistencias, el cual tiene que analizar la
    partición completa y verificar las
    interdependencias entre i-nodos, bloques de datos
    y contenidos de directorios.
  • Requiere mucho tiempo ? Sistemas de ficheros con
    journaling.
  • Un sistema con journaling es un sistema de
    ficheros tolerante a fallos en el cual la
    integridad de los datos está asegurada porque las
    modificaciones de la meta-información de los
    ficheros son primero grabadas en un registro
    cronológico antes que los bloques originales sean
    modificados.
  • Graba previamente cualquier modificación de la
    meta-información en un área especial del disco.
  • Después de un fallo, el módulo de recuperación
    analizará el registro y sólo repetirá las
    operaciones incompletas en aquellos ficheros
    inconsistentes, examinando sólo aquellas
    porciones de los meta-datos que han sido
    cambiadas recientemente.

18
Sistema de Archivos EXT3
  • El sistema ext3 es, básicamente, una versión con
    journaling del antiguo sistema ext2.
  • Ext3 en realidad es ext2 con un fichero adicional
    de registro, es decir, es una capa adicional
    sobre ext2 que mantiene un fichero de registro
    log de transacciones.
  • Debido a que está integrado en el ext2 puede que
    no explote todas las posibilidades de los
    sistemas de journaling puros, pero se está
    trabajando es este área para mejorarlo.

19
EXT3 vs EXT2 (1)
  • Disponibilidad
  • Tras un cierre no limpio del sistema, se debe
    comprobar cada sistema de archivos ext2 montado
    en la máquina para ver si es consistente.
  • Gracias a la característica journaling del
    sistema de archivos ext3 ya no es necesario
    realizar este tipo de comprobación dejando estas
    comprobaciones únicamente a casos puntuales como
    fallos físicos en el disco duro o en el caso de
    que el sistema de ficheros esté configurado para
    que se chequee completamente de forma automática
    cada cierto periodo de tiempo o cada cierto
    número de montajes para prevenir posibles fallos.
  • Recuperar un sistema de archivos ext3 tras un
    cierre no limpio del sistema no dependa del
    tamaño del sistema de archivos ni del número de
    archivos, sino del tamaño del journal (diario),
    utilizado para mantener la consistencia en el
    sistema.

20
EXT3 vs EXT2 (2)
  • Integridad de los datos
  • El sistema de archivos ext3 le permite
    seleccionar el tipo y el nivel de protección de
    los datos.
  • Mantener la consistencia de los datos pero
    permitir daños en los datos dentro del sistema de
    ficheros en el caso de un apagado incorrecto.
  • Asegurar que los datos son consistentes con el
    estado del sistema de ficheros, por defecto, con
    lo cual nunca habrá datos basura de un fichero
    recientemente escrito después de una caída del
    sistema.
  • El ext3 escribe tres tipos de bloques de datos en
    el registro
  • Meta-información Contiene el bloque de
    meta-información que está siendo actualizado por
    la transacción y cada cambio en el sistema de
    ficheros es escrito en el registro.
  • Bloques descriptores Estos bloques describen a
    otros bloques del registro para que luego puedan
    ser copiados al sistema principal. Los cambios en
    estos bloques son siempre escritos antes que los
    de meta-información.
  • Bloques cabeceras Describen la cabecera y cola
    del registro más un número de secuencia para
    garantizar el orden de escritura durante la
    recuperación del sistema de ficheros.
  • Con ext3 se mantiene la consistencia tanto en la
    meta-información (i-nodos o metadatos) como en
    los datos de los ficheros (datos propiamente
    dichos).

21
EXT3 vs EXT2 (3)
  • Velocidad
  • El sistema de archivos ext3, en la mayoría de los
    casos tiene un rendimiento superior al que
    proporciona ext2 porque los journals de ext3
    optimizan el movimiento de los cabezales de los
    discos duros. Se pueden seleccionar tres modos de
    journaling para optimizar la velocidad, pero,
    como contrapartida, la integridad de los datos se
    verá afectada.
  • Los diferentes modos son
  • datawriteback limita la garantía de integridad
    de los datos, permitiendo a los antiguos datos
    aparecer en ficheros después de una caída, para
    un posible pequeño incremento de la velocidad en
    algunas circunstancias. Proporciona las garantías
    más limitadas de integridad en los datos y evita
    el chequeo en el reinicio del sistema.
  • dataordered (modo por defecto) garantiza que
    los datos son consistentes con el sistema de
    ficheros. Los ficheros escritos recientemente
    nunca aparecerán con contenidos basura después de
    una caída.
  • datajournal requiere un journal grande para una
    velocidad razonable en la mayoría de los casos y
    por lo tanto tarda más tiempo recuperar el
    sistema en el caso de un apagado incorrecto, pero
    es algunas veces es más rápido para algunas
    operaciones ya que funciona muy bien si se
    escriben muchos datos al mismo tiempo.

22
EXT3 vs EXT2 (4)
  • Fácil transición
  • Las particiones ext3 no tienen una estructura de
    ficheros diferentes a los de ext2, por lo que
    existe total compatibilidad entre ext2 y ext3, se
    puede convertir un sistema de ficheros ext2 a
    ext3 y viceversa.
  • Es posible beneficiarse de las ventajas de un
    sistema de ficheros journaling robusto sin
    necesidad de reformatear el disco.
  • El programa tune2fs puede añadir el journal a un
    sistema de ficheros ext2 ya existente.
  • Si el sistema de ficheros estaba ya montado
    cuando se migraba, el journal será visible como
    un fichero journal en el directorio raíz del
    sistema de ficheros.
  • Si no estaba montado el journal estará oculto y
    no aparecerá en el sistema de ficheros (así
    ocurre si se crea durante la instalación del
    sistema).
  • El sistema de ficheros ext3 se ha beneficiado de
    la prolongada historia de mejoras y corrección de
    errores que tiene el ext2 y continuará siendo
    así.
  • Esto significa que ext3 comparte la robustez del
    ext2, pero también las nuevas características que
    se han añadido al ext2.

23
EXT3 vs EXT2 (5)
  • Proporciona y hace uso de una capa genérica de
    journaling (JBD) la cual puede ser usada en otros
    contextos, como en otros dispositivos soportados
    por Linux (NVRAM, disk-on-chip, USB flash memory
    drives, etc.)
  • Tiene una amplia compatibilidad con todas las
    plataformas, trabaja tanto en arquitecturas de 32
    como de 64 bits, y tanto en sistemas
    little-endian como big-endian.
  • No requiere profundos cambios en el corazón del
    núcleo y no requiere tampoco nuevas llamadas al
    sistema.
  • Seguramente el ext3 será el sistema de ficheros
    estándar de Linux en un futuro próximo.
  • Los datos del registro de journal pueden estar en
    cualquier conjunto de bloques, y en cualquier
    sistema de ficheros.
  • Inclusive se puede compartir el registro de
    journal entre sistemas distintos.
  • El programa de recuperación de sistemas de
    ficheros e2fsc tiene un muy reconocido éxito en
    la recuperación de datos cuando el software o el
    hardware falla y corrompe un sistema de ficheros
    y ext3 usa el mismo código que el e2fsck para
    salvar el sistema de ficheros después de una
    posible corrupción.
  • Todas estas peculiaridades del ext3 son
    totalmente transparentes al usuario el cual
    trabajará igual que lo hacía con ext2, incluido
    el montaje y utilización de otros sistemas de
    ficheros (NFS, dispositivos de almacenamiento
    externos, etc.).

24
Creación de un ext3
  • Hay dos métodos para crear un sistema de archivos
    ext3, o bien durante la instalación como ya se ha
    visto en prácticas o, crear uno nuevo después de
    la instalación.
  • Los pasos para crear un sistema de archivos ext3
    después de la instalación son los siguientes
  • Cree la partición utilizando parted o fdisk.
  • Dé formato a la partición con el sistema de
    archivos ext3 usando mkfs.
  • Etiquete la partición usando e2label.
  • Cree el punto de montaje.
  • Añada la partición a /etc/fstab (1).

25
Migrar a ext3
  • El programa tune2fs permite añadir un journal a
    un sistema de archivos ext2 existente sin
    modificar los datos en la partición.
  • Para convertir un sistema de archivos ext2 a
    ext3, conéctese como root y escriba
    /sbin/tune2fs -j /dev/hdbX
  • Una vez realizado esto, asegúrese de cambiar el
    tipo de partición de ext2 a ext3 en /etc/fstab
    (2).
  • Si está migrando el sistema de archivos raíz,
    tendrá que usar una imagen initrd (o disco RAM)
    para arrancar.

26
Volver a ext2
  • Puesto que ext3 es relativamente nuevo, algunas
    utilidades de disco todavía no son compatibles
    con este sistema, como por ejemplo resize2fs
    (redimensionar particiones), por lo que se deberá
    volver temporalmente al sistema de archivos ext2.
  • Para revertir una partición, primero deberá
    desmontar la partición conectándose como root y
    escribiendo umount /dev/hdbX
  • A continuación, cambie el tipo del sistema de
    archivos a ext2. Para ello, escriba el comando
    siguiente como root /sbin/tune2fs -O
    has_journal /dev/hdbX
  • Compruebe si la partición tiene errores. Para
    ello, escriba el comando siguiente como root
    /sbin/e2fsck -y /dev/hdbX
  • A continuación, vuelva a montar la partición como
    sistema de archivos ext2. Para ello, escriba
    mount -t ext2 /dev/hdbX /mount/point
  • Luego, quite el archivo .journal del nivel root
    de la partición cambiando el directorio donde
    está montado y escribiendo rm -f .journal

27
Qué es el espacio Swat?
  • El espacio swap en Linux es usado cuando la
    cantidad de memoria RAM está llena. Así, si el
    sistema necesita más recursos de memoria y la
    memoria está llena, las páginas inactivas de la
    memoria se mueven al espacio swap.
  • Es una técnica utilizada para hacer creer a los
    programas que existe más memoria RAM de la que en
    realidad existe. Es el propio sistema operativo
    el que se encarga de pasar datos a la swap cuando
    necesita más espacio libre en la RAM y viceversa.
  • En Linux, la memoria total disponible es igual a
    la cantidad de memoria RAM instalada más la swap
    disponible.
  • Un uso muy intensivo y continuado de la swap es
    un indicativo de que necesitamos más memoria en
    nuestro sistema para que funcione desahogado con
    el uso que le estamos dando.
  • El espacio swap puede ser una partición swap
    dedicada (altamente recomendable), un archivo
    swap o una combinación de particiones y archivos
    swap.
  • El tamaño de su espacio swap debería ser igual o
    dos veces mayor que la memoria RAM de su
    ordenador pero nunca mayor de 2 GB.

28
Añadir el espacio Swap (1)
  • A veces es necesario añadir más espacio swap
    después de la instalación, para lo cual se
    dispone de dos opciones añadir una partición
    swap (recomendable) o un archivo swap. Se
    recomienda que añada una partición swap.
  • El principal inconveniente de utilizar un fichero
    de intercambio de esta forma es que todos los
    accesos al fichero de intercambio se realizan a
    través del sistema de ficheros.
  • Esto significa que los bloques que forman el
    fichero de intercambio pueden no ser contiguos ?
    El rendimiento no puede ser tan alto como cuando
    se utiliza una partición de intercambio, en la
    que los bloques estan siempre contiguos.
  • La utilización de un fichero de intercambio puede
    ser muy útil si se tiene una necesidad temporal
    de más espacio de intercambio.
  • Por ejemplo, si se esta compilando un gran
    programa.

29
Añadir el espacio Swap (2)
  • Para añadir una partición swap se deben realizar
    los siguientes pasos
  • El disco duro no puede estar en uso para lo cual
    debemos iniciar su sistema de nuevo en modo de
    rescate (1) .
  • Cree la partición swap usando parted o fdisk.
  • Para activar la partición swap inmediatamente,
    escriba el comando siguiente swapon /dev/hdbX
  • Para activarlo cuando se arranca, edite
    /etc/fstab (3) para incluir /dev/hdbX swap swap
    defaults 0 0

30
Añadir el espacio Swap (3)
  • En vez de reservar una partición individual para
    espacio de intercambio, se puede usar un fichero,
    para lo cual hay que instalar todo Linux y hacer
    todas las tareas de configuración antes.
  • Para ello hay que hacer los siguientes pasos
  • Determine el tamaño del nuevo archivo swap y
    multiplique por 1024 para determinar el tamaño de
    bloque.
  • En un indicador de comandos shell como root,
    escriba el siguiente comando con count lo que
    equivale al tamaño de bloque deseado dd
    if/dev/zero of/swapfile bs1024 count65536
  • Configure el archivo swap con el comando mkswap
    /swapfile
  • Para activar el archivo swap inmediatamente pero
    no automáticamente cuando se arranca swapon
    /swapfile
  • Para activarlo cuando se arranca, edite
    /etc/fstab (4) para incluir /swapfile swap swap
    defaults 0 0

31
Eliminar el espacio Swap
  • Para eliminar una partición swap
  • El disco duro no puede estar en uso para lo cual
    debemos iniciar su sistema de nuevo en modo de
    rescate (2).
  • En un indicador de comandos shell como root,
    ejecute el comando siguiente para asegurarse de
    que la partición swap está desactivada swapoff
    /dev/hdbX
  • Elimine su entrada desde /etc/fstab (5).
  • Elimine la partición usando parted o fdisk.
  • Para eliminar un archivo swap
  • En un indicador de comandos shell como usuario
    root, ejecute el comando siguiente para
    desactivar el archivo swap swapoff /swapfile
  • Elimine su entrada de /etc/fstab (6).
  • Elimine el archivo actual rm /swapfile

32
Fichero /etc/fstab
1
2
3
4
5
6
33
Arrancar en modo de rescate
  • El modo de rescate proporciona la habilidad de
    arrancar una pequeña parte de Linux desde un
    disquete, CD-ROM, o algún otro método de arranque
    en vez del disco duro.
  • Para arrancar el sistema en modo rescate se puede
    utilizar un disquete de instalación hecho a
    partir de una imagen bootdisk.img y seguir los
    siguientes pasos
  • Una vez que haya arrancado, introducir el comando
    siguiente en el intérprete de comandos linux
    rescue
  • A continuación se pedirá montar el sistema de
    archivos, pero si selecciona Skip, su sistema de
    archivos no será montado.
  • Una vez que tenga su sistema en modo de rescate,
    aparece un intérprete de comandos en VC1
    (Ctrl-Alt-F1) y VC2 (Ctrl-Alt-F2)
    -/bin/sh-2.05b

1
2
Write a Comment
User Comments (0)
About PowerShow.com