SISTEMAS DE ARCHIVOS DISTRIBUIDOS Sistemas Distribuidos Abr-Jun 2007 Yudith Cardinale.

Slides:



Advertisements
Presentaciones similares
UNIX COMP 240.
Advertisements

III - Gestión de memoria
Bases de datos distribuidas
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Estructura de un Sistema Operativo
1 ESTRATEGIA DE IMPLEMENTACION DE MEDIDAS DE GOBIERNO DE LAS TECNOLOGIAS DE LA INFORMACION La Antigua, Guatemala 23 de Septiembre de 2008.
Ing. Horacio Carlos Sagredo Tejerina
Confiabilidad en Bases de Datos Distribuidas
Sistemas Distribuidos y Paralelos
Compartir Informacion Compartir Hardware y Software
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Windows XP sp3.
Introducción a los Sistemas de Bases de Datos Distribuidos
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
1.1.2 Sistemas de información para la gestión y para la ayuda en la toma de decisiones. Los SI contribuyen activamente a la consecución de los objetivos.
MOTORES DE BASE DE DATOS
Servidores de nombres de dominio (DNS)
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Bases de datos Distribuidas ITES de la región carbonífera 1 Bases de datos distribuidas.
Elemento Lógico (Software)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Bases de datos Distribuidas ITES de la región carbonífera 1 Problemas de las Bases de datos distribuidas.
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Arquitectura de una aplicación
Tema 10a Manejo de archivos. Introducción Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida.
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
(Organización y Manejo de Archivos)
Teoría de Sistemas Operativos
Arquitectura NFS El servidor NFS exporta uno o más directorios
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Introducción a los Sistemas Operativos
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Capítulo 7 Gestión de memoria.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Introducción a los SOs.
Teoría de Sistemas Operativos Administración de Archivos.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Sistemas Distribuidos
Cuentas de usuarios y grupos en windows 2008 server
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
SISTEMAS DE ARCHIVOS.
Estructura de los Sistemas Operativos
Permite a los procesos Acceso transparente Archivos Servidores remotos.
Sistemas de archivos. Por: Milton Solano Ayala.. introducción Todas las aplicaciones computarizadas necesitan almacenar y recuperar la información: Superando.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Teoría de Sistemas Operativos Sistemas distribuidos.
Gabriel Montañés León.  El sistema de nombres de dominio (DNS, Domain Name System) se diseñó originalmente como un protocolo. Antes de considerar qué.
Luis Villalta Márquez Servicios SFTP/SCP. SFTP SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo.
INTEGRANTES: Giovanna Kristhel Mendoza Castillo Eduardo Solis Lara Gustavo Antonio González Morales.
BASE DE DATOS DISTRIBUIDAS
Elementos y tipos de sistemas operativos
MIA - Grupo 5 Unidad 2.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
Luis Villalta Márquez.  DHCP Failover Protocol es un protocolo diseñado para permitir que una copia de seguridad del servidor DHCP pueda hacerse cargo.
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
 Definir conceptos fundamentales de las BDD como DTM y DBMS.  Conocer el esquema actual de la Base de datos de la UNACH.  Analizar cuándo utilizar.
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
Módulo 7: Resolución de nombres NetBIOS mediante el Servicio de nombres Internet de Windows (WINS)
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Bases de datos ITecnológico San Agustín1 BASES DE DATOS Conceptos Básicos Paulo César Acosta Lozano –
Estructura del sistema operativo
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

SISTEMAS DE ARCHIVOS DISTRIBUIDOS Sistemas Distribuidos Abr-Jun 2007 Yudith Cardinale

INDICE Introducción Requisitos Aspectos de Diseño Servicios de archivos Servicios de directorios Módulo cliente Semántica de arcchivos compartidos Aspectos de Implementación Uso de Archivos Estructura del Sistema Caching Réplicas

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, nominaació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

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.

Requisitos Transparencia: De acceso: no hay preocupación de la distribución de los archivos De localización De movilidad De prestaciones: continúa funcionando mientras la carga del servicio varíe en un rango De escalabilidad Actualizaciones concurrentes: soporta varios clientes modificando los mismos datos de manera concurrente

Requisitos Replicación de archivos: puede ser implementada por redundancia o caching Heterogeneidad del hardware y sistema de operación Tolerancia a fallas Consistencia: define la semántica de actualuzació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. i

Aspectos de Diseño Un servidor de archivos generalmente tiene tres componentes importantes: servicio de archivos, servicio de directorios y módulo cliente a. 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.

Aspectos de Diseño Aspectos importantes (cont.): Responsable del modelo de acceso: por carga/descarga o por acceso remoto. Carga/descarga Acceso remoto cliente servidor cliente servidor

Aspectos de Diseño b. 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

Aspectos de Diseño c. Módulo cliente: se ejecuta en cada máquina cliente Aspectos importantes: Integra y extiende las operaciones de los servicos 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

Aspectos de Diseño d. 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 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.

