18 y 19 sistemas de archivos distribuidos y tarea...

37
18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 Estructuras de datos (Prof. Edgardo A. Franco) 1 Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco [email protected]

Upload: lamkhuong

Post on 25-Sep-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

Estructuras de datos (Prof. Edgardo A. Franco)

1

Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco [email protected]

Page 2: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Contenido

• Introducción • Requisitos • Aspectos de Diseño

• Servicios de archivos • Servicios de directorios • Módulo cliente • Semántica de archivos compartidos

• Aspectos de Implementación • Uso de Archivos • Estructura del Sistema • Caching • Réplicas

• Tarea 05

2

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Co

nte

nid

o

Page 3: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Introducción

• Un sistema de archivos distribuidos permite a los procesos el acceso transparente y eficiente de archivos que permanecen en servidores remotos.

• Son útiles en Intranets, redes locales y sistemas distribuidos

• Son responsables de la organización, almacenamiento, recuperación, nominación, compartimiento y protección de los archivos.

• Proporcionan una interfaz de programación que abstrae a los programadores de los detalles de localización y asignación del almacenamiento.

3

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Intr

od

ucc

ión

Page 4: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Introducción

• Servicios de Archivos • Especificación de los servicios que el servidor de

archivos (SA) ofrece a sus clientes. • Especificación de la interfaz del SA con los clientes • Describe las primitivas disponibles con sus parámetros

y acciones.

• Servidor de archivos: • Proceso que se ejecuta en alguna máquina y ayuda a

implantar el servicio de archivos. • Corre en el espacio de usuario, por lo que el sistema

puede contener varios SA con servicios de archivos diferentes.

• Puede haber 1 o más SA, pero debe ser transparente a los clientes.

4

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Intr

od

ucc

ión

Page 5: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Requisitos

• Transparencia: • De acceso: permite el acceso a los archivos de la misma

forma que como un sistema de archivo local. • De localización: se desconoce la ubicación exacta de los

archivos • De movilidad: la ubicación de los archivos puede ser

cambiada. • De prestaciones: continúa funcionando mientras la carga

del servicio varíe en un rango • De escalabilidad: Es posible incrementar la capacidad del

sistema y usuarios de este de manera relativamente sencilla.

• Actualizaciones concurrentes: soporta varios clientes modificando los mismos datos de manera concurrente

5

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Req

uis

ito

s

Page 6: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Requisitos

• Replicación de archivos: puede ser implementada por redundancia o caching.

• Heterogeneidad: del hardware y sistema de operación

• Tolerancia a fallas: se mantiene la operación del sistema aún con fallas de algunos nodos

• Consistencia: define la semántica de actualización de una copia

• Seguridad: mecanismos de control de acceso y autenticación

• Eficiencia: el desempeño debe ser similar a sistemas de archivos locales.

6

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Req

uis

ito

s

Page 7: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

• Un sistema de archivos distribuido generalmente tiene tres componentes importantes: servicio de archivos, servicio de directorios y módulo cliente

1. Servicio de archivos: Ofrece operaciones sobre archivos individuales: leer, escribir, agregar.

• Aspectos importantes: • Administración de los atributos (información que no

es parte de el archivo en si mismo)

• Responsable de la protección contra accesos no permitidos, a través de capacidades o listas de control de acceso.

7

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o Aspectos de diseño

Page 8: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

• Responsable del modelo de acceso: por carga/descarga o por acceso remoto.

8

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o

Carga/descarga Acceso remoto

cliente servidor cliente servidor

Aspectos de diseño

Page 9: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

2. Servicio de directorios: Ofrece operaciones sobre directorios: crear y borrar directorios, copiar y mover archivos entre directorios.

• Aspectos importantes: • Responsable de resolver el nombre de los archivos.

• Debe proveer transparencia de los nombres con respecto a la localización.

• Ofrecer nombres de dos niveles: nombres simbólicos y nombres binarios

• Administra la organización de los archivos: sistema jerárquico de archivos.

