Distributed File System - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

Distributed File System

Description:

'M todo de almacenaje y acceso de archivos basados en una ... de 64 bits y se mantienen mappings l gicos entre los pedazos que constituyen dicho archivo. ... – PowerPoint PPT presentation

Number of Views:340
Avg rating:3.0/5.0
Slides: 59
Provided by: Ret876
Category:

less

Transcript and Presenter's Notes

Title: Distributed File System


1
Distributed File System
DFS
2
Definición
  • Método de almacenaje y acceso de archivos
    basados en una arquitectura cliente/servidor.
    Webopedia
  • Aplicación cliente/servidor, que permite el
    acceso y procesado de datos almacenados en un
    servidor, como si estuvieran local. WhatIs.com
  • Sistema de archivos que soporta compartir
    archivos, impresoras y otros recursos en la forma
    de almacenaje permanente a través de la red.
    Wikipedia

3
Características Principales
  • Clientes y Servidores Basada en arquitectura
    cliente/servidor.
  • Distribución Los archivos están distribuidos
    entre los servidores.
  • Transparencia Acceso centralizado a los
    archivos.
  • Desempeño Que la latencia de envió y búsqueda de
    archivos sea mínimo.
  • Concurrencia Trabajo concurrente un mismo
    archivo.

4
Andrew File System
AFS
5
Definición
AFS
  • El Andrew File System es un sistema de archivos
    distribuido a través de la red que fue
    desarrollado como parte del proyecto Andrew por
    parte de la Universidad Carnegie Mellon. Su uso
    fundamental está en la computación distribuida.

6
Proyecto Andrew
AFS
  • Inicios en la universidad Carnegie Mellon para
    desarrollar un ambiente computarizado distribuido
    en el campus (1984)
  • En 1985 recibe el nombre de Andrew por Andrew
    Carnegie y Andrew Mellon.
  • Andrew Toolkit
  • Andrew Messaging System
  • Andrew File System
  • Andrew window manager

7
Historia
AFS
  • Proyecto Andrew
  • Comercialización en 1989 por la empresa Transarc
  • En el año 2000 IBM libera una versión opensource.
  • OPENAFS
  • Extensión a otros sistemas operativos

8
Diseño de AFS
AFS
  • Basado en las siguientes premisas
  • La lectura es más frecuente que la escritura
  • Un único escritor de archivos
  • Acceso secuencial
  • Se decide implementar un algoritmo optimista
    Cargar la mayor cantidad de datos posibles en el
    cliente.

9
Características
AFS
  • Utiliza Kerberos para la autentificación
  • Listas de control de acceso
  • Caching a nivel del cliente mejora el
    rendimiento
  • Utiliza el concepto de volumen
  • Existe transparencia de
  • Movilidad
  • Localización
  • Escalabilidad
  • Acceso

10
Caching en AFS
AFS
  • Se chequea la consistencia antes de cada read
  • Los archivos de sólo lectura son considerados
    consistentes
  • Los archivos de lectura-escritura son
    considerados consistentes si existe un callback
    promise
  • El tiempo de vida de un callback expira.
  • Los archivos grandes están divididos en chunks

11
Volumen en AFS
AFS
  • Un árbol de ficheros y subdirectorios creados por
    los administradores y los enlazados con una ruta
    específica en una celda AFS
  • Puede existir quota asignada a cada volumen
  • Los volúmenes pueden ser replicados para copias
    de respaldo de sólo lectura
  • AFS garantiza que todos los volúmenes de sólo
    lectura contienen copias iguales del volumen
    original de lectura-escritura

12
Replicación de servidores AFS
AFS
  • Volume Location Database (VLDB) Mantiene
    información de la ubicación física de cada
    volumen de datos (IP del servidor de archivos y
    nombre de la partición)
  • Proporciona estabilidad
  • Existe un único nodo /afs desde el cual se les
    dan subdirectorios a cada nodo

13
Definición Célula
  • Colección de servidores AFS bajo una
    administración común, presentando un único
    sistema de archivos lógico

14
OpenAFS
  • Implementación de código abierto de AFS
    desarrollada por IBM bajo IBM Public License

15
Distributed File System
DFS
16
Definición
(MS)DFS
  • Es un conjunto de servicios que permiten
    organizar varios SMB distribuidos en una red como
    un único DFS.
  • Server Message Block Es un protocolo de red a
    nivel de aplicación, básicamente para compartir
    acceso a archivos, impresoras, etc. Barry
    Feigenbaum IBM, DOS Interrupt 33 localgtnfs.
    SAMBA es una reimplementación libre.