Aspectos de Diseño S emántica unix (cont.): 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.

d. Semántica de archivos compartidos (cont.): Semántica de sesión: 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. Aspectos de Diseño

d. Semántica de archivos compartidos (cont.): 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 Aspectos de Diseño

Aspectos de Implementación a. Uso de archivos: Satyanarayanan (1981) realizó algunas mediciones para estudiar los patrones de uso de los archivos: Mediciones estáticas: foto instantánea del sistema en ciertos momentos pueden revelar: Distribución de tamaños de archivos Distribución de tipos de archivos Cantidad de espacio que ocupan los archivos

Aspectos de Implementación a. Uso de archivos (cont.): 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. Las mediciones fueron llevadas a cabo en una universidad. ¿Es la misma situación en un laboratorio de investigación, oficinas, sistemas bancarios? Las mediciones fueron realizadas en sistemas Unix tradicionales. ¿Se pueden extrapolar a sistemas distribuidos?

a. Uso de archivos (cont.): Conclusiones más importantes: 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. Aspectos de Implementación

a. Uso de archivos (cont.): Conclusiones más importantes (cont.): 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. Aspectos de Implementación

b. 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. Aspectos de Implementación

Nombre simbólico Cliente Servidor de directorio Nombre binario Servidor de archivos Acceso a archivos con servidores de directorios y archivos separados

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. 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. Aspectos de Implementación

Ventajas de los Desventaja de los servidores sin estado servidores con estado Tolerantes a fallas La recuperación quedará a cargo del cliente. No se desperdicia espacio Se pueden desbordar las tablas y no se en el servidor. podrán abrir más archivos No existe límite para el número de archivos abiertos. No hay problema si un cliente Si un cliente falla después de abrir un falla. archivo, el servidor está ante un dilema: - Sus tablas se llenan de basura. - Eliminar archivos inactivos Aspectos de Implementación

Ventajas de los Desventaja de los servidores con estado servidores sin estado Mensajes más cortos. Mensajes autocontenidos más largos. Mejor desempeño porque las Desempeño pobre. tablas pueden estar en memoria principal o en caché. Es posible realizar lecturas No son posibles lecturas adelantadas adelantadas. Es fácil reconocer operaciones Es difícil reconocer operaciones idempotentes. Puede manejar el bloqueo de Se requiere un servidor de archivos. de locks especial. Aspectos de Implementación

c. Caching: Dónde mantener los archivos o parte de ellos. c.1. 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 Aspectos de Implementación disco del servidor disco del cliente (opcional) Memoria del cliente Memoria del servidor red

c. Caching (cont.): c.2. Caching en memoria principal del servidor: 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) c.3. Caching en el cliente: En disco es lento, en general más lento que el anterior. Es bueno cuando son muchos datos. Aspectos de Implementación

c. Caching (cont.): c.3. Caching en el cliente (cont.): 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. Aspectos de Implementación

c.3. Caching en el cliente (cont.): En memoria principal: Aspectos de Implementación kernel

Consistencia del caché: 1. Escritura al cierre - Semántica de sesión 2. Algoritmo de escritura a través del caché (write- through cache) Para mantener la consistencia en las otras caches, el administrador de caches debe verificar en el servidor antes de dar un archivo que está en caché a un nuevo cliente. Puede hacerlo mediante la comparación de fechas de última actualización, número de versión o sumas de verificación. Aspectos de Implementación

Consistencia del caché: 2. Algoritmo de escritura a través del caché (cont.) máquina A máquina B P1 lee f Servidor P3 actualiza f El archivo f será obsoleto para P2 Problema: tráfico de red con los writes Aspectos de Implementación f f P1 P2 1 2 f P3 f 3 4

Consistencia del caché: 3. Escrituras retardadas. - Enviar las actualizaciones cada cierto tiempo. - Mejor desempeño, pero la semántica puede ser ambigua. 4. Control centralizado: El servidor de archivos da permisos de accesos a los archivos dependiendo de si está abierto por otros procesos para lectura y/o escritura. Soporta la semántica unix, pero no es robusto y es poco escalable. 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. Aspectos de Implementación

d. 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. Aspectos de Implementación

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. Aspectos de Implementación archivo prog.c C S3 S2 S1

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: Aspectos de Implementación C S3 S2 S1 C S3 S2 S1

Protocolos de actualización: 1. Réplicació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. ¿Qué sucede si falla el primario antes de la actualización de los secundarios? Si falla el primario, ¿quién hace las actualizaciones? Aspectos de Implementación

2. Método del voto: - Los clientes solicita 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 N r servidores o más. - Para modificar se requiere un quórum de escritura N w y se debe cumplir que N r + N w > N. - El voto consiste del número de la versión asociado al archivo. Aspectos de Implementación

2. Método del voto: N r =3, N w =10 N r =7, N w =9 N r =1, N w =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 N w ? No se puede llegar a un acuerdo. Aspectos de Implementación

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. Aspectos de Implementación