• Maneja los enlaces lógicos y físicos 9

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o Aspectos de diseño

Page 10: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

3. Módulo cliente: se ejecuta en cada máquina cliente

• Aspectos importantes:

• Integra y extiende las operaciones de los servicios de archivos y de directorios a través de una interfaz sencilla

• Se ejecuta a nivel de usuario

• Mantiene información sobre las ubicaciones de los servidores de archivos y de directorios.

• Maneja el caching y buffering en el cliente 10

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o Aspectos de diseño

Page 11: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de diseño

• Un aspecto de diseño importante se refiere a la semántica del sistema de archivos

• Semántica de archivos compartidos

• Semántica de sesión

• Otros aspectos del diseño a considerar son:

• Archivos inmutables

• Transacciones atómicas

11

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o

Page 12: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de diseño

• Semántica de archivos compartidos: Se refiere a cómo secuencializar los “reads” y “writes” sobre archivos compartidos de manera tal que no se lean valores obsoletos o se pierdan actualizaciones. • Semántica (E.g. en Unix):

• Impone en todas las operaciones un orden absoluto en función del tiempo y ante el “read” retorna el valor más reciente del dato.

• Cada operación en un archivo es visible a todos los procesos en forma instantánea.

• El desempeño de este método es pobre.

12

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o

Page 13: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de diseño

• Se logra fácilmente si sólo existe un servidor de archivos y los clientes no hacen “caching” de sus archivos. En este caso todas las operaciones “read” y “write” pasan directamente por el servidor de archivos y las procesa en forma secuencial.

• Para mejorar el desempeño se puede permitir a los clientes tener copias locales de los archivos de uso frecuente en sus caches. Pero hay problemas de lecturas obsoletas.

• Para evitar el problema de lecturas obsoletas se puede: • Propagar inmediatamente las modificaciones al

servidor

• Relajar la semántica de compartimiento.

13

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o

Page 14: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de diseño

• Semántica de sesión

• (E.g. en Unix):

• Ningún cambio es visible a otros procesos hasta que el archivo se cierre.

• No todos los “reads” retornan el valor más reciente del dato.

• Si dos procesos tienen copias locales del mismo archivo y lo modifican al mismo tiempo, el resultado final depende de quién lo cierre más rápido.

14

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o

Page 15: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de diseño

• Archivos inmutables:

• No existen actualizaciones, es más fácil compartir y replicar. Las únicas operaciones permitidas son “create” y “read”.

• Se pueden actualizar los directorios y reemplazar los archivos en forma atómica.

• ¿Qué sucede si dos procesos intentan reemplazar el mismo archivo a la vez?

• ¿Qué sucede si un proceso reemplaza un archivo mientras otro lo está leyendo?

• Transacciones atómicas

15

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e d

iseñ

o

Page 16: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

• A la hora de realizar una implementación de un sistema de archivos distribuidos es necesario considerar el uso de los archivos, la estructura del sistema, la operación de los servidores, el caching de los archivos así como la manera de crear y mantener las replicas de los archivos.

16

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

men

taci

ón

Page 17: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

17

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

• Uso de archivos:

• Mediciones dinámicas: El mismo servidor de archivos registra en una bitácora (“log”) todas las operaciones que realiza, para ser analizadas posteriormente. Esto revela:

• Frecuencia de las operaciones

• Número de archivos abiertos

• Cantidad de archivos compartidos

Page 18: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

18

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

men

taci

ón

• Uso de archivos:

• Si existiera un estudio donde se demostrará que: • La mayoría de los archivos está por debajo de 10K.

• Esto hace suponer que es mejor transferir entre cliente-servidor archivos completos en lugar de bloques de disco.

• La mayoría de los archivos tienen vida corta. • Esto supone que es mejor crear el archivo en el

cliente y mantenerlo ahí hasta su eliminación, disminuyendo tráfico entre cliente-servidor.

• Es poco usual compartir archivos. • Es mejor usar semántica de sesión y hacer “caching”

de los archivos en el cliente.

Page 19: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

19

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

men

taci

ón

• Uso de archivos:

• Si existiera un estudio • Existen distintas clases de archivos con

propiedades diferentes. • Esto hace suponer que deben existir diferentes

mecanismos para manejar diferentes clases de archivos:

• La lectura es más común que la escritura. • Favorece a la semántica de sesión.

• La lectura y escritura son secuenciales. • No es común el acceso aleatorio.

Page 20: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

20

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

• Estructura del sistema: • Se refiere a la organización interna de archivos y

directorios. • ¿Cómo estructurar el servicio de archivos y

directorios? • Combinados en un mismo servidor: Las operaciones

son directas. • Separarlos:

• Abrir un archivo implica ir al Servidor de directorios, localizar el archivo y luego ir al Servidor de Archivos para llevar a cabo la lectura o escritura.

• Requiere mayor comunicación. Pero es más flexible y el software es más sencillo.

Page 21: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

21

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

men

taci

ón

Nombre simbólico Cliente

Servidor de directorio

Nombre binario

Servidor de archivos

Acceso a archivos con servidores de directorios y archivos separados

Page 22: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

• Considerar si los servidores de archivos y directorios deben contener la información de estado de los clientes.

• Servidores sin estado (“stateless”)

• Cuando un cliente envía una solicitud a un servidor, éste la lleva a cabo, envía la respuesta y elimina de sus tablas internas toda la información relativa a dicha solicitud.

• No guarda información del cliente entre solicitudes.

• Cada solicitud debe ser autocontenida.

22

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Page 23: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

• Servidores con estado

• Los servidores guardan información del estado de los clientes entre solicitudes: tabla que asocia los descriptores de archivos con los archivos propiamente dichos.

23

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Page 24: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

24

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Ventajas de los servidores sin estado

Desventaja de los servidores con estado

Tolerantes a fallas No se desperdicia espacio No existe límite para el número de archivos abiertos. No hay problema si un cliente Falla

La recuperación quedará a cargo del cliente. Se pueden desbordar las tablas y no se podrán abrir más archivos Si un cliente falla después de abrir un archivo, el servidor esta ante un dilema: • Sus tablas se llenan de basura • Eliminar archivos innecesarios

Page 25: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

25

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Ventajas de los servidores con estado

Desventaja de los servidores sin estado

Mensajes más cortos Mejor desempeño porque las tablas pueden estar en memoria principal o en cache. Es posible realizar lecturas adelantadas. Es fácil reconocer operaciones idempotentes Puede manejar el bloqueo de archivos.

Mensajes autocontenidos más largos. Desempeño pobre No son posibles lecturas adelantadas Es difícil reconocer operaciones idempotentes Se requieren un servidor de "locks" especial.

Page 26: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación • Caching: • Dónde mantener los archivos o parte de ellos.

• Guardarlo en el disco del servidor: • Ventajas: Hay espacio, se requiere sólo una copia de

cada archivo, archivos accesibles a todos los clientes, no hay problemas de consistencia.

• Problema: Bajo desempeño en la transferencia del archivo: • Disco del servidor memoria del servidor red

memoria del cliente

26

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

disco del

servidor

disco del cliente

(opcional)

Memoria del

cliente Memoria del

servidor

1 2 3 4

red

Page 27: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

• Ventajas: Mantiene las ventajas anteriores y mejora el desempeño.

• Problemas:

• Requiere determinar el tamaño de la unidad que administra el caché: todo el archivo o por bloques.

• Se necesita un algoritmo de reemplazo cuando el caché esté lleno (LRU).

27

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Page 28: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

• “Caching” en el cliente: • En disco es lento, en general más lento que el

anterior. Es bueno cuando son muchos datos. • En memoria principal:

• En el espacio de direcciones del cliente, administrado por librerías con llamadas al sistema. Cuando el proceso termina, los archivos modificados se actualizan en el servidor.

• En el kernel. La ventaja es que el caché sobrevive al proceso. La desventaja es que siempre hay que llamar al kernel.

• En un administrador de caché en espacio de usuario. Libera al kernel del sistema, fácil de programar, más flexible.

28

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Page 29: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

• El “caching” en el servidor no tiene efectos en la semántica del sistema de archivos.

• El “caching” en el cliente ofrece mejor desempeño a costa de mayor complejidad y posible semántica más difusa.

29

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Page 30: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Aspectos de Implementación

•Réplicas:

• Razones para el servicio de réplicas:

• Aumento de confiabilidad al disponer de respaldos independientes de cada archivo.

• Disponibilidad: permitir accesos aunque falle uno de los servidores.

• Desempeño: repartir carga de trabajo entre servidores.

30

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Page 31: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Formas de creación de réplicas:

1. Réplica explícita: el cliente controla el proceso. Cuando crea un archivo lo hace en un servidor específico y adicionalmente puede crear copias en otros servidores.

Se registran en el cliente las copias. Si quiere abrir de nuevo un archivo, busca la primera disponible.

archivo 1.14 2.16 3.19

prog.c 1.21 2.43 3.41

C

S3

S2

S1

31

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n Aspectos de Implementación

Page 32: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

2. Réplica retrasada: el cliente crea el archivo en un servidor, luego en forma automática el servidor crea las copias sin conocimiento del cliente.

El sistema es el encargado de la recuperación.

3. Uso de comunicación en grupo:

C

S3

S2

S1

C

S3

S2

S1

32

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n Aspectos de Implementación

Page 33: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Protocolos de actualización:

1. Replicación con copia primaria:

• Un servidor es primario, el resto son secundarios.

• La actualización llega al servidor primario, éste realiza los cambios en forma local y después envía órdenes a los servidores secundarios para que realicen las mismas modificaciones.

• Las lecturas se ejecutan desde cualquier servidor.

o ¿Qué sucede si falla el primario antes de la actualización de los secundarios?

o Si falla el primario, ¿quién hace las actualizaciones?

33

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n

Aspectos de Implementación

Page 34: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

2. Método del voto:

- Los clientes solicitan y requieren permiso de varios servidores antes de leer o escribir en un archivo replicado.

- Para leer de un archivo de N réplicas, un cliente necesita un quórum de lectura Nr servidores o más.

- Para modificar se requiere un quórum de escritura Nw y se debe cumplir que Nr + Nw > N.

- El voto consiste del número de la versión asociado al archivo. 34

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n Aspectos de Implementación

Page 35: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

2. Método del voto:

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

A B C D A B C D A B C D

E F G H E F G H E F G H

I J K L I J K L I J K L

quorum de quorum de escritura lectura

• ¿Qué sucede si fallan muchos servidores y quedan menos de Nw?

o No se puede llegar a un acuerdo.

35

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n Aspectos de Implementación

Page 36: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

3. Voto con fantasmas:

- Pretende aliviar el problema anterior.

- La idea es crear un servidor fantasma sin espacio de almacenamiento para cada servidor real que falle.

- En las lecturas no se permiten fantasmas.

- Las escrituras sólo tienen éxito si al menos uno de los servidores es real.

- Cuando se levante un servidor, obtiene un quórum de lectura para localizar la versión más reciente.

36

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Asp

ecto

s d

e Im

ple

me

nta

ció

n Aspectos de Implementación

Page 37: 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05eafranco.com/docencia/sistemasoperativosii/files/18_19_Sistemas_de... · del sistema, la operación de los servidores, el caching

Tarea 05

• Realizar un mapa conceptual que contenga los conceptos de esta presentación (Clase 18 y 19)

• A más tardar se debe entregar el día sábado 27 de Noviembre de 2010 a las 23:59:59 hrs.

• Incluir portada.

• Recomendación: Usar Cmap Tools

37

Sist

emas

op

erat

ivo

s II

1

8 y

19

Sis

tem

as d

e A

rch

ivo

s D

istr

ibu

ido

s y

Tare

a 0

5

Tare

a 0

5