17
Tipos
(MS)DFS
  • Standalone Locales, sin tolerancia a fallas.
  • Domain-Based Replicado, tolerante a fallas,
    balanceo de cargas.

18
Tecnología
(MS)DFS
  • DFS-N Balanceo de cargas.
  • DFS-R Control de replicación.
  • Remote Differential Compresion (RDC) Solo se
    envían los cambios sobre el archivo.

19
Características principales
(MS)DFS
  • Fácil acceso
  • Fácil administración
  • Disponibilidad
  • Balanceo de cargas
  • Seguridad (Autenticación)
  • Instantáneas incrementales
  • No usa cache (Offline Folders)

20
Gluster File System
GlusterFS
21
Definición
GlusterFS
  • Es un clustered file system diseñado para súper
    almacenaje a bajo precio.

22
Características principales
GlusterFS
  • Escalabilidad lineal
  • Diseñada para almacenar petabytes
  • Simple, y fácil de instalar y expandir
  • Desarrollada sobre FS existentes
  • Compatible con varias tecnologías de redes
    (Infiniband, TCP/IP)
  • Cuellos de botella reducidos (Distribuido)
  • Espacio de memoria de cliente
  • Soporta redundancia
  • No tolerante a fallos

23
Diseño
GlusterDFS
24
Global File System
GFS
25
Características Principales
GFS
  • Disponible para Clusters basados en Linux
  • Distinto de AFS. Coda o InterMezzo porque
    requiere que todos los nodos tengan acceso
    directo y concurrente al mismo Block Storage.
  • Un Block Storage se refiere al acceso a bloques
    de disco de forma aleatoria. Normalmente es una
    abstracción sobre los discos que no se presenta
    ante el usuario final, lo abstrae el File System.
  • No hay nodos clientes/Servidores, la comunicación
    es de igual a igual (peer to peer)

26
Características Principales
GFS
  • Requiere del uso de un Distributed Lock Manager
    (DLM) (GULM o GDLM)
  • Un DLM provee acceso sincronizado a los recursos
    compartidos entre aplicaciones distribuidas.
  • Null lock (NL) denota interés en un recurso pero
    no evita que otros procesos lo bloquen.
  • Lectura Concurrente (CR) Indica interés en el
    recurso como lectura. Evita que otros procesos
    obtengan acceso exclusivo al recurso.
  • Escritura Concurrente (CW) Indica el deseo de
    leer y actualizar un recurso. Permite que otros
    tengan acceso de lectura y actualización sobre el
    recurso pero evita que se otro obtenga permiso
    exclusivo al recurso.

27
Características Principales
GFS
  • DLM
  • Lectura Protegida (PR) protección usual, leer un
    recurso y evitar que otros procesos lo
    modifiquen. Otros también pueden leerlo.
  • Escritura Protegida (PW) Protección usual,
    manifiesta el deseo de escribir un recurso y
    permite que otros procesos lean dicho recurso.
    Mas ningún otro puede hacer actualizaciones.
  • Exclusivo (EX) permite la lectura y escritura
    del recurso evitando que otros procesos tengan
    cualquier tipo de acceso a ellos.
  • Los recursos pueden ser Bases de datos, Tablas,
    Registros, Campos o Archivos.

28
Características Principales
GFS
  • Se vale de enlaces de fibra óptica, iSCSI
    (Internet SCSI/protocolo tcp/ip) o AoE (Ata over
    Ethernet).
  • Maximum filename Length 255
  • Allowable characters in directory entries Any
    byte except NUL.
  • Maximum pathname lengthNo limit defined
  • Maximum File Size 2 TB to 8EB63
  • Maximum Volume Size 2TB to 8EB63
  • Stores files owner YES
  • Posix file permissions YES
  • Creation timestamps NO
  • Last access read timestamp YES
  • Last metadata change timestamp YES
  • Last archive timestamps NO
  • Access control list YES
  • Security / Mac Labels YES
  • Extended atributes / Alternate Data Streams /
    forks YES
  • Checksum / ECC NO

29
Historia
GFS
  • Desarrollado en la Universidad de Minnesota.
  • Pasó a la compañía Sistina Software que fue
    adquirida por RedHat en el 2003.
  • En el 2004 RedHat libera muchas piezas
    estructurales de la configuración de un Cluster
    bajo GPL.
  • Está incluido en Fedora Core (a partir de FC4).
  • V1 SGI IRIX solamente
  • V3 Portado a Linux
  • V4 Journalling(similar a listas de intención
    circulares)
  • V5 Redundant Lock Manager
  • V6.1 Distributed Lock Manager.

