You are on page 1of 20

Sistemas de Archivos Distribuidos

Prof. Federico Meza


Departamento de Ciencias de la Computacin o Universidad de Talca

Junio 2012

Sistemas de Archivos

Sistema de Archivos (FS) Componente clave de cualquier sistema Sistema de Archivos Distribuido (DFS) Almacena programas y datos en un sistema distribuido, hacindolos e disponibles cuando se necesitan Dos conceptos involucrados:

File service File server

File service

Especicacin de lo que el FS ofrece a sus clientes o Primitivas disponibles, parmetros, acciones que efectan las a u primitivas No hay detalles de implementacin o

File server

Proceso que corre en alguna mquina y ayuda a implementar a el le service Puede haber uno o varios Los clientes no debieran saber que el le service es distribuido Puede haber mltiples le services, implementados con u mltiples le servers u

Caracter sticas deseables

Transparencia

Acceso: Los clientes no deben percibir la distribucin de los o archivos; conjunto de operaciones unico para el acceso de archivos locales y remotos Ubicacin: Los clientes deben ver un espacio de nombres o uniforme; no les interesa dnde estn los archivos o a Movilidad: Mover archivos o volmenes debe ser transparente u a los clientes Desempeo: Los clientes deben percibir un desempeo n n uniforme en el tiempo; el sistema debe permitir la reconguracin dinmica para mejorar el desempeo o a n Escalabilidad: Es servicio debe poder expanderse incrementalmente, a mayores cargas o tamaos de red n

Caracter sticas deseables (continuacin) o

Actualizaciones concurrentes: Los cambios efectuados por un cliente a un archivo no deben interferir con la operacin de o otros clientes accediendo simultneamente el archivo; control a de concurrencia; le locking, record locking Replicacin: Un archivo podr estar almacenado en distintas o a ubicaciones; balance de carga; tolerancia a fallas; caching Heterogeneidad de hardware y sistema operativo Tolerancia a fallas: El sistema debe seguir operando ante fallas en clientes y servidores

Caracter sticas deseables (continuacin) o

Consistencia, ante accesos concurrentes: semntica de a actualizacin o Seguridad: Mecanismos de control de accesos Eciencia: El desempeo debe ser similar al de los sistemas n centralizados

Componentes

File service: Responsable de las operaciones sobre archivos individuales (lectura, escritura, etc.) Directory service: Responsable de la creacin y del manejo de o directorios

Interfaz del File Service


Qu es un archivo? Secuencia de bytes, sin interpretar e Los archivos poseen atributos: dueo, tamao, fecha de n n creacin, permisos de acceso, etc. Existen primitivas para o cambiar algunos atributos Proteccin o

Capacidades: Cada usuario tiene un ticket para cada objeto que puede acceder Lista de control de accesos: Cada archivo tiene una lista que especica los usuarios que pueden accederlo y cmo o Upload/download: Se mueve el archivo al cliente y de vuelta; simple; costoso Acceso remoto: Las operaciones se efectan remotamente u

Modelo de acceso

Modelo Upload/Download

1. El archivo se mueve al cliente Cliente Servidor Archivo original Nuevo archivo

2. Los accesos se hacen en el cliente

3. Cuando el cliente termina, el archivo se devuelve al servidor

Modelo de Acceso Remoto

Cliente

Servidor El archivo permanece en el servidor

Solicitudes del cliente para acceder al archivo remoto

Interfaz del Directory Service

Dene la forma en que se forman los nombres de archivo Normalmente permite la existencia de subdirectorios Vista de la jerarqu por parte de los procesos: a

Exactamente la misma Parcialmente la misma Totalmente distinta

Todos ven el mismo root?

Transparencia de nombres

Transparencia de ubicacin El path name no da pistas o sobre la ubicacin del archivo o Independencia de ubicacin Si el archivo puede moverse sin o que cambie su nombre /server1/dir1/dir2/x Tres enfoques para nombrar archivos y directorios:

Mquina + path a Montar sistemas de archivos remotos en la jerarqu local a Espacio de nombres unico, que se ve igual en todas las mquinas a

Semntica de compartir archivos a

Debe denirse una semntica precisa de lectura y escritura, a cuando varios procesos comparten un archivo Unix en sistema no distribuido:

Cuando se hace READ despus de WRITE, se obtiene el e valor recientemente escrito Cuando se hacen dos WRITES uno justo despus del otro, e seguidos de un READ, el valor leido ser el que guard el a o ultimo WRITE. Fcil de comprender y de implementar a

La semntica Unix se puede implementar en un sistema a distribuido que tengo un unico le server y en el que los clientes no mantengan cachs, obviando los retardos de red e Normalmente hay cachs problemas e

Semntica de compartir archivos a

Semntica de compartir archivos en forma distribuida a

Se podr propagar los cambios al servidor en forma an inmediata, pero esto es ineciente Se puede relajar la semntica de compartir archivos: a Semntica de sesin a o

Los cambios a un archivo abierto son visibles inicialmente slo o al proceso (mquina) que modic el archivo a o Cuando el archivo se cierre, los cambios se harn visibles al a resto de los procesos (mquinas) a

Con semntica de sesin, aunque un sistema use el modelo de a o acceso remoto, pareciera que est usando el modelo a upload/download Ejemplo: NFS

Ms sobre semntica de sesin a a o

Qu pasa si varios clientes tienen en cach y estn e e a modicando un mismo archivo? Podr suponerse que permanece el que se cierra de ultimo a Otra posibilidad es no permitir que los archivos cambien: archivos innmutables Podr permitirse que un archivo sea reemplazado por otro en a el directorio Transacciones

Uso de archivos

Estudio efectuado por Satyanarayanan, Unix, ambiente universitario

La mayor de los archivos son pequeos, menos de 10Kbytes a n transferencia completa La lectura es mucho ms comn que la escritura a u Acceso secuencial principalmente, acceso aleatorio es raro La mayor de los archivos tiene un ciclo de vida corto a locales Los archivos compartidos ocurren poco caching Un proceso promedio usa slo unos pocos archivos o Existen distintas clases de archivos con distintas propiedades tratamiento distinto

Tarea

Investigar y entregar un informe sobre NFS y Coda ( AFS) o Para cada uno se debe incluir al menos:

Descripcin general y arquitectura o Comunicacin o Naming Semntica para compartir archivos (manejo de accesos a concurrentes) Replicacin o caching, si es que hay o Seguridad

Proyecto

Entrega nal: 12 de jullio Presentacin de 10 minutos (enviar previamente PDF) o Informe debe contener descripcin de la solucin, incluyendo: o o

Arquitectura del sistema Mecanismo de comunicacin entre procesos distribuidos que se o utiliz o Mecanismo de manejo de la membres a Anlisis de la medida en que el sistema cumple con cada una a de las caracter sticas deseables estudiadas Descripcin de la semntica para compartir archivos que o a implementa Descripcin de problemas potenciales que el usuario podr o a percibir y de la forma en que el sistema los maneja Descripcin del algoritmo distribuido implementado (requisito o obligatorio)