Sistemas de Archivos Distribuidos - Casos de Estudio
Network File System (NFS)
-
Implementado por Sun Microsystems en 1985
-
Estándar de facto en Unix
-
Modelo cliente/servidor. Los dos existen en el núcleo del sistema
operativo
-
Heterogeneidad de arquitecturas
-
Transparencias: acceso, localización, fallas, desempeño
-
La transparencia de localización es hecha por medio de las
instrucciones export y mount
-
Hay tres tipos de mount:
-
Hard.- bloqueante, si hay problemas el cliente
se suspende
-
Soft .- no bloqueante, si hay problemas se envía
un mensaje de error
-
Automounter.- montaje dinámico
-
A medias: migración con automounter (uso de caché)
-
No implementadas: replicación, concurrencia, escalabilidad.
-
NFS usa RPC, es un servidor sin estados: no mantiene abiertos los
archivos ni guarda información sobre ellos
-
NFS usa un sistema de archivos virtuales VFS, que distingue entre
archivos locales y archivos remotos
-
Usa un v-node en lugar de un i-node, al que se le añade un
identificador de sistema
-
NFS emula la semántica del sistema de archivos Unix. Está
integrado al núcleo, por lo que no es necesaria la recompilación
ni librerías externas.
-
El caché de los clientes introduce el peligro de diferentes
versiones de archivos.
-
Las escrituras de un cliente no se traducen en la inmediata modificación
de las copias del caché en los otros clientes
-
Se utilizan estampillas de tiempo para validar bloques de caché
Problemas de NFS
-
Ineficiente para sistemas distribuidos grandes
-
Pobre desempeño de la operación de escritura, debido a la
implementación del caché
Andrew File System
-
Desarrollado en Carnegie Mellon University (CMU) desde 1986
-
Objetivo: compartir información en gran escala (del orden de 10000
estaciones de trabajo)
-
Al igual que NFS, no hay que modificar programas Unix
-
Estrategia clave para la escalabilidad: caché de archivos completos
en nodos de clientes
-
Mecanismo:
-
Si un proceso cliente efectúa un open en el espacio compartido,
El servidor manda una copia del archivo al cliente
-
Todas las operaciones del cliente son aplicadas a la copia local
-
Al cerrar el archivo, se envía la versión modificada al servidor,
mientras que el cliente mantiene la copia local.
-
La estrategia de diseño está basada en las siguientes observaciones
sobre el uso de archivos en Unix:
-
Archivos pequeños
-
Lecturas 6 veces más frecuentes que las escrituras
-
Acceso secuencial común
-
Pocos archivos compartidos
-
Los archivos compartidos son modificados generalmente por un solo usuario
-
Los archivos son referenciados por ráfagas