30
Google File System
GoogleFS
31
Historia
GoogleFS
  • Fue diseñado por Larry Page y Sergei Brin en los
    primeros días de Google, cuando tenían sede en
    Stanford.
  • Parte de un proyecto anterior de Google llamado
    BigFiles para guardar datos de alto volumen de
    forma persistente, procedentes de la exploración
    de internet para generar un sistema de búsqueda
    de alto desempeño.
  • Diseñado para ejecutarse en un conjunto de
    clusters de bajo costo.

32
Características principales
GoogleFS
  • Es software propietario (como no serlo si es el
    negocio de Google)
  • Desarrollado por Google
  • Basado en linux
  • Está optimizado para las necesidades de
    almacenamiento del núcleo de datos de google, sus
    necesidades de búsqueda en la web.
  • La data se guarda persistentemente en múltiples y
    muy largos (varios GB ) archivos, que son muy
    raramente sobrescritos, reducidos o suprimidos.
  • Las operaciones comunes son agregar un nuevo
    archivo o leer..

33
Características principales
GoogleFS
  • Está especialmente diseñado optimizado para los
    clusters de procesamiento de google.
  • Los nodos se dividen en dos tipos, Master Nodes
    y Chunkservers.
  • Los chunkservers guardan los archivos de datos,
    cada uno de estos archivos se guardan por trozos
    de tamaño fijo, de ahí su nombre (chunk). Estos
    trozos son de aprox. 64 MB similar a clusters o
    file systems regulares. A cada chunk se le
    asigna una etiqueta única de 64 bits y se
    mantienen mappings lógicos entre los pedazos que
    constituyen dicho archivo. Cada pedazo se
    repliega un número de veces. 3 es el mínimo pero
    depende de la demanda.
  • Ejemplo los ejecutables se replican muchas veces.

34
Características principales
GoogleFS
  • El Master Server no almacena los chunks (pedazos)
    reales, sino la metadata asociada a los pedazos,
    como
  • El mapping de las tablas de 64bits a las
    locaciones de los pedazos y los archivos que
    constituyen.
  • Las locaciones de las copias de los pedazos.
  • Que pedazos están siendo escritos o leídos y por
    quien.
  • Cuantos nodos replicantes están aún vivos para
    hacer nuevas réplicas si caen de cierto umbral.
  • El Master server sabe que nodos siguen vivos
    mediante sus heart-beat messages.

35
Permisología y Paridad de datos
GoogleFS
  • El master server da permisología a un proceso
    para determinado chunk, durante es intervalo (que
    expira) nadie más puede acceder dicho pedazo. El
    chunkserver con modificaciones, que siempre es el
    primario, propaga los cambios a las copias.
  • Los cambios no se guardan hasta que todos los
    chunkservers involucrados garantizen la
    efectividad del cambio(ack), proveyendo así
    atomicidad de la operación de actualización.

36
Acceso a datos
GoogleFS
  • Los programas acceden los chunks consultando
    primero al Master Server para localizarles en
    los chunkservers. Si el programa hace accesos
    posteriores se comunica directamente con los
    chunkserver ya que obtuvo la información
    necesaria para localizarles en la primera
    consulta al master server.

37
Críticas / argumentos de Google
GoogleFS
  • Hay un solo Master Server.
  • Mecanismos de back up mediante servidores sombra.
  • Escalabilidad y confiabilidad limitadas ya que se
    sobrecarga al Master Server y se acorta su vida
    útil.
  • Los metadatos son muy compactos. Y el Master
    Server es un equipo capaz de soportar la carga.
  • Cuello de botella en el Master Server
  • Solo se pide metadatos que generalmente está en
    caché y se simplifica el trabajo de asegurar la
    integridad de los datos, la atomicidad de las
    operaciones, el balanceo de carga y la seguridad.

38
Arquitectura
nfsd mountd lockd statd
lockd statd
/etc/fstab
/etc/exports
La red
39
Arquitectura
aplicación
aplicación
Llamadas al sistema
núcleo
VFS
VFS
Sistema de archivos UNIX
Sistema de archivos UNIX
Servidor NFS
Cliente NFS
La red
40
VFS
  • Provee una interfaz generalizada para manejar
    objetos de tipo archivo.
  • Esconde a la aplicación las diferencias de
    implementación de los diferentes sistemas de
    archivo montados localmente a través de una
    interfaz basada en v-nodos dando al usuario la
    ilusión de un sistema de archivos homogéneo.

