42
Sistemas de Archivos Distribuidos Sistemas Distribuidos Sistenas Distribuidos 1 Diapo. No. 1 Dr. Roberto Gómez C. Sistema Archivos Distribuidos Sistemas de Archivos Distribuidos (Distributed File Systems) Diapo. No. 2 Dr. Roberto Gómez C. Sistema Archivos Distribuidos Sistema archivos vs disco Sistema archivos es la abstracción usada por el kernel para representar y organizar los recursos de almacenamiento Recursos almacenamiento pueden ser: El disco duro El disquette El CD-ROM La cinta magnética Memoria flash Dispositivos USB

Sistemas de Archivos Distribuidos · De solo lectura (High Sierra, iso9660, Rock Ridge, Joliet, Trivia, UDF) Usuario Sistemas Archivos Disco Diapo. No. 4 Dr. Roberto Gómez C. Sistema

Embed Size (px)

Citation preview

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 1

Diapo. No. 1

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Sistemas de Archivos Distribuidos

(Distributed File Systems)

Diapo. No. 2

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Sistema archivos vs disco• Sistema archivos es la abstracción usada por el kernel

para representar y organizar los recursos de almacenamiento

• Recursos almacenamiento pueden ser:– El disco duro – El disquette– El CD-ROM– La cinta magnética– Memoria flash– Dispositivos USB

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 2

Diapo. No. 3

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

