PDF de programación - Sistemas de ficheros distribuidos - Sistemas Distribuidos

Imágen de pdf Sistemas de ficheros distribuidos - Sistemas Distribuidos

Sistemas de ficheros distribuidos - Sistemas Distribuidosgráfica de visualizaciones

Publicado el 20 de Enero del 2019
1.954 visualizaciones desde el 20 de Enero del 2019
135,5 KB
12 paginas
Creado hace 12a (24/01/2013)
Sistemas Distribuidos

Sistemas Distribuidos

Sistemas de
Sistemas de
ficheros
ficheros
distribuidos
distribuidos

Índice

Introducción


• Estructura de un SFD
• Resolución de nombres
• Acceso a los datos
• Gestión de cache
• Gestión de cerrojos
• Estudio de ejemplos: NFS, AFS y Coda
• Sistemas de ficheros paralelos

– General Parallel File System (GPFS)
– Google File System (GFS)

Sistemas Distribuidos
2

Fernando Pérez Costoya

Conceptos básicos

Características deseables del SFD

• Sistema de ficheros distribuido (SFD)

– Sistema de ficheros para sistema distribuido
– Gestiona distintos dispositivos en diferentes nodos ofreciendo a

usuarios la misma visión que un SF centralizado

– Permite que usuarios compartan información de forma transparente
– Misma visión desde cualquier máquina

• Numerosos aspectos similares a SF centralizados
• Algunos aspectos específicos como por ejemplo:

– Traducción de nombres involucra a varios nodos
– Uso de cache afecta a múltiples nodos
– Aspectos de tolerancia a fallos

• Aplicables las correspondientes al SD global:

– Transparencia, fiabilidad, rendimiento, escalabilidad, seguridad.

• Específicamente:

– Espacio de nombres único
– Soporte de migración de ficheros
– Soporte para replicación
– Capacidad para operar en sistemas “desconectados”

• Una red “partida” o un cliente que usa un sistema portátil

– Soporte de heterogeneidad en hardware y S.O.
– Integración de nuevos esquemas de almacenamiento (SAN)
– Paralelismo en acceso a datos de un fichero

Sistemas Distribuidos
3

Fernando Pérez Costoya

Sistemas Distribuidos
4

Fernando Pérez Costoya

4-Sistemas de ficheros distribuidos

1

Sistemas Distribuidos

Estructura del SFD

Arquitectura del SFD

• Cliente (nodo con aplicación) – Servidor (nodo con disco)
• ¿Cómo repartir funcionalidad de SF entre cliente y servidor?
• Arquitectura “tradicional”

– servidor: proporciona acceso a ficheros almacenados en sus discos
– cliente: pasarela entre aplicación y servidor

• con más o menos funcionalidad (clientes fat o thin)

• Arquitectura “alternativa”

– servidor: proporciona acceso a bloques de disco
– cliente: toda la funcionalidad del SF
– Utilizada en sistemas de ficheros para clusters

• se estudiará más adelante

• Solución basada en arquitectura tradicional parece sencilla:

– SF convencional en servidor
– Exporta servicios locales para abrir, cerrar, leer, escribir, cerrojos,...

• ¿Asunto zanjado? No todo está resuelto:

– Resolución de nombre de fichero:

• Cliente y varios servidores involucrados. ¿Cómo se reparten trabajo?

– Acceso a los datos:

• ¿se transfiere sólo lo pedido? ¿más cantidad? ¿todo el fichero?
• Uso de cache en el cliente. Coherencia entre múltiples caches.

– Gestión de cerrojos:

• ¿Qué hacer si se cae un cliente en posesión de un cerrojo?

– Otros: migración, replicación, heterogeneidad, ...

Sistemas Distribuidos
5

Fernando Pérez Costoya

Sistemas Distribuidos
6

Fernando Pérez Costoya

Operaciones sobre los ficheros

Gestión de nombres

• Apertura del fichero: Traducción del nombre

– Gestión de nombres

• Lecturas/escrituras sobre el fichero

– Acceso a datos
– Uso de cache

• Establecimiento de cerrojos sobre el fichero

• Similar a SF convencionales:

– Espacio de nombres jerárquico basado en directorios
– Esquema de nombres con dos niveles:
– Directorio: Relaciona nombres de usuario con internos

• Nombres de usuario (pathname) y Nombres internos

• Nombres de usuario

– Deben proporcionar transparencia de la posición

• Nombre no debe incluir identificación del nodo donde está

triqui.fi.upm.es:/home/fichero.txt

• Nombres internos

– Identificador único de fichero (UFID) utilizado por el sistema

• Puede ser una extensión del usado en SF convencionales.
• Por ejemplo:

id. de máquina + id. disco + id. partición + id. inodo

Sistemas Distribuidos
7

Fernando Pérez Costoya

Sistemas Distribuidos
8

Fernando Pérez Costoya

4-Sistemas de ficheros distribuidos

2

Sistemas Distribuidos

Espacio de nombres

Resolución de nombres

• Similar a SF convencionales:

– Espacio de nombres dividido en volúmenes (o particiones, o ...)

• Cada volumen gestionado por un servidor

– Espacio único mediante composición de volúmenes:
• Extensión distribuida de operación de montaje de UNIX

• Alternativas en la composición:

– Montar sistema de ficheros remoto sobre la jerarquía local (NFS)
• Montaje en cliente: información de montaje se almacena en cliente
• Espacio de nombres diferente en cada máquina

– Único espacio de nombres en todas las máquinas (AFS)

• Montaje en servidor: información de montaje se almacena en servidor
• Espacio de nombres común para el SD

• Traducir una ruta que se extiende por varios servidores
• ¿Quién busca cada componente de la ruta?

– cliente: solicita contenido del directorio al servidor y busca (AFS)
– servidor: realiza parte de la búsqueda que le concierne



• Alternativas en la resolución dirigida por los servidores

– iterativa, transitiva y recursiva
“Cache de nombres” en clientes
– Almacén de relaciones entre rutas y nombres internos
• También existe en SF convencional
– Evita repetir proceso de resolución
– Necesidad de coherencia

• Operación más rápida y menor consumo de red (escalabilidad)

• Fichero borrado y nombre interno reutilizado
• Uso de contador de versión del inodo

id. de máquina + id. disco + id. partición + id. inodo + nº versión

Sistemas Distribuidos
9

Fernando Pérez Costoya

Sistemas Distribuidos
10

Fernando Pérez Costoya

Resolución iterativa

Resolución transitiva

C

1/2

3/4

5/6

SD1

SD2

SD3

C

1

4

SD1

2

3

SD2

SD3

Sistemas Distribuidos
11

Fernando Pérez Costoya

Sistemas Distribuidos
12

Fernando Pérez Costoya

4-Sistemas de ficheros distribuidos

3

Sistemas Distribuidos

Resolución recursiva

Localización de ficheros

1/6

C

SD1

SD2

SD3

2

3

5

4

• Resolución obtiene nombre interno (UFID)
• Uso de UFID con dir. máquina donde fichero está localizado

– No proporciona, en principio, independencia de la posición

• Nombre de fichero cambia cuando éste migra

• Uso de UFID que no contenga información de máquina:

id. único de volumen + id. inodo + nº versión

– Por ejemplo (AFS):
– Permite migración de volúmenes
– Requiere esquema de localización: Volumen → Máquina

• Posibles esquemas de localización:
– Tablas que mantengan la información de ubicación (AFS)
– Uso de broadcast para localizar nodo

• Uso de “cache de localizaciones” en clientes

Sistemas Distribuidos
13

Fernando Pérez Costoya

Sistemas Distribuidos
14

Fernando Pérez Costoya

Acceso a datos del fichero

Semánticas de uso concurrente

• Una vez abierto el fichero, se tiene info. para acceder al mismo
• Aspectos de diseño vinculados con acceso a datos:

– ¿Qué se garantiza ante accesos concurrentes?

• Semántica de uso concurrente

– ¿Qué información se transfiere entre cliente y servidor?

– ¿Qué info. se guarda en cache y cómo se gestiona?

• Modelo de acceso

• Gestión de cache

• Sesión: serie de accesos que realiza cliente entre open y close
• La semántica especifica el efecto de varios procesos

accediendo de forma simultánea al mismo fichero

• Semántica UNIX

– Una lectura ve los efectos de todas las escrituras previas
– El efecto de dos escrituras sucesivas es el de la última

• Semántica de sesión (AFS)

– Cambios a fichero abierto, visibles sólo en nodo que lo modificó
– Una vez cerrado, cambios visibles sólo en sesiones posteriores
– Múltiples imágenes simultáneas del fichero
– Dos sesiones sobre mismo fichero que terminan concurrentemente:
– No adecuada para procesos con acceso concurrente a un fichero

• La última deja el resultado final

Sistemas Distribuidos
15

Fernando Pérez Costoya

Sistemas Distribuidos
16

Fernando Pérez Costoya

4-Sistemas de ficheros distribuidos

4

Sistemas Distribuidos

Modelo de acceso

• Modelo carga/descarga

– Transferencias completas del fichero
– Localmente se almacena en memoria o discos locales
– Normalmente utiliza semántica de sesión
– Eficiencia en las transferencias
– Llamada open con mucha latencia

• Modelo de servicio remoto

– Servidor debe proporcionar todas las operaciones sobre el fichero
– Acceso por bloques
– Modelo cliente/servidor

Modelo carga/descarga

• Correspondencia petic. de aplicación y mens. de protocolo:

– open → mensaje de descarga (download)

• se realiza traducción y servidor envía fichero completo
• cliente almacena fichero en cache local

– read/write/lseek → no implica mensajes de protocolo

• lecturas y escrituras sobre copia local
– close → mensaje de carga (upload)

• si se ha modificado, se envía fichero completo al servidor

Sistemas Distribuidos
17

Fernando Pérez Costoya

Sistemas Distribuidos
18

Fernando Pérez Costoya

Modelo de serv. remoto: con estado
• Correspondencia petic. de aplicación y mens. de protocolo:

– open → mensaje de apertura

• se realiza traducción
• servidor habilita zona de memoria para info. de la sesión
• retorna id. específico para esa sesión

– read/write/lseek → mensaje de protocolo correspondiente
• mensaje incluye id. sesión
• mensaje lectura y escritura incluye tamaño pero no posición
• uso de información sobre la sesión almacenada en servidor (posición)

– close → mensaje de cierre

• servidor libera zona de memoria de la sesión

• Ventajas servicio con estado (frente a sin estado):

– Mensajes más pequeños, posibilidad de realizar políticas

“inteligentes” en servidor (p.ej. lectura anticipada), procesamiento
de peticiones posiblemente un poco más eficiente

Modelo de serv. remoto: sin estado

• Correspondencia petic. de aplicación y mens. de protocolo:

– open → mensaje de apertura

• se realiza traducción
• servidor no habilita zona de memoria para info. de sesión (cliente sí)
• retorna id. interno del fichero UFID

– read/write → mensaje de protocolo correspondiente

• mensaje autocontenido
• mensaje incluye UFID, tamaño y posición
– lseek → no implica mensaje de protocolo
– close → no implica mensaje de protoc
  • Links de descarga
http://lwp-l.com/pdf14921

Comentarios de: Sistemas de ficheros distribuidos - Sistemas Distribuidos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad