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
42
Embed
Sistemas de Archivos Distribuidoscryptomex.org/SlidesDist/DFS.pdfSistema Arhivos de Red (NFS, AFS, Coda, nbd, GFS) Especiales (tmpfs, swapfs, userfs, devfs) De solo lectura (High Sierra,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
• 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
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.