FAT (FAT-12 FAT-16 FAT-32

VFAT

32- BIT FAT

New Technologie File Systems NTFS Version 1.1 / 4.0

NTFS Versión

High Performance File Systems

BeOS File Systems (BFS)

De propósito general (minix, xiafs, extfs, ext2fs, efs, reiserfs, enh-fs)

Sistema Arhivos de Red (NFS, AFS, Coda, nbd, GFS)

Especiales (tmpfs, swapfs, userfs, devfs)

De solo lectura (High Sierra, iso9660, Rock Ridge, Joliet, Trivia, UDF)

Sistemas Archivos DiscoUsuario

Diapo. No. 4

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Tareas Admon. Archivos• Asegurar disponibilidad• Vigilar, supervisar y administrar recursos de

almacenamiento• Protección información• Asegurar confidenciabilidad• Detectar y reparar alteraciones en el sistema de

archivos• Instalar y configurar los nuevos dispositivos

perifericos• En algunos casos: accountability

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 3

Diapo. No. 5

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Servicios vs servidores

• Servicio Archivos– especificación de lo que el sistema de archivos ofrece a

sus clientes– el cliente sabe que existen, pero desconoce como están

implementados

• Servidor Archivos– proceso que se ejecuta en alguna máquina y que ayuda

a implementar el servicio de archivos– sistema puede contar con un solo servidor o con varios– clientes no saben cuantos servidores existen

Diapo. No. 6

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Principales componentes de un sistema de archivos

Servicio directorio resolución nombres, añadir y borrar archivos

Servicio autorización eficiencia y/o lista de control de acceso

Servicio transacción admon. de concurrencia y duplicidadarchivos básico lectura/escritura archivos y atributos

Servicio sistema admon. de dispositivos, cache y bloques

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 4

Diapo. No. 7

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Definición

Un sistema de archivos distribuidos, (DFS), es una implementacióndistribuida del clásico modelo de tiempo compartido de un sistemade archivos, donde varios usuarios comparten archivos y almacenanrecursos.

Diapo. No. 8

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Conceptos de base

Sistema Distribuido: colección de máquinas interconectadas por una redde comunicación.

Máquina: puede ser una estación o un mainframe

Recursos locales: recursos con los que cuenta la máquina

Recursos remotos: el resto de las máquina y sus recursos

Servicio: software ejecutándose en una o más máquinas que proporcionan un tipo particular de función

Servidor: software de servicio en una sola máquinaUn servidor es un proceso que implementa servicios

Cliente: proceso que puede invocar un servicio a través de un conjuntode operaciones que forman su interfaz de cliente

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 5

Diapo. No. 9

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Características de un DFS

• DFS proporciona servicios de archivos a clientes• Clientes, servidores, y dispositivos de

almacenamiento se encuentran dispersos entre las máquinas de un sistema distribuido

• Diversidad de clientes y de archivos• Desempeño: tiempo para satisfacer varias

peticiones de servicio.– convencional: tiempo acceso disco + tiempo

procesamiento CPU– DFS: sobrecarga debido a la estructura distribuida

Diapo. No. 10

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Componentes DFS

• El verdadero servicio de archivos

– operaciones en archivos individuales

– lectura, escritura, actualizaciones y añadidos

• El servicio de directorios

– manejo de directorios

– alta, baja de archivos

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 6

Diapo. No. 11

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

El verdadero servicio de archivos

• Los archivos• Atributos• Modificación (archivos inmutables)• Capacidades y protección• Tipos servicios archivos

– modelo carga/descarga– modelo acceso remoto

Diapo. No. 12

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Los archivos

• Unix, MS-DOS: un archivo es una secuencia no-interpretada de bytes

• Significado y estructura de la información dentro de un archivo depende de la aplicación, el S.O. no esta interesado

• Mainframes:– existen diferentes tipos– puede estructurarse como una secuencia de registros– el S.O. puede llamar a un registro en particular

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 7

Diapo. No. 13

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Los atributos

• Piezas/partes de información acerca del archivo que no son parte del mismo archivo

• El DFS es el encargado de actualizar esta información y de ponerla a disposición de los usuarios

• Ejemplos– propietario– tamaño– permisos– fechas (creación, modificación)

Diapo. No. 14

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

La modificación de archivos

• Un archivo puede ser modificado después de ser creado

• En algunos sistemas las únicas operaciones permitidas son CREATE y READ

• Archivos inmutables: – una vez creados no pueden ser modificados– útiles para soportar file caching y replicación ya que no

es necesario preocuparse por actualizar copias

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 8

Diapo. No. 15

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Tipos servicios archivos

• Se cuenta con dos tipos, de acuerdo a si se comportan de acuerdo a:– un modelo de carga/descarga (upload/download)– un modelo de acceso remoto

Diapo. No. 16

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Modelos interfaces servicio archivo

archivo viejo

archivo nuevo

clienteservidor

Modelo carga/descarga

Modelo acceso remoto

cliente servidor

lectura

escritura

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 9

Diapo. No. 17

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Capacidades y protección

• Protección en DFS usa mismas técnicas que en un solo procesador:– capacidades– listas de control de acceso

• Capacidades– cada usuario cuenta con un ticket, llamado capacidad,

para cada objeto que debe ocupar– la capacidad especifica que tipos de accesos cuenta

Diapo. No. 18

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

• Listas de control de acceso– asocia a cada archivo una lista de los usuarios que

pueden acceder a los archivos y en que forma– ejemplo Unix: propietario, grupo y el resto del mundo

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 10

Diapo. No. 19

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

El servicio de directorios

• Servicios proporcionados

• Sistema jerárquico de archivos

• Consistencia visión sistema archivos

Diapo. No. 20

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Servicios proporcionados

• Proporciona operaciones para crear y eliminar archivos y/o directorios

• Permite el renombramiento de archivos• Posible mover archivos de un directorio a otro• Define una sintaxis para formar los nombres de

archivos y directorios

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 11

Diapo. No. 21

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Nombres archivos

• Los nombres cuentan con uno hasta un número máximo de letras, dígitos y algunos caracteres especiales.

• Algunos sistemas dividen el nombre en dos partes, separadas por un punto:

• Otros sistemas usan un atributo explicito en lugar de la extensión del nombre.

.extensión identifica el tipo de archivo

nombre delarchivo

Diapo. No. 22

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Sistema Jerárquicos de Archivos

• Permitir que los directorios contengan subdirectorios, para permitir que los usuarios puedan agrupar archivos relacionados entre sí

• Sistema representado por un árbol• Permite desplegar directorios y/o subdirectorios• Posible crear enlaces o apuntadores a un directorio

arbitrario• Estos enlaces convierten los árboles en

gráfos/gráficas

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 12

Diapo. No. 23

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Arboles vs gráficas

A

B C

D E

A0

B2

C1

D1

E1

máquina 2

máquina 1

Arbol de directoriosen una sola máquina

Grafo de directorios en dos máquinas

Diapo. No. 24

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Posibles problemas

• Directorio D tiene un enlace con directorio B• ¿Qué pasa cuando se elimina el enlace de A a B?

– es una estructura de árbol solo se puede eliminar un enlace con un directorio si el directorio al que apunta esta vacío

– en una gráfica/gráfo se permite la eliminación de un enlace mientras exista al menos otro enlace

• El problema existe en un ambiente centralizado, pero es más serio en los distribuidos.

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 13

Diapo. No. 25

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Posibles problemas

• ¿Qué pasa cuando se elimina el enlace de A a B en el grafo?– contador referencias de B se reduce de 2 a 1– no es posible llegar a B desde la raíz del sistema de

archivos– los directorios B,D y E y todos sus archivos se

convierten en huérfanos

• Consecuencia: no es posible borrar un directorio (rmdir) no vacío

Diapo. No. 26

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Consistencia Visión

• Todas las máquinas y procesos deben tener con exactitud la misma visión de la jerarquía de los directorios

• Se debe usar la misma técnica para poder acceder a un mismo archivo desde dos lugares diferentes

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 14

Diapo. No. 27

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Ejemplo Consistencia Visión

C

A

B FE

D

Servidor 1 Servidor 2

Diapo. No. 28

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Sistema 1: clientes con una misma vista

Cliente 1 Cliente 2

C

A

B FE

D

Raíz

C

A

B FE

D

Raíz

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 15

Diapo. No. 29

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Sistema 2: clientes con diferentes vistasCliente 1 Cliente 2

C

A

B FE

D

Raíz

C

A

B

FE

D

Raíz

Diapo. No. 30

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Problema de una inconsistencia en la visión

• Sea x un archivo dentro del directorio E• La trayectoria /D/E/x es válida en los clientes del

sistema 1• La misma trayectoria no es válida para el cliente

del sistema 2• Posible solución:

– La existencia de un directorio raíz global, que todas las máquinas lo reconozcan como tal

– Dicha raíz solo contiene una entrada por cada servidor– Ejemplo: /servidor/ruta (problema: transparencia)

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 16

Diapo. No. 31

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Nombramiento y Transparencia

Nombramiento: mapeo entre objetos lógicos y físicosusuario = objetos lógicos de datossistema = objetos físicos

Los nombres de los archivos tienen de uno hasta un número máximode letras dígitos y algunos caracteres especiales

Algunos sistemas dividen el nombre en dos partes separadas por un punto: [nombre archvo].[extensión]

Propiedad importante: transparenciaesconder el lugar de la red donde se encuentra físicamenteel archivo

Diapo. No. 32

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Tipos de transparencia

• Transparencia con respecto a la posición

• Independencia con respecto a la posición

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 17

Diapo. No. 33

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Transparencia con respecto a la posición

• Ruta de acceso no sugiere la posición del archivo• Por ejemplo:

– /servidor1/dir/dir2/x – indica que archivo x esta en el servidor1 pero no la

posición del servidor

• El servidor1 puede moverse físicamente dentro de la red, sin que se tenga que cambiar la ruta de acceso

Diapo. No. 34

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Independencia con respecto a la posición

• Un sistema donde los archivos se pueden desplazar sin que cambien de nombres

• Del ejemplo anterior:– si el archivo x es muy grande– servidor1 tiene poco espacio– servidor2 tiene mucho espacio– sistema puede desplazar x a servidor2

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 18

Diapo. No. 35

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

• Problema: servidor1 es el primer componente de la ruta, aunque dir1 y dir2 existan en los dos servidores es necesario cambiar el nombre de la ruta– pasa de /servidor1/dir1/dir2/x a /servidor2/dir1/dir2/x– los programas con el primer nombre no podrán funcionar

• Corolario– Un sistema distribuido que incluya los nombres de la

máquina o el servidor no es independiente con respecto a la posición

– Tampoco lo es un sistema basado en montajes remotos– Un sistema donde los archivos se pueden desplazar sin

que cambien sus nombres tienen independencia de posición.

Diapo. No. 36

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Independencia de ubicación vs

transparencia estática de la ubicación

• Es necesario “divorciar” los datos de su ubicación

• Transparencia estática de ubicación proporciona a los usuarios una forma conveniente de compartir datos

• La independencia de la ubicación separa la jerarquía de nombres de la jerarquía de los dispositivos de almacenamiento dentro de la estructura de la computadora.

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 19

Diapo. No. 37

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Nombramiento a dos niveles

• Varios sistemas usan modelo de nombramiento a dos niveles• Los archivos tienen dos tipos de nombres

– nombres simbólicos: usados por la gente para diferenciar archivos (prog.c para uso de la gente)

– nombres binarios: usados por el sistema

• Otro esquema: que el nombre binario indique el servidor y el nombre del archivo dentro del servidor– esquema permite que un directorio en un servidor contenga un archivo

almacenado en otro servidor– alternativa de hacer lo anterior: liga simbólica

Diapo. No. 38

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Esquemas de nombramiento

1. Archivos son nombrados a partir de una combinación delhost y de un nombre local, (por ejemplo /armagnac/usr/bin )

2. Proporcionar un medio para “montar” directorios remotos a directorios locales, (por ejemplo NFS )

3. Una sola estructura de nombres global se encarga de nombrartodos los archivos del sistema

Existen tres esquemas de nombramiento de archivos y directorios:

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 20

Diapo. No. 39

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Aspectos implementación sistemas archivos distribuidos

• Montaje de archivos• Servidores statefull y stateless• Acceso de archivos compartidos• Semánticas para compartir de archivos• Control de versiones• El concepto de caché• Las replicas de archivos• Protocolos actualización replicas

Diapo. No. 40

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

El montaje de archivos

• Una operación de montaje del cliente ata un sistema de archivos remoto a la jerarquía del sistema de archivos del cliente

• El punto de montaje generalmente es una hoja de la jerarquía que contiene un subdirectorio vacío.

• Servidor restringe el montaje de algunas partes del sistema de archivos a un conjunto de archivos (archivo de exportación)

• Es una forma muy conveniente de lograr una transparencia de ubicación en el acceso de archivos

• Desventaja: requiere conocimiento de la localización de los servidores

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 21

Diapo. No. 41

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Ejemplo montaje archivos

Máquinacliente local

Máquinaservidor remoto

raíz raíz

OS

DSF DSM seguridad

almacén

papel libro

exportar

montaje

Diapo. No. 42

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Tipos de montaje• Montaje explícito

– Cliente realiza llamadas de sistema de montaje en cualquier momento que este lo desee

– Es más flexible, pero menos manejable que el montaje por booteo

• Montaje a nivel booteo.– Un conjunto de servidores de archivos esta predefinido y

todos los montajes se realizan a tiempo de booteo de la máquina cliente

– Cliente posee una vista estática pero completa de la total sesión de computo

– Desventaja: montar sistemas que no se utilizan

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 22

Diapo. No. 43

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

• Automontaje– montaje servidores es realizado implícitamente, cuando un

archivo es abierto por el cliente– es una combinación de montaje explícito con montaje de

booteo y tiene las ventajas de los dos– es dinámico y transparente– posible que cliente especifique servidores que proporcionen

dicho servicio– sistema operativo hace un broadcast petición y monta el

primer servidor que le responda

Diapo. No. 44

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Registro de servidores

Util en el caso de un sistema con múltiples servidores que proporcionan el mismo servicio de archivos.

Servidor puede localizarse de dos formas:

1. Servidores se registran en un servicio de registro2. Clientes realizan un broadcast de una petición de automontaje

Estas dos formas son esencialmente un protocolo de resolución de nombres o direcciones.

Algunas veces el montaje de archivos se hace en forma de cascada,un sistema de archivos montado puede contener subdirectorios montadosde otros directorios.

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 23

Diapo. No. 45

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Servidores statefull y stateless

• Sesión operaciones archivos: conexión para una secuencia de peticiones y respuestas entre el cliente y servidor

• Existe información asociada con cada sesión de archivos:– archivos abiertos y sus clientes– descriptores y manejadores archivos– apuntadores de las posiciones dentro archivos abiertos– información de montaje– status del candado– llaves de sesión– caché o buffer

Diapo. No. 46

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

• Información estado de una sesión archivos es distribuida entre el cliente y servidor

• Cliente debe mantener gran parte de la información• Lo que el servidor debe asumir para una sesión abierta debe

determinarse• Servidor statefull: mantiene internamente parte de la información

de estado• Servidor stateless: si no mantiene ninguna información• Servidor stateless es más fácil de implementar y es más tolerante a

fallas; implementación debe abarcar:– idempotencia– mecanismos de lock de archivos– manejo de una sesión de llaves– consistencia caché

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 24

Diapo. No. 47

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Comparación stateless vs statefull

Ventajas stateless Ventajas statefull

Tolerancia a fallas Mensajes solicitud más cortosNo necesita llamadas open/close Mejor desempeñoNo se desperdicia el espacio del Es posible la lectura adelantadaservidor en tablasNo existe límite para el número Es más fácil la idempotenciade archivos abiertosNo hay problemas si un cliente Es posible el cierre de falla archivos

Diapo. No. 48

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Acceso de archivos compartidos

El compartir archivos significa que varios clientes pueden teneracceso al mismo archivo al mismo tiempo.

Posibles consecuencias de compartir archivos son:

1. clientes traslapan operaciones de acceso2. clientes intercalan operaciones de acceso

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 25

Diapo. No. 49

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Traslapamientos de accesos

• Implica existencia varias copias del mismo archivo• Concurrencia es alcanzada por una multiplexión del

espacio del archivo • Dos formas de repartir copias del archivo

– Tener parte del archivo remoto – Contar con una copia de trabajo de todo el archivo

• Problema a resolver: coherencia de los datos– cada sitio, que disponga de una copia, puede tener una

visión diferente de los datos– control coherencia: manejar acceso a copias de tal forma

que se proporcione una vista coherente del archivo

Diapo. No. 50

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Intercalamiento accesos

• Se da debido a varias granuralidades de operaciones de acceso de datos

• Algunos accesos: operaciones simples de L/E• Otros accesos: operaciones interrelacionadas que se llevan a cabo

dentro de un intervalo de tiempo definido por el usuario (transacción o sesión)

• Ejecución intercalada secuencias en los mismos archivos crea ilusión de compartir

• Problema: control concurrencia– alcanzada multiplexando el tiempo de los archivos– control concurrencia: aspectos a cuidar: prevenir una secuencia de

ejecución interfiera con otras cuando son intercaladas para evitar resultados inconsistentes o erróneos

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 26

Diapo. No. 51

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Ejemplo intercalamiento accesos

C1

C2

C3

( p11 p12 p13)

( p11 p21 p31 p12 p22 p32p13 p23 p33)

( p21 p22 p23)

( p31 p32 p33)

pij operación j del cliente i

Diapo. No. 52

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Tipos acceso “espaciales” de archivos

Acceso remotoningún dato del archivo es dejado en la máquina del clientecada petición es transmitida directamente al servidor

Acceso cacheuna pequeña parte de la información es almacenada en lacaché local; operación escritura provoca un acceso remotoy actualización de la caché

Acceso de download/uploadtodo el archivo es bajado para poder consultarlo o modifi-carlo localmente; acceso remoto o upload se realiza cuandose actualiza el archivo remoto

En el dominio del espacio, accesos L/E remotos pueden implementarseen alguna de las siguientes formas:

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 27

Diapo. No. 53

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Características coherencia datos

• Todas las copias son idénticas en todo el tiempo• Copias son percibidas como idénticas tan solo en algunos

puntos en el tiempo• Usuarios siempre leen los datos más recientes en las copias• Operaciones de escritura siempre son realizadas

“inmediatamente” y sus resultados son propagados de la mejor forma posible

- Archivos pueden ser replicados y compartidos por varios usuarios- Lo anterior provoca que los clientes puedan tener diferentes versiones- La coherencia de los datos puede interpretarse como:

Diapo. No. 54

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Atomicidad actualizaciones• Cada operación de actualización es completada

satisfactoriamente o no tiene ningún efecto• Fallas durante la actualización pueden poner al

archivo en un estado inconsistente• Actualización atómica requiere que el sistema sea

capaz de “deshacer” actualizaciones y restaurar el sistema a un estado anterior a la actualización parcial

• Operación de “deshacer” implica el uso de un almacenamiento estable

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 28

Diapo. No. 55

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Acceso concurrente temporal

• Operaciones relacionadas con archivos pueden ser agrupadas en diferentes intervalos de tiempo de acuerdo a sus requerimientos de aplicación

• Operaciones intercaladas de lectura/escritura de diferentes procesos resultan en accesos archivos concurrentes

• Tres tipos de operaciones– lectura/escritura simple– transacción– sesión

Diapo. No. 56

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Tipos operacionesSimple RW (Lectura/Escritura)

- cada operación de lectura y escritura es una petición/respuestade acceso al servidor de archivos

Transacción-una secuencia de operaciones lectura/escritura es tratadacomo una unidad fundamental de acceso a archivo

- sintácticamente es representada porbegin transaction

---------------------------------------------

end transaction- las operaciones de lectura y escritura de la transacción se realizan sobre el mismo archivo

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 29

Diapo. No. 57

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Sesión- consiste de una secuencia de transacciones y deoperaciones simples de lectura/escritura, con semántica adicional asociada con la sesión de acuerdo a la aplicación

- típicamente una sesión es encapsulada con un par de operaciones tipo open y close

Diapo. No. 58

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Semánticas para compartir• Compartir archivos provoca problemas control coherencia y

concurrencia• Solución depende semántica comportamiento requerida por las

aplicaciones• Ideal: actualizaciones se completan instantáneamente y que sus

resultados sean visibles para otros procesos inmediatamente• Semántica dura de alcanzar, por lo que es “relajada” en varios

aspectos• Dependiendo noción espacio y tiempo se pueden listar tres

modelos de semánticas populares:– semántica Unix– semántica transacción– semántica sesión

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 30

Diapo. No. 59

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Tipos de semánticas para compartir

Semántica UnixEl resultado de una escritura es propagado al archivo y a sus copias, de tal forma que las lecturas regresarán el último valor del archivo.

Semántica TransacciónResultados escritura son almacenados en una zona de trabajoy “dados de alta” (committed) al final de la transacción

Semántica SesiónEscritura a un archivo son realizadas en una copia de un archivoy el resultado se convierte en permanente solo al final de lasesión

Diapo. No. 60

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Concurrencias en espacio y tiempo en el acceso de archivos

espacio acceso acceso accesotiempo remoto cache carga down/up

RW simple no es un verdadero control controlDFS coherencia coherencia

transacción control concurrencia coherencia y coherencia yconcurrencia concurrencia

sesión no aplicable no aplicable ignora el compartir

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 31

Diapo. No. 61

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

El concepto de versión• Dos tipos de modelos semántica sesión

– sesión es cerrada inmediatamente después de una operación de escritura– un archivo es creado debido al cierre de un archivo; archivo original de

solo lectura (inmutable)

• Ultimo tipo requiere que los clientes conozcan los nombres de los nuevos archivos creados

• Solución simple: utilizar el mismo nombre pero con un número de versión para cada revisión del archivo

• Archivo con número de versión más grande es considerado la versión actual del archivo compartido

• Abertura archivo siempre regresa la versión actual

Diapo. No. 62

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

• Operaciones posteriores de lectura/escritura se realizan sobre la copia local del trabajo (similar modelo sesión).

• Cuando el archivo es cerrado, la versión local modificada se le da el nombre de versión tentativa y se envía al servicio de control de versión

• Si la versión tentativa esta basada en la versión actual, la actualización es consumada y versión tentativa se convierte en la versión actual.

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 32

Diapo. No. 63

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Control de la versión

Ignorar el conflictoUna nueva versión es creada sin importar lo que pasó

Solución del conflicto de versiónSuponer que la información modificada en la versión tentativano está ligada con la información de la nueva versión actual.

Solución del conflicto de serializaciónSuponer que los datos modificados en la versión tentativafueron modificados por la nueva versión actual.

Si versión tentativa esta basada en versión vieja:

Diapo. No. 64

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Esquema básico de caché

Tienda

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 33

Diapo. No. 65

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Características principales

Mantener los archivos más usados en el caché

Archivos son identificados con una copia que reside en la máquinaservidora, pero se tienen copias en diferentes sitios

Modificación de una copia debe reflejarse en los caches, (consisten-cia caché).

Granuralidad del dato caché varía desde varios bloques de un archivo hasta un archivo entero.

Usualmente más datos caché son traídos en la caché en el caso de unapetición, previendo futuras peticiones de acceso

Diapo. No. 66

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Ubicación de la caché*Problema: donde almacenar los datos caché:

- disco servidor- memoria principal del servidor- disco cliente- memoria principal del cliente

*Ventaja caché disco sobre el caché memoria : disponibilidad*Ventajas caché memoria principal sobre caché de disco:

1. Permite que las estaciones sean diskless2. Datos pueden accederse más rápidamente3. Tecnología actual va dirigida a memorias menos

caras y más grandes4. Los caches del servidor estarán en memoria principal

independientemente de donde se localizan los cachesde los usuarios

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 34

Diapo. No. 67

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Caché en el servidor

• Lugar más recomendable: disco servidor• Servidor dispone espacio y solo se tiene una copia

(no problemas consistencia)• Problema: desempeño, tiempo de búsqueda y

transferencia a memoria y después a red• Cache en memoria: útil y transparente para el

cliente, desde el punto de vista del cliente solo existe una copia del archivo (no hay problemas de consistencia)

Diapo. No. 68

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Caché cliente

• Evitar problemas y/o retardos debido a la red• Elección disco o memoria es equivalente a

elección entre espacio o desempeño• Si es en memoria tiene tres opciones

– Dejarlo en el espacio de direcciones del proceso– Dejarlo en el kernel– En un nivel de usuario diferente: proceso de

administración de caché

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 35

Diapo. No. 69

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Consistencia caché

• Caché cliente puede introducir inconsistencia en el sistema• Si dos clientes leen el mismo archivo y ambos lo modifican,

pueden ocurrir problemas graves• Posible solución: adoptar semántica sesión• Otro problema se da cuando dos archivos son regresados para

actualizar servidor: el escrito al último reescribirá al otro• Algoritmos para asegurar consistencia:

– algoritmo write-through– algoritmo escritura retrasada– algoritmo write-close– algoritmo centralizado de control

Diapo. No. 70

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Algoritmo write-through

• Cuando una entrada caché es modificada el nuevo valor es almacenado en caché, pero es enviado inmediatamente al servidor.

• Consecuencia: cuando otro proceso lee el archivo este toma el valor más reciente

• Problema:– proceso en máquina A lee un archivo f– cliente termina pero deja f en su caché– después máquina B lee el mismo archivo, lo modifica y escribe a

través del servidor– nuevo cliente en máquina A: lo primero que hace es abrir y leer f, el

cual se toma de la cache => valor/contenido de f obsoleto

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 36

Diapo. No. 71

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Algoritmo write-through (cont)

• Solución– administración de la caché debe verificarse con el servidor antes de

proporcionar a un cliente información de la caché– el chequeo realizado a través comparación de tiempos de

modificación (caché vs servidor)– también pueden usarse números de versión o checksums

Diapo. No. 72

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Algoritmo escritura atrasada

• El algoritmo anterior ayuda en lectura, pero el tráfico en escritura es el mismo que si no hubiera caché.

• En lugar de ir al servidor en el instante en que el write es realizado, el cliente solo hace una anotación de que el archivo ha sido modificado

• cada 30 segs. todas las actualizaciones son reunidas y enviadas al servidor

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 37

Diapo. No. 73

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Algoritmo write-on-close

• Adoptar semántica sesión y escribir el archivo de regreso al servidor solo después de que ha sido creado

• Mejor aún: esperar 30 segundos después de cerrarlo para ver si el archivo va a ser borrado.

• Consecuencia: si dos archivos cachés son regresados en sucesión el segundo sobre-escribirá al primero.

• Solución:– ver que no es tan malo como parece– sistema uniprocesador permite que dos procesos abran y lean un

archivo, modificarlo en su espacio de direcciones y regresarlo

Diapo. No. 74

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Algoritmo centralizado de control

• Cuando un archivo es abierto, la máquina que lo hizo envía un mensaje al servidor para anunciarle este hecho

• Servidor lleva un historial de quien tiene que archivo abierto y si fue abierto para escritura, lectura o ambas.

• Servidor autoriza al proceso el acceso.• Cuando un archivo es cerrado, el evento se debe reportar de

tal forma que el servidor pueda actualizar su información.• Cuando cliente intenta abrir un archivo y el archivo ya esta

abierto en el servidor la petición puede negarse o formarse.– servidor puede enviar un mensaje no solicitado a todos los clientes

que tengan el archivo abierto, diciéndoles que borren el archivo de su caché y desactiven el caching solo para ese archivo

– mensajes no solicitados: NO elegante ya que se reinvierte roles del cliente y servidor

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 38

Diapo. No. 75

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Replica de archivos

Se dispone de varias copias de algunos archivos, donde cadacopia está en un servidor de archivos independiente.

Razones de justificación del servicio:

1. Aumentar la confiabilidad de respaldos independientesde cada archivo

2. Permitir el acceso al archivo aunque falle un servidor dearchivos

3. Repartir la carga de trabajo entre varios servidores

Diapo. No. 76

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Transparencia de las replicas

• Hasta donde los usuarios deben preocuparse por la forma de la replica

• Dos extremos– usuarios comprometidos en proceso replica (pueden

controlarlo)– sistema se encarga de todo

• Tres métodos– replica controlada por programador– replica atrasada– replica grupal

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 39

Diapo. No. 77

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Implementación de la transparencia

c

s1

s2

s3

c

s1

s2

s3

s1

s2

s3

c

1

2

3

cliente

servidor

AhoraDespués

Después

Grupo

Replica explícita Replica atrasada Replica grupal

nombresimbólico

direcciones binariasmúltiples (para s1,s2,s3)

cachafas 1.14 2.16 3.19toto.c 1.2.1 2.43 3.41

Diapo. No. 78

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Protocolos de actualización

Objetivo: dada una lectura de un archivo replicado, por parte devarios clientes, estos deben obtener el valor más reciente-mente modificado.

Algoritmos:

1. Replica de la copia primaria2. Esquema Gifford: algoritmo del voto3. Actualización de propagación de Gifford4. El voto con fantasmas

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 40

Diapo. No. 79

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

La replica de la copia primaria

Uno de los servidores se denomina como primario y el resto sonsecundarios

Actualizaciones se envían al primario

Primario realiza cambios y envía comandos a secundarios para querealicen la misma modificación.

Lecturas se pueden hacer de cualquier copia, primaria o secundaria

Diapo. No. 80

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Algoritmos con votos (Gifford)• Idea base: solicitar permiso de varios servidores para solicitar y

conseguir permiso de lectura/escritura de un archivo• Consideremos N servidores• Escritura

– cliente debe contactar al menos N/2+1 servidores– una vez conseguido el permiso se debe realizar la actualización y asignar

un nuevo número de versión al nuevo archivo– número usado para identificar la versión del archivo y es el mismo para

todos los nuevos archivos actualizados

• Lectura– cliente debe contactar al menos N/2+1 servidores– les envia el número de versión asociado con el archivo a leer– si todos los números coinciden: debe ser la versión más reciente ya que

un intento por actualizar los otros servidores fallaría ya que no habría una mayoría de servidores

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 41

Diapo. No. 81

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Ejemplo algoritmo por votos

N=5

v=8

S1

v=‘

S2

v=8

S3

v=?

S4

v=8

S5

Tres tienen versión 8Es imposible que los otros dos tengan versión 9

Diapo. No. 82

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Esquema actualizado de Gifford

• Mas general que el de votos• Considerando N servidores• Lectura archivo:

– se requiere conjuntar un quorum de lectura (Nr servidores)

• Escritura archivo:– se requiere conjuntar un quorum de escritura (Nw servidores)

• Condición a respetar: Nw + Nr > N• Solo hasta que el apropiado número de servidores estén de

acuerdo, un archivo puede ser leído o escrito.

Sistemas de Archivos Distribuidos Sistemas Distribuidos

Sistenas Distribuidos 42

Diapo. No. 83

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

Ejemplos algoritmo del voto mejorado de Gifford

A B C D

E F G H

I J K L

A B C D

E F G H

I J K L

A B C D

E F G H

I J K L

quórum de lectura

quórum de escritura

Nr = 3, Nw = 10 Nr = 7, Nw = 6 Nr = 1, Nw = 12

(a) (b) (c)

Diapo. No. 84

Dr. Roberto Gómez C. Sistema Archivos Distribuidos

El voto con fantasmas

Las lecturas son más frecuentes que las escrituras, por lo que Nr es pequeño y Nwes muy cercano a N

Si fallan unos cuantos servidores, podría ser imposible obtener un quórum de escritura

Voto con fantasmas crea un servidor fantasma, sin espacio de almacenamiento, para cada servidor real que haya fallado

No se permite un fantasma en un quórum de lectura, pero se puede unir a un quórum de escritura, en cuyo caso solo deshecha el archivo escrito en él

La escritura solo tiene éxito si al menos uno de los servidores es real.

Al arrancar de nuevo un servidor fallido, debe obtener un quórum de lectura para loca-lizar la versión más reciente, la cual copia en su espacio antes de iniciar su operación.