Tema 5: Sistemas distribuidos de ficheros, replicación de datos, nubes de almacenes de datos (data clouds)
Definicion DFSs support the sharing of information in the form of files throughout an intranet. A well-designed file service provides access to files stored at a server with performance and reliability similar to Files stored on local disks. A distributed file system enables programs to store and access remote files exactly as they do local ones, allowing users to access files from any computer in an intranet. (Coulouris, Dollimore, Kindberg, 2001)
Upload/Download Model Clien t Server Client s copy Original File Updated File Adapted from Tanenbaum (1995)
Remote Access Model Client Server Client requests access from remote file File does not move Adapted from Tanenbaum (1995)
Nociones, categorías Sistema de ficheros: File system Una vista abstracta al sistema secondario de memoria, responsable de Acceso a los datos en los ficheros. Atributos del acceso a los ficheros Los nombres iguales o uniformes de los ficheros. La estructura globas de los ficheros. Distributed Name Service (DNS???) Relativo a los nobres de los ficheros.
Sistemas basicos Memoria: Estructurada o no. Atributos de los ficheros Nombre, tamaño, propietario, fechas (creación/modificación), versión, acceso. Atributos de acceso: R,W,X, +, trucnate, delete.
Ficheros estructurados y no estructurados. Lineales o no.
Acceso y atributos de acceso
Figure 8.3 Atributios de ficheros File length Creation timestamp Read timestamp Write timestamp Attribute timestamp Reference count Owner File type Access control list Atributos propiedades del fichero como tal. Como un registro con el fichero o su nombre. Normalemente los atributos (con color) no estan accesibles a los programas del usuario. Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 Pearson Education 2005
Fig. 8.4 UNIX fs operations: filedes = open(name, mode) Opens an existing file with the given name. filedes = creat(name, mode) Creates a new file with the given name. Both operations deliver a file descriptor referencing the open file. The mode is read, write or both. status = close(filedes) Closes the open file filedes. count = read(filedes, buffer, n) Transfers n bytes from the file referenced by filedes to buffer. count = write(filedes, buffer, n) Transfers n bytes to the file referenced by filedes from buffer. Both operations deliver the number of bytes actually transferred and advance the read-write pointer. pos = lseek(filedes, offset, Moves the read-write pointer to offset (relative or absolute, whence) depending on whence). status = unlink(name) Removes the file name from the directory structure. If the file has no other names, it is deleted. status = link(name1, name2) Adds a new name (name2) for a file (name1). status = stat(name, buffer) Gets the file attributes for file name into buffer. Operaciones con ficheros regulares (block device). Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 Pearson Education 2005
Fig. 8.2 Directory module: File module: Access control module: File access module: Block module: Device module: relates file names to file IDs relates file IDs to particular files checks permission for operation requested reads or writes file data or attributes accesses and allocates disk blocks disk I/O and buffering FS capas tipicas. Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 Pearson Education 2005
Listas de atributos de acceso forma general
Objetivos de SDF (DFS) Como cualquier SD: Transparencia de red Aparece como un sistema local. El usuario no sepa donde esta el FS. Incrementa la accesibilidad. High Availability Acceso fácil a los ficheros. Tolerante a errores (de hardware principalmente)
Arquitectura Red: Servidores de ficheros. Clientes: accede a los ficheros. Resolución de nombres. Mapear los nombres locales a los directorios/ficheros remotos. (y v.v.) Manejo del Cache. Implementación de cache de ficheros. Cace de S y de C. Coordinación de impedir copias inconsistentes.
Figure 8.5 File service architecture Client computer Server computer Application Application program program Directory service Flat file service Client module Division de la funcionalidad0: 1. El cliente hace emulacion de SF local.. 2. El servidor incluye el manejo del fichero fisico (y directorios). Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 Pearson Education 2005
Figure 8.8 NFS architecture Client computer Server computer UNIX system calls UNIX kernel Application Application program program Virtual file system UNIX kernel Virtual file system Local Remote UNIX file system Other file system NFS client NFS protocol NFS server UNIX file system Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 Pearson Education 2005
Mecanismos de resolución de nombres (NR) Mount. Varios espacios forman un espacio. El RFS esta asignada a un punto de montaje. Se necesita de mantener esta informacion. En el C y en el S.
Hierarquía de nombres Server X a b c d e f g h Server Y i j k Adapted from Singhal & Shivaratri (1994) Server Z
Mount() cont. Problemas si se monta en un punto del C: El C tiene que motar todos los FS necesarios. Sun s NFS Todos los clientes tendran espacios de nombres suyos. Mv file todo C cambiar el path. Si se guarda en el servidor Todos los clientes tendran identico nombre de fichero. Si se mueve solo hay que cambiar el nombre del servidor.
Mecanismos, cont. Cache El cliente crea cache del fichero remoto. Memoria, disco local, servidor cercano. Mejora el rendimiento. Cosas...: Todos los datos validos muy caro. Utilizacion de datos guias, Si son validos haz el tiempo valido. Si no son validos recuperar del S.
Mechanismos, cont. Trannsferencia de datos masiva. Bulk Data Transfer Costes de comunicación enormes. Enviar multiples bloques de forma inteligente Menos comunicación. Menos cambio de contexto. Menos ACK (loopback!!!) Encriptacion Especialmente si se trata de varias empresas. Antes de comunicarse se utiliza autoridad de generar la clave. Clave simétrica o streaming.
SFD (DFS) Diseño Nombres y resolución de nombres. Cache en Disco local o memoria. Politica de escritura. Writing Policy Concurrencia del cache. Cache Consistency Acesibilidad (Availability) % del tiempo. Escalabilidad. Semantica de acceso.
Resolución de nombres Name Resolution The process of mapping a name to an object, or in the case of replication, multiple objects (SS 94) Espacio de nombres. a collection of names which may or may not share an identical resolution mechanism (SS 94)
Figure 8.10 Montar NFS.
Definiciones de nombre Independiente del nodo: El fichero se puede mover sin cambio de nombre. Transparencia del nodo: El nombre del fichero no determina donde está.