41
VFS
  • Provee una interfaz generalizada para manejar
    objetos de tipo archivo.
  • Esconde a la aplicación las diferencias de
    implementación de los diferentes sistemas de
    archivo montados localmente a través de una
    interfaz basada en v-nodos dando al usuario la
    ilusión de un sistema de archivos homogéneo.

42
VFS
  • Provee descriptores de archivo opacos al usuario
    (filehandles) para manejar las operacioens sobre
    los archivos remotos. La capa maneja estos
    apuntadores internamente y da al usuario
    descriptores de archivo convencionales
    permitiendo la transparencia de acceso.

43
v-nodos
  • La interfaz basada en v-nodos es un conjunto de
    servicios del sistema operativo para acceder de
    manera transparente a todos los sistemas de
    archivo.

44
v-nodos
Llamada al sistema
operación con v-nodo
VFS
VFS
RPC
Operación con i-nodo
El VFS traduce la semántica de las llamadas a
sistema en las acciones Apropiadas para cada
sistema de archivos subyacente.
Sistema de Archivos estándar
45
Identificadores de archivo
aplicación
Los filehandle son apuntadores que representan un
i-nodo en el servidor
descriptor de archivo convencional
lookup() mount()
VFS
VFS
filehandle
RPC
46
File-Handle
El filehandle en los sistemas UNIX es una
codificación basada en los i-nodos
Número de generación de i-nodos
Número de i-nodo
Identificador del filesystem
47
El protocolo RPC de NFS es sin estados
48
Consecuencias
  • Las peticiones deben describir completamente la
    operación (filehandle, offset, etc.)
  • La mayoría de las operaciones se diseñaron para
    ser idempotentes de manera que se pueda
    implementar la regla al menos una vez.

49
Consecuencias
  • Los clientes esperan respuesta de cada petición
    que hacen. Si no la han recibido después de un
    timeout (en caso de un servidor caído) la
    rertansmiten hasta que recibirla. Esto es seguro
    porque las operaciones son idempotentes.
  • El servidor mantiene un cache de operaciones para
    descartar las operaciones repetidas.

50
Modos de montado
  • Montado rígido (hard mount) El cliente se
    bloquea en la operación hasta que el servidor se
    reestablezca. El servidor NFS es percibido como
    un disco lento.
  • Montado suave (soft mount) El cliente reconoce
    la falla después de un timeout y toma las
    medidas necesarias de recuperación.

51
Caching
  • Todas las operaciones de lectura o escritura
    pasan a través de la cache.
  • El modo de lectura anticipada optimiza las
    lecturas.
  • El modo de escritura retardada optimiza las
    escrituras.

52
Locks
  • Se recrea el estado que la capacidad de hacer
    locks trae implícito con la ayuda de los demonios
    lockd y statd.
  • Se utilizan directorios para recordar los
    clientes que han hecho locking. Con cada nuevo
    levntamiento del servidor se notifica a todos los
    clientes en estos registros para que vuelvan a
    pedir el lock.

53
Cómo cumple NFS conel modelo DFS
54
Transparencia de acceso
  • El módulo cliente de NFS emula la semántica de
    las primitivas del sistema de archivos estándar
    proporcionando una iterfaz de aplicación idéntica
    a la del sistema de archivos normal de UNIX.
  • El sistema de archivos virtual (VFS) esconde a
    los prosesos de usuario el manejo de archivos
    remotos a través de los v-nodos.

55
Transparencia de ubicación
  • Los clientes establecen un espacio de nombres
    añadiendo directorios montados en volúmenes
    remotos sobre su espacio local de nombres. Cada
    cliente determina sus propios puntos de montaje
    por lo que NFS no fuerza un espacio de nombres
    único a través de la red. Sin embargo se puede
    lograr con una configuración adecuada.

56
Transparencia de movilidad
  • Los clientes deben mantener tablas que
    especifiquen la ubicación de cada sistema de
    archivo remoto que pretendan montar (generalmente
    en /etc/fstab en un sistema UNIX). Si algún
    sistema de archivos se mueve de un servidor a
    otro las tablas deben ser actualizadas en cada
    cliente.

57
Consistencia
  • NFS ofrece una aproximación bastante cercana a la
    semántica de una copia del sistema de archivos
    estándar de UNIX. Sin embargo no se recomienda
    para uso en aplicaciones concurrentes que exijan
    una fuerte comunicación o coordinación entre
    procesos de diferentes computadores.

58
Replicación
  • Se pueden replicar archivos de lectura pero no
    está soportada la replicación de archivos
    actualizables.
Write a Comment
User Comments (0)
About PowerShow.com