Descargar

Sistemas distribuidos de archivos (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Sistemas distribuidos de archivos Se puede lograr una mayor eficiencia si los archivos usados más recientemente se almacenan también en la memoria principal del servidor (caché) Esto elimina muchas transferencias entre el disco del servidor y la memoria del servidor, aunque aún debe hacer transferencias a través de la red entre el cliente y el servidor La utilización de caché en el cliente eliminaría muchos accesos de red En la práctica solo se usa caché en la memoria principal de los clientes

edu.red

Sistemas distribuidos de archivos Al usar caché en la memoria principal del cliente hay tres opciones: la caché esté dentro del propio proceso la caché sea mantenida por el núcleo la caché sea mantenida por un proceso de usuario encargado específicamente de administrar caché El mantener la caché en el núcleo es interesante para los casos de archivos intermedios que utilizan varios procesos (p.ej. uno que termina produciendo un archivo de salida que usa otro como entrada) En cualquier caso, el uso de caché en el cliente solo tiene sentido si tenemos CPU rápidas y red lenta

edu.red

Sistemas distribuidos de archivos El uso de caché introduce problemas de inconsistencia Una posible solución es la escritura a través de caché: cuando se modifica una entrada de la caché, el nuevo valor se envía también de inmediato al servidor. Así, cuando otro proceso lee el archivo obtiene el valor más reciente La escritura a través de caché funciona, pero no reduce el tráfico de escritura (para el caso de la escritura es como si no tuviéramos caché)

edu.red

Sistemas distribuidos de archivos Otra posibilidad es usar escritura retrasada: mandar las modificaciones en la caché al servidor solo cada cierto tiempo, p.ej. cada 30 segundos La escritura retrasada aumenta la eficiencia, pero sigue manteniendo problemas de inconsistencias temporales La escritura al cierre corresponde a la semántica de sesión vista anteriormente El control centralizado se refiere a que el servidor de archivo recibe todas las solicitudes de clientes y decide si otorgarlas o no, según los accesos que ya se estén llevando sobre los archivos En resumen, la caché en el servidor no afecta a la consistencia del sistema de archivos, desde el punto de vista de los clientes. El caché en el cliente puede ofrecer mejor rendimiento pero a costa de mayor complejidad para evitar inconsistencias

edu.red

Sistemas distribuidos de archivos Algunos s.d proporcionan la réplica de archivos como servicio: Se dispone de varias copias de algunos archivos, donde cada copia está en un servidor de archivos independiente Ventajas de la réplica de archivos: Aumentar la confiabilidad al disponer de copias adicionales de los archivos. Si un servidor falla totalmente no se pierden los datos Permitir el acceso al archivo aunque falle un servidor de archivos. El lema es: el espectáculo debe continuar Repartir la carga de trabajo entre los servidores

edu.red

Sistemas distribuidos de archivos En la réplica explícita es el programador el que tiene que hacer las réplicas de los archivos. P.ej usando el comando cp En la réplica retrasada el servidor crea réplicas de sus archivos en otros servidores, de forma automática y transparente al programador En la réplica mediante grupo se hace uso de la comunicación en grupo. Todas las llamadas WRITE al sistema se transmiten de forma inmediata a todos los servidores a la vez

edu.red

Sistemas distribuidos de archivos En cuanto a la actualización de las réplicas, el protocolo de réplica de la copia primaria se basa en usar un servidor primario, todos los demás son secundarios. Si hay que actualizar un archivo duplicado, el cambio se envía al servidor primario, que realiza los cambios en forma local y después envía comandos a los secundarios para ordenarles la misma modificación El problema de la réplica de la copia primaria es que puede fallar el servidor primario

edu.red

Sistemas distribuidos de archivos El método de voto de Gifford es más robusto que la réplica de la copia primaria La idea fundamental es exigir a los clientes que soliciten y adquieran el permiso de varios servidores antes de leer o escribir un archivo replicado Para leer un archivo del que existen N réplicas, un cliente necesita conformar un quórum de lectura (una colección arbitraria de Nr servidores o más) Para modificar un archivo, un cliente necesita un quórum de escritura de al menos Nw servidores Los valores Nr y Nw deben cumplir la restricción Nr+Nw>N El nº de versión se utiliza para identificar la versión del archivo

edu.red

Sistemas distribuidos de archivos Si p.ej tenemos 12 servidores y Nr=3 y Nw=10. El más reciente quórum de escritura tenía 10 servidores. Esos 10 servidores tienen pues la nueva versión del archivo. Cualquier quórum de lectura posterior con tres servidores debe contener al menos un miembro de este conjunto (se cumple Nr+Nw>N) Cuando el cliente analiza los números de versión de los archivos, sabrá cuál es el más reciente de ellos y lo tomará

edu.red

Sistemas distribuidos de archivos Como ejemplo de s.d de archivos veremos el sistema de archivo de red de Sun Microsystems, conocido como NFS NFS permite que sistemas UNIX (y MS_DOS) accedan a un sistema de archivos común En la mayoría de los casos, los clientes y servidores están en la misma LAN, pero esto no es necesario. Puede usarse redes de área amplia Cada servidor NFS exporta uno o más de sus directorios para que puedan ser accedidos por clientes remotos

edu.red

Sistemas distribuidos de archivos Los clientes pueden acceder a directorios remotos exportados mediante el montaje Cuando un cliente monta un directorio (y sus subdirectorios) remoto, el directorio se vuelve parte de su jerarquía de directorios local Si dos o más clientes montan el mismo directorio al mismo tiempo pueden comunicarse compartiendo archivos en sus directorios comunes NFS implementa sus servicios definiendo un protocolo común: una especificación de un conjunto de servicios, parámetros, etc., que entienden los servidores y deben usar los clientes

edu.red

Sistemas distribuidos de archivos NFS tiene un servicio de montaje. Un cliente puede envíar una ruta de acceso a un servidor y solicitar que se monte ese directorio en alguna parte de su jerarquía de directorios Si la ruta es válida y el directorio es exportado por el servidor, éste envía un handle al cliente El handle contiene campos que identifican de manera única al tipo de sistema de archivo, el disco, el nodo-i del directorio e información de seguridad Las llamadas posteriores para la lectura y escritura de archivos en el directorio montado utilizan el handle

edu.red

Sistemas distribuidos de archivos NFS también proporciona servicios para el acceso a directorios y archivos. La mayor parte de las llamadas al sistema UNIX para este fin son soportadas por NFS, excepto OPEN y CLOSE OPEN y CLOSE no se implementan porque no es necesario abrir un archivo antes de leerlo, ni cerrarlo al terminar En vez de esto, para leer un archivo, un cliente envía al servidor un mensaje solicitud con el nombre completo de archivo, y el servidor regresa un handle, que es una estructura que lo identifica unívocamente Una posterior llamada READ usará el handle devuelto Por tanto, en NFS, los servidores son sin estado

edu.red

Sistemas distribuidos de archivos

edu.red

Sistemas distribuidos de archivos Puede extraerse unos principios generales que deberían seguir los diseñadores de sistemas de distribuidos de archivos En primer lugar, deberían usarse los clientes siempre que fuera posible, en vez de los servidores Se debería usar caché lo más posible Se debería explotar las propiedades de uso de ciertos archivos. P.ej. los temporales, que suponene hasta un tercio de todas las referencias a archivos

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente