Tema 5: Sistemas distribuidos de
ficheros, replicación de datos, nubes
de almacenes de datos (data clouds)
2ª parte
Ejemplo de montar un NFS
• Montar un sistema de ficheros remoto NFS (Sun NFS) en un sistema UNIX.–En el servidor (por ejemplo eri.ii.uam.es)
• Instalar el programa (como root)
• Crear el directorio de compartir. No todos los fs pueden estar NFS.
$ sudo mkdir /exportsdir
• Editar el fichero de configuracion /etc/exports .... /exportsdir *(ro,sync,no_root_squash) .... • Arrancar el servicio NFS service nfs start –En el cliente
• Instalar el programa (como root).
• Crear un directorio – punto de montaje.
mkdir /mnt/importfs
• Montar el sistema de fichero remoto (como root).
sudo mount eri.ii.uam.es:/exportsdir /mnt/importfs/
Arquitectura de Sistema de ficheros
remotos (NFS)
•
Arquitectura (Red, NAME SERVER, Cache)
–
Red
•Servidores de archivos: Mantienen los archivos
•Clientes: hacen accesos a los servidores
–
Servicio de nombres de ficheros Name
Service
(hace resolución de nombres)
•Mapas nombres a directorios / archivos
–
Administrador de caché
•Implementación de almacenamiento de los ficheros en el caché
•A menudo, en el servidor y los clientes
CACHE
•
Puntos principales:
–
Ubicación del cache
–
Escritura del cache al Servidor.
–
Coherencia del cache (quien lo hace)
–
Coherencia del cache (como se hace)
–
Problemas de escritura secuencial rapida.
Sistemas de Ficheros por RED 5
DFS Cache, Diseño, cont.
Ubicación del Cache en el cliente
–
Memoria principal (RAM)
– Ventajas
Puede trabajar en estaciones de trabajo sin disco. Mas rápido (ordenes de magnitud)
Se implementa de la misma manera como cache normal. - Desventajas:
Compite por la memoria virtual con los demás programas/módulos del núcleo. (El uso del kernel es muy caro para cache de fs).
–El sistema se va a parrar de todo si falla algo y desborda. No puede hacer cache eficiente de ficheros grandes.
–Necesidad de trocear en bloques los ficheros. (block-oriented)
Sistemas de Ficheros por RED 6
DFS Cache, Diseño, cont.
Ubicación del caché:
–
Disco Local:
Capacidad de manejar ficheros grandes sin perder rendimiento (pero con tiempo inicial importante). La memoria virtual no está afectada (bloqueo solo por
falta de espacio del disco – hacer las particiones con cuidado).
Permite el almacenamiento de la copia principal de un fichero en una estación de trabajo en el sistema distribuido (incluso sistema móvil).
Sistemas de Ficheros por RED 7
DFS Cache, Diseño, cont.
Cache: Escritura (Writing Policy).
–
¿Cuándo debe estar enviado un bloque de datos al
servidor?
–
Write-through . ¡Ya! ¡De inmediato!
Enviar todo que se escribe al servidor de inmediato. Fiable, casi no existe posibilidad de perdida de datos por
parradas (crash).
Se pierde la ventaja de tener caché.
–
Consecuencia: Si se puede utilizar escritura con
retraso.
Sistemas de Ficheros por RED 8
DFS Cache, Diseño, cont.
Cache: Escritura (Writing Policy), cont.
Escritura con retraso, DW (Delayed writing)
Escritura al servidor con un retraso. ¿Qué retraso? –Cuando el bloque de datos esta lleno. (Ojo: acceso aleatorio)
–Al cerrar el fichero. (En todos los casos).
–Cuando expira el temporizador time out(cada 30 seg.) Las tres técnicas se pueden utilizar en conjunto. La existencia del caché ya da ventaja de rendimiento. Se pueden perder datos con fallos (crash).
–
Ficheros con vida corta (/tmp)
Evitar que van al servidor. Es S no debería de manejar estos ficheros).
DFS Cache, Diseño, cont.
Coherencia del caché precisa(Consistency)
– Iniciada por el servidor
– El S avisa el Cliente que hay debe de actualizar los datos.
–El S necesita registros coherentes.
Los clientes manejan de marcar los datos antiguos como no validos.
– Iniciada por el cliente.
El caché del cliente se asegura que los datos están actuales antes de utilizarles.
Entonces ¿por qué molestarse con caché?
– Las dos técnicas son caros y requieren cooperación entre C y S. Raras veces se usan –
– excepción – superordenadores (grid de miles de CPUS con red dedicada). La sincronización y la falta de bloqueo necesita una tercera parte del hardware.
Sistemas de Ficheros por RED 10
DFS Cache, Diseño, cont.
Coherencia del caché, cont.
Alternativas
Deshabilitar el cache en ficheros compartidos con escritura.
–Write through si el fichero se utiliza de mas de un nodo. El servidor tiene que hacer seguimiento de los
clientes que compartes ficheros (incluso de lectura).
El problema de write through se puede evitar al bloquear los ficheros.
Sistemas de Ficheros por RED 11
DFS Cache, Diseño, cont.
Caché consistencia, cont.
–
Problema: Escribir un fichero y pasarlo a otro
proceso. Sequential-write sharing
El fichero se escribe y se cierra de otro cliente. Problema 1
–El cliente al abrir el fichero puede tener segmentos caducados en el cache.
–Solución: timestamps a ficheros y a los bloques del cache!!! Timestamps del SERVIDOR.
Problema 2
–Cuando el cliente abre el fichero los bloques de datos de otro cliente pueden esperar escritura (flush write on close)
– Solución: Todos (Cs) tienen que hacer flush cuando un nuevo cliente abre el fichero para escritura.
Sistemas de Ficheros por RED 12