tema 9 sistemas de ficheros distribuidos - uc3mocw.uc3m.es/ingenieria-informatica/sistemas... ·...

Post on 22-Apr-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tema 9

Sistemas de ficheros distribuidosF. García-Carballeira, Mª. Soledad Escolar,

Luis Miguel Sánchez, Fco. Javier García

Sistemas Distribuidos

Grado en Ingeniería Informática

Universidad Carlos III de Madrid

Contenido

� Conceptos básicos

� Estructura de un sistema de ficheros distribuido

� Servicio de directorio

� Servicio de ficheros

� Implementación

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Implementación� Semántica de coutilización

� Métodos de acceso

� Caché y coherencia de caché

� Ejemplos de sistemas de ficheros distribuidos

� Sistemas de ficheros paralelos

� Redes de almacenamiento2

Modelo de almacenamiento

Sistema de ficheros

BaseDe datos

Nivel De ficheros/registros

Aplicaciones

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

ficheros

DispositivosDe almacenamiento

Nivel de bloques

3

Sistemas de ficheros

� Un sistema de ficheros establece una correspondencia lógica entre los ficheros y directorios y los dispositivos

� Funciones: � Organización, almacenamiento, recuperación, gestión de nombres, coutilización y protección de los ficheros

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

nombres, coutilización y protección de los ficheros

� Ofrece un mecanismo de abstracción que oculta todos los detalles relacionados con el almacenamiento y distribución de la información en los dispositivos, así como el funcionamiento de los mismos.

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

4

Dispositivos

� Discos duros

� SSD (estado sólido): dispositivo de almacenamiento de bloques basado en semiconductores que actúa como una unidad de disco

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

unidad de disco� Basados en memorias Flash� Basados en memorias DDR

� Requiere baterías y backup en disco para conseguir almacenamiento no volátil

� Cached Flash� Mezcla de memoria DDR y Flash

� Sistemas ópticos, …

5

Tiempos de acceso

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

6

Operaciones de E/S

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

7

Tamaños de los discos

� Disco duro convencional� 1 TB

� Unidad de disco Flash� 352 GB

� Unidad de disco DDR

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

Unidad de disco DDR � 12 GB

8

Ejemplo

� RamSam-500 de Texas Memory Systems (TMS)� Disco de estado sólido que combina memoria Flash y DDR

� 2 TB de almacenamiento

� 100000 IOPS

� Ancho de banda aleatorio de 2 GB/s para lecturas y escrituras

Caché DDR de 16 a 64 GB para acelerar las escrituras

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Caché DDR de 16 a 64 GB para acelerar las escrituras� Lecturas y escrituras en caché: 15 microsegundos de tiempo de acceso

� Lecturas y escritura en Flash (fallo): 200 microsegundos de tiempo de acceso (100000 IOPS y 2GB/s)

9

Acceso a los dispositivos

CPUbu

sControlador

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

Mem.

bus

Controlador

dispositivos

10

Acceso a los dispositivos

CPUbu

sControlador

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

11

Mem.

bus

Controlador

dispositivos

Interfaz

ATA/IDESCSISerial ATASerial Attached SCSI (SAS)HIPPI (High Performance Parallel Interface)IEEE 1394 (FireWire)Fibre Channel (FCP)InfiniBand

Particiones o volúmenes

� Porción de un disco o conjunto de discos con identidad propia sobre la que se almacena un sistema de ficheros

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

Partición 2

Partición 5Partición 4

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

ARCOS @ UC3M 2012-2013Sistemas Distribuidos

� Los gestores de volúmenes permiten incrementar el tamaño de las particiones

Partición 2

Partición 3

12

Sistema de ficheros

� Exporta una jerarquía de ficheros con un conjunto de restricciones y métodos de acceso

� Ofrece una semántica e interfaz de acceso� Coordina el acceso a los datos y metadatos desde varias peticiones

Dispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

desde varias peticiones� Gestiona la utilización de los discos� Gestiona y mantiene la integridad de los datos

13

Ficheros y directorios

FicheroFichero

Volumen

� Ficheros: datos + atributos

� Directorio: relaciona nombres con ficherosDispositivos

Particiones/volúmenes

Sistema de ficheros

Ficheros + Directorios

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

Bloques

/

usr lib

pepe

user

juan

prog.cdatos.txt datos2.txtprueba.txt

14

� Metadatos: información almacenada por el sistema de ficheros para la gestión de ficheros y directorios

Ejemplo de estructura de un sistema de

ficheros y metadatos

Grupo de bloques 0

Mapas de bits Nodos-i Datos y directoriosSuperBloque

Grupo de bloques 1 Grupo de bloques n

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

15

Tipos de sistemas de ficheros

� Sistemas de ficheros locales� UFS, QFS, VXFS, JFS, JFS2, FAT, NTFS, EXT3, EXT2, Reiser,…

� Sistemas de ficheros distribuidos� NFS, CIFS, …

� Sistemas de ficheros paralelos

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

Sistemas de ficheros paralelos� PFS, GPFS

� Sistemas de ficheros para discos compartidos (SAN y Clusters)

16

Sistemas de ficheros distribuidos

� Ofrece acceso a ficheros remotos de forma transparente

� Permite compartir datos entre usuarios

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

17

LAN

Servidor de ficheros

Requisitos de un sistema de ficheros

distribuido

� Transparencia� Mismas operaciones para acceso locales y remotos

� Imagen única del sistema de ficheros

� Eficiencia. Un SFD tiene sobrecargas adicionales� Red de comunicación, protocolos, posible necesidad de realizar más copias, etc.

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Tolerancia a fallos: � Replicación, funcionamiento degradado, etc.

� Facilidad de crecimiento (escalabilidad)� Eliminar los cuellos de botella

� Consistencia

� Actualizaciones concurrentes

� Seguridad18

Componentes de un SFD

� Modelo cliente-servidor

� Servicios del sistema de ficheros. Operaciones proporcionadas a los clientes

Red

Interfaz del SFD

Programade usuario

Programade usuario

Programade usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

ARCOS @ UC3M 2012-2013Sistemas Distribuidos

� Servidores del sistema de ficheros. Procesos de usuario o del sistema que ofrecen los servicios correspondientes (servidores multithread)

19

Servicio de ficheros

Servicio de directorios

Red

Empleo de múltiples servidores

/

/

/lib /bin /usr

servidoresclientes

LAN

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

ARCOS @ UC3M 2012-2013Sistemas Distribuidos

/

/lib /bin /usr

/usr/d1 /usr/d3

/usr/d3/f2/usr/d3/f1

/

/d1 /d2 /d3

/d3/f2/d3/f1

LAN

20

Servicio de directorio

� Se encarga de la traducción de nombres de usuario a nombres internos

� Directorio: relaciona de forma única nombres de fichero con nombres internos

� Dos opciones:

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Los directorios son objetos independientes gestionados por un servidor de directorios (SD)

� Los directorios son ficheros especiales. Servidor de ficheros y de directorios combinados

21

Gestión de nombres: principios básicos

� Transparencia de la posición: el nombre del objeto no permite obtener directamente el lugar donde esta almacenado

� Independencia de la posición: el nombre no necesita ser cambiado cuando el objeto cambia de lugar� Asociación entre nombre y posición dinámica

� Propiedad más exigente que la transparencia

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Propiedad más exigente que la transparencia

� Facilidad de crecimiento

� Replicación

� Nombres orientados al usuario

22

Nombrado de dos niveles

� Nombres de usuario

� Generalmente el espacio de nombres es jerárquico

� Tres alternativas� Máquina: nombre de fichero

� Ni transparencia, ni independencia

� Montar un sistema de ficheros remoto sobre la jerarquía local (NFS)

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Montar un sistema de ficheros remoto sobre la jerarquía local (NFS)

� Espacio de nombres diferente en cada máquina

� Único espacio de nombres en todas las máquinas

� Proporciona transparencia

� Nombres internos: � Identificador único de fichero utilizado por el sistema

23

Espacio de nombres jerárquico

Root (/)

ab c

Servidor X

Puntos De

montaje

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

24

b

g

d e f h i

Servidor Y Servidor Z

Resolución de nombres

� Dirigida por los clientes: NFS

� Dirigida por los servidores� Resolución iterativa

� El cliente envía el nombre al SD

� El SD realiza la traducción hasta que termina en un componente que pertenece a otro SD

� El SD envía el resultado al cliente, el cual si no ha terminado la traducción continúa con

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� El SD envía el resultado al cliente, el cual si no ha terminado la traducción continúa con el SD correspondiente

� Resolución transitiva

� Los SD implicados contactan entre si para llevar a cabo la traducción. El último SD devuelve la traducción al cliente

� Rompe el modelo cliente/servidor (no adecuado para RPC)

� Resolución recursiva

� El último SD implicado devuelve el resultado al anterior y así sucesivamente hasta que el primero responde al cliente

25

Servicio de ficheros

� Se encarga de la gestión de los ficheros y del acceso a los datos

� Aspectos relacionados� Semántica de coutilización

� Métodos de acceso

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Caché de bloques

� El problema de la coherencia de cache

� Métodos para mejorar el rendimiento

26

Semánticas de coutilización

� Sesión: serie de accesos que realiza un cliente entre un open y un close

� La semántica de coutilización especifica el efecto de varios procesos accediendo de forma simultánea al mismo fichero

� Semánticas� Semántica UNIX

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Semántica UNIX

� Semántica de sesión

� Semántica de ficheros inmutables

� Semántica de transacciones

27

Semánticas de coutilización

� Semántica UNIX

� Una lectura ve los efectos de todas las escrituras previas

� El efecto de dos escrituras sucesivas es el de la última de ellas

� Los procesos pueden compartir el puntero de la posición (si están emparentados)

� Difícil de implementar en sistemas distribuidos

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Mantener un copia única

28

Semánticas de coutilización

� Semántica de sesión:

� Cambios a un fichero abierto son visibles únicamente en el proceso (nodo) que modificó el fichero

� Una vez cerrado el fichero, los cambios se hacen visibles a futuras sesiones

� Múltiples imágenes del fichero

Dos sesiones sobre el mismo fichero que terminan concurrentemente: la

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Dos sesiones sobre el mismo fichero que terminan concurrentemente: la última deja el resultado final

� Si dos procesos quieren compartir datos deben abrir y cerrar el fichero para propagar los datos� No adecuado para procesos que acceden de forma concurrente a un fichero

� No existen punteros compartidos

29

Semánticas de coutilización

� Semántica de ficheros inmutables

� El contenido de un fichero no puede modificarse

� El nombre del fichero no puede reutilizarse

� Sólo se puede compartir un fichero para sólo lectura

� Semántica de transacciones:

� Todo acceso al fichero se realiza entre

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Todo acceso al fichero se realiza entre

� BEGIN TRANSACTION

� END TRANSACTION� El sistema asegura que dos transacciones ejecutadas de forma concurrente tienen el efecto equivalente a ejecutarlas secuencialmente en algún orden

30

Métodos de acceso remoto

� Modelo carga/descarga

� Transferencias completas del fichero

� Localmente se almacenan en memoria o discos locales

� Normalmente utilizan semántica de sesión

� Eficiencia en las transferencias

� Llamada open con mucha latencia

� Múltiples copias de un fichero

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Múltiples copias de un fichero

� Modelo de servicios remotos

� El servidor debe proporcionar todas las operaciones sobre el fichero.

� Acceso por bloques

� Modelo cliente/servidor

� Empleo de caché en el cliente

� Combina los dos modelos anteriores.

31

Caché de bloques

� El empleo de caché de bloques permite mejorar el rendimiento� Explota el principio de proximidad de referencias

� Proximidad temporal

� Proximidad espacial

� Lecturas adelantadas

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Mejora el rendimiento de las operaciones de lectura, sobre todo si son secuenciales

� Escrituras diferidas� Mejora el rendimiento de las escrituras

� Otros tipos de caché

� Caché de nombres

� Caché de metadatos del sistema de ficheros

32

Localización de las caché en un SFD

� Caché en los servidores

� Reducen los accesos a disco

� Caché en los clientes

� Reducen el tráfico por la red

� Reducen la carga en los servidores

� Mejora la capacidad de crecimiento

� Dos posibles localizaciones

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Dos posibles localizaciones� En discos locales

� Más capacidad,

� Más lento

� No volátil, facilita la recuperación

� En memoria principal

� Menor capacidad

� Más rápido

� Memoria volátil

33

Funcionamiento de una caché de

bloquesProceso de usuario

Cliente

Cache

Servidor

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

34

Servidor

Cache

Disco

Funcionamiento de una caché de

bloquesProceso de usuario

Cliente

Cache

Servidor

read()

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

35

Servidor

Cache

Disco

Funcionamiento de una caché de

bloques

Buscar bloque.Si no está,reservar uno

Cliente

Cache

Servidor

read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

36

Servidor

Cache

Disco

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

37

Servidor

Cache

Disco

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

38

Servidor

Cache

Disco

read()

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

39

Buscar bloque.Si no está,reservar uno

Servidor

Cache

Disco

read()

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

40

Servidor

Cache

Disco

read()

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

41

Servidor

Cache

Disco

read()

read()

Funcionamiento de una caché de

bloques

Cliente

Cacheread()

read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

42

Servidor

Cache

Disco

read()

read()

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

43

Servidor

Cache

Disco

read()

read()

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

read()

datosProceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

44

Servidor

Cache

Disco

read()

read()

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

Proceso de usuario

Lectura posterior

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

45

Servidor

Cache

Disco

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

datosProceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

46

Servidor

Cache

Disco

Funcionamiento de una caché de

bloques

Cliente

Cache

Servidor

read()

datosProceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

47

Servidor

Cache

Disco

Sin acceso al servidor

Tamaño de la unidad de caché

� Mayor tamaño puede incrementar la tasa de aciertos y mejorar la utilización de la red pero � Aumentan los problemas de coherencia

� Depende de las características de las aplicaciones

� En memoria caché grandes

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

En memoria caché grandes� Es beneficioso emplear bloques grandes (8 KB y más)

� En memorias pequeñas� El uso de bloques grandes es menos adecuado

48

Políticas de actualización

� Escritura inmediata (write-through)� Buena fiabilidad

� En escrituras se obtiene el mismo rendimiento que en el modelo de accesos remotos

� Escritura diferida (write-back, delayed-write)� Escrituras más rápidas. Se reduce el tráfico en la red

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Escrituras más rápidas. Se reduce el tráfico en la red

� Los datos pueden borrarse antes de ser enviados al servidor

� Alternativas� Volcado (flush) periódico (Sprite)

� Write-on-close

� Write-full

� Write-before-full (ParFiSys)

49

Write-fullProceso de usuario

Cliente

Servidor

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

50

Servidor

Disco

Write-fullProceso de usuario

Cliente

Servidor

read()

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

51

Servidor

Disco

Write-fullProceso de usuario

read()

Cliente

Cache

Servidor

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

52

Servidor

DiscoBloque sucio

Write-full

read()

Cliente

CacheAlgoritmode reemplazo

Servidor

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

53

Servidor

Disco

Write-full

read()

Cliente

Cache

Servidor

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

54

Servidor

DiscoBloque a expulsar

Write-full

read()

Cliente

Cache

Servidorwrite()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

55

Servidorwrite()

DiscoBloque limpio

Write-full

read()

Cliente

Cache

Servidorwrite()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

56

Servidorwrite()

Cache

DiscoBloque sucio

Write-full

read()

Cliente

Cache

Servidorwrite()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

57

Servidorwrite()

CacheAlgoritmode reemplazo

Disco

Write-full

read()

Cliente

Cache

Servidorwrite()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

58

Servidorwrite()

Cache

DiscoBloque a expulsar

Write-full

read()

Cliente

Cache

Servidorwrite()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

59

Servidorwrite()

Cache

write()DiscoBloque limpio

Write-full

read()

Cliente

Cache

Servidorwrite()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

60

Servidorwrite()

Cache

write()read()

DiscoBloque solicitado

Write-full

read()

Cliente

Cache

Servidorwrite() read()

Proceso de usuario

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

61

Servidorwrite()

Cache

write()read()

read()

DiscoBloque solicitado

Write-fullProceso de usuario

read()

Cliente

Cache

Servidorwrite() read()

datos

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

62

Servidorwrite()

Cache

write()read()

read()

Disco

Problema de la coherencia de caché

� El uso de caché en los clientes de un sistema de ficheros introduce el problema de la coherencia de caché:� Múltiples copias.

� El problema surge cuando se coutiliza un fichero en escritura:Coutilización en escritura secuencial

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Coutilización en escritura secuencial� Típico en entornos y aplicaciones distribuidas.

� Coutilización en escritura concurrente � Típico en aplicaciones paralelas.

63

Problema de la coherencia de caché

Inconsistencia en escritura secuencial debido a la no actualización de las copias

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

64

Fichero

Problema de la coherencia de caché

Inconsistencia en escritura secuencial debido a la no actualización de las copias

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

65

Fichero

open

Problema de la coherencia de caché

Inconsistencia en escritura secuencial debido a la no actualización de las copias

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

66

Fichero

write

Problema de la coherencia de caché

Inconsistencia en escritura secuencial debido a la no actualización de las copias

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

67

Fichero

close

Problema de la coherencia de caché

Inconsistencia en escritura secuencial debido a la no actualización de las copias

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

68

Fichero

Problema de la coherencia de caché

Inconsistencia en escritura secuencial debido a la no actualización de las copias

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

69

Fichero

open

Problema de la coherencia de caché

Inconsistencia en escritura secuencial debido a la no actualización de las copias

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

70

Fichero

read ⇒ INCONSISTENCIA

Problema de la coherencia de caché

Inconsistencia en escritura secuencial debido a la utilización de técnicas de escritura diferida

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

71

Fichero

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia en escritura secuencial debido a la utilización de técnicas de escritura diferida

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

72

Fichero

open

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia en escritura secuencial debido a la utilización de técnicas de escritura diferida

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

73

Fichero

read

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia en escritura secuencial debido a la utilización de técnicas de escritura diferida

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

74

Fichero

write

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia en escritura secuencial debido a la utilización de técnicas de escritura diferida

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

75

Fichero

close

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia en escritura secuencial debido a la utilización de técnicas de escritura diferida

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

76

Fichero

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia en escritura secuencial debido a la utilización de técnicas de escritura diferida

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

77

Fichero

open

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia en escritura secuencial debido a la utilización de técnicas de escritura diferida

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

78

Fichero

read ⇒ INCONSISTENCIA

Problema de la coherencia de caché

Inconsistencia debido a la coutilización en escritura concurrente

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

79

Fichero

Problema de la coherencia de caché

Inconsistencia debido a la colutilización en escritura concurrente

Cache en el cliente A Cache en el cliente B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

80

Fichero

open open

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia debido a la colutilización en escritura concurrente

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

81

Fichero

read read

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia debido a la colutilización en escritura concurrente

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

82

Fichero

write

Problema de la coherencia de caché

Cache en el cliente A Cache en el cliente B

Inconsistencia debido a la colutilización en escritura concurrente

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

83

Fichero

read ⇒ INCONSISTENCIA

Soluciones al problema de la coherencia

� No emplear caché en los clientes� Solución trivial que no permite explotar las ventajas del uso de caché en los clientes (reutilización, lectura adelantada y escritura diferida)

� No utilizar caché en los clientes para datos compartidos en escritura (Sprite)� Accesos remotos sobre una única copia asegura semántica UNIX

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Mecanismos de caché sin replicación de datos� Basado en esquemas cooperativos que definen un único espacio global formado por la unión de todas las caché del sistema.

� Los datos fluyen a través de las caches sin replicación

� Empleo de protocolos de coherencia de caché

84

Protocolos de coherencia de cache

� Objetivos: � Permitir el uso de caché en los clientes manteniendo coherente la información de acuerdo a la semántica de coutilización que define el sistema de ficheros

� Aspectos de diseño a considerar� Granularidad del protocolo

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Granularidad del protocolo

� Mecanismo de validación

� Mecanismos de actualización

� Localización de las copias en las caches de los clientes

85

Granularidad del protocolo

� Tamaño de la unidad sobre la que se mantiene coherencia� Puede variar desde un único byte hasta el fichero completo

� Ejemplos:� Sprite: fichero completo

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Coda: conjunto de ficheros (volumen)

� ParFiSys: regiones de tamaño y forma variable definidas por el usuario

� Con semánticas UNIX, unidades grandes y acceso concurrentes: � Posible falsa coutilización

86

Falsa coutilización

Proceso A Proceso B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

87

Unidad de coherencia

Validación de la cache

� Determinar si un dato almacenado en la caché es consistente

� Validación iniciada por el cliente. Contactar con el servidor para determinar el estado de la copia� Frecuencia de validación

En cada acceso

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� En cada acceso

� Al abrir el fichero

� Periódicamente

� Necesidad de almacenar información sobre la última actualización en caso de escritura diferida.

� Crece el tráfico de la red, consume CPU en el servidor y aumenta el tiempo de servicio de las peticiones

88

Validación de la cache

� Validación iniciada por el servidor� El servidor almacena información sobre los datos accedidos por cada cliente y el modo de acceso

� Servidores con estado (implicaciones sobre la tolerancia a fallos)

� Si un dato es accedido por dos o más clientes, al menos uno en

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Si un dato es accedido por dos o más clientes, al menos uno en modo escritura, se notifica a los clientes para que invaliden o actualicen las caches

� Rompe el modelo cliente/servidor

89

Mecanismos de actualización

� Cuando hay una modificación sobre una copia y es necesario mantener una visión coherente hay que actualizar el resto de copias.

� Métodos:� Actualización de las copias

Invalidación de las copias

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Invalidación de las copias

90

Mecanismos de actualización

� Actualización de todas las copias� Excesivo tráfico en la red

� Inviable en sistemas de ficheros

� Invalidación de las copias. Se invalidan las copias y los futuros accesos se realizan sobre una copia consistente.

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Mensajes más cortos, menos tráfico en la red

� Mayor capacidad de crecimiento

91

Localización de las copias

� Es necesario conocer qué clientes almacenan copias de datos para realizar las acciones del protocolo

� Se utilizan esquemas basados en directorios. Cada entrada almacena la lista de clientes con copias en su cache.� Directorio de mapa completo

� Directorio limitado

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Directorio limitado

� Lista encadenada

� Directorios centralizados: un único gestor se encarga de la coherencia de todos los ficheros del sistema� Posible cuello de botella

� Directorios distribuidos: existen varios gestores� Mejor capacidad de crecimiento

92

Caché en los clientes contra acceso

remoto

� Rendimiento cercano al de un sistema centralizado

� Menor carga en el servidor y en la red. Se permiten transferencias más grandes por la red

� Facilita el crecimiento proporcional del rendimiento del sistema

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Dificultades relacionadas con el mantenimiento de la coherencia

93

Ejemplo: coherencia de caché del SF

Sprite

� Sprite: Sistema de ficheros desarrollador en Berkeley a finales de los 80

� Implementa consistencia secuencial

� Solo se almacena en caché los datos, no los metadatos

� Cuando un servidor detecta que un fichero está abierto en múltiples clientes (máquinas) y en alguna de ellas se abre para escritura, se desactiva la caché en todos los clientes;

� Todas las lecturas y escritura del ficheros se hacen de forma remota

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Todas las lecturas y escritura del ficheros se hacen de forma remota

� Si solo hay un escritor se utiliza write-back

� Para identificar los bloques obsoletos se utiliza

� Número de versión para el fichero

� Se sigue la pista del último escritor

94

Aspectos de tolerancia a fallos

� Servidores con estado

� Cuando se abre un fichero, el servidor almacena información y da al cliente un identificador único a utilizar en las posteriores llamadas

� Cuando se cierra un fichero se libera la información

� Servidores sin estado

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Servidores sin estado

� Cada petición es autocontenida (fichero y posición)

95

Aspectos de tolerancia a fallos

� Ventajas de los servidores con estado� Mensajes de petición más cortos

� Mejor rendimiento (se mantiene información en memoria)

� Facilita la lectura adelantada. El servidor puede analizar el patrón de accesos que realiza cada cliente

� Es necesario en invalidaciones iniciadas por el servidor

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Ventajas de los servidores sin estado� Más tolerante a fallos

� No son necesarios open y close. Se reduce el nº de mensajes

� No se gasta memoria en el servidor para almacenar el estado

� Otros aspectos: replicación de ficheros

96

¿Cómo mejorar el rendimiento?

� Empleo de caché � Cuidado con los protocolos de coherencia de cache

� Uso de paralelismo� Múltiples discos y nodos de E/S

� Distribución de los datos entre los discos y los nodos de E/S

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Sistemas de ficheros paralelos

� Uso de interfaces paralelas� MPI-IO

97

NFS (Network File System)

� Sistemas de ficheros de Sun Microsystem (1985)

� Implementación y especificación de un servicio de acceso a ficheros remotos

� Diseñado para trabajar en entornos heterogéneos (diferentes máquinas, sistemas operativos, ...)

� La independencia se consigue mediante el uso de las RPC

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� La independencia se consigue mediante el uso de las RPC construidas sobre el protocolo XDR

� Las diferentes máquinas montan un directorio remoto en el sistema de ficheros local� El espacio de nombres es diferente en cada máquina

� El montado no es transparente, debe proporcionarse el nombre de la máquina remota

98

Montado en NFS

� Establece una conexión lógica entre el servidor y el cliente

� La máquina A exporta /usr y /bin

� En la máquina B:� mount máquinaA:/usr /usr

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

99

MáquinaA

include

/

binusr

lib

MáquinaB

/

homebin usr

Montado en NFS

� La imagen del SF puede ser diferente en distintos clientes

ServidorCliente A Cliente B

(root) (root) (root)

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

100

local

usrvmunix. . . usr

libbin

bin lib

local

usr

. . .

x

Arquitectura de NFS

CLIENTE SERVIDOR

CAPA DE LLAMADAAL SISTEMA

CAPA DEL SISTEMADE FICHEROS VIRT.

CAPA DEL SISTEMADE FICHEROS VIRT.

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

101

S.O.LOCAL

CLIENTENFS

DISCOLOCAL

RPC/XDR

S.O.LOCAL

SERVIDORNFS

DISCOLOCAL

RPC/XDR

RED

Sistema de ficheros virtual

� El VFS ofrece la interfaz de acceso a ficheros y directorios

� Independiente del SF concreto

� En UNIX cada fichero viene definido por un nodo-v (nodo virtual)

� Algunos atributos

Puntero al nodo-i real del fichero

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Puntero al nodo-i real del fichero

� Puntero a las funciones que ejecutan los servicios

102

Nodo virtual

nodo-v

Direcciones delas operaciones

virtuales

Dirección del

Información del archivo

virtual

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

D ireccio nes delas opera cione svirtua les

D ireccio nes delas opera cionesesp ecífica s de S A

D irecció n delnod o-iespec ífico

Inform ación del arc hivovirtu al

no do-i

Tabla de

funci ones del SA

103

Direcciones delas operaciones

específicas de SA

nodo-iespecífico nodo-i

Tabla de funciones

del SA

Protocolo NFS� La versión 3 es estándar en Internet (RFC 1813) � Ofrece un conjunto de RPC para realizar operaciones sobre ficheros remotos� Búsqueda de un fichero en un directorio� Lectura de entradas de directorio� Manipulación de enlaces y directorios� Acceso a los atributos de un fichero

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Acceso a los atributos de un fichero� Lectura y escritura de ficheros

� Los servidores de NFS no almacenan estado� Operaciones autocontenidas

� El servidor no puede almacenar el puntero de la posición del fichero, lo debe mantener el cliente

� El servidor no almacena información entre llamadas

� El protocolo no ofrece mecanismos de control de concurrencia para asegurar una semántica UNIX

104

Manejadores de ficheros (file handle)

� Estructura opaca que identifica a un fichero remoto� Típico filehandle en UNIX

VFS almacena una entrada por cada archivo abierto

Id. del sistema de ficheros

Número de nodo-iNúmero de generación de nodo-i

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� VFS almacena una entrada por cada archivo abierto (vnode)

� Cada vnode apunta a un inodo local o a un filehandle� Cuando un fichero es local el nodo-v contiene el nodo-i.� Cuando el fichero es remoto el nodo-v contiene el filehandle

105

Operaciones

lookup(dirfh, name) -> fh, attr Busca un fichero en un directorio dado por dirfh

create(dirfh, name, attr) ->newfh, attr

Crea un fichero con unos atributos en un directorio

remove(dirfh, name) status Elimina un fichero de un directorio

getattr(fh) -> attr Devuelve los atributos de un ficheros

Modifica los atributos. Si el tamaño se pone a 0 se trunca el

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

106

setattr(fh, attr) -> attr Modifica los atributos. Si el tamaño se pone a 0 se trunca el fichero

read(fh, offset, count) -> attr, data Lectura de un fichero. Devuelve los últimos atributos del fichero.

write(fh, offset, count, data) -> attr Escritura en un fichero. Devuelve los atributos después de realizada la escritura

rename(dirfh, name, todirfh, toname)-> status

Cambia el nombre de un fichero.

link(newdirfh, newname, dirfh, name)-> status

Crea un enlace

Operaciones

symlink(newdirfh, newname, string)-> status

Crea un enlace simbólico

readlink(fh) -> string Devuelve el nombre asociado con un enlace simbólico

mkdir(dirfh, name, attr) -> newfh, attr

Crea un directorio

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

107

rmdir(dirfh, name) -> status Elimina un directorio vacio

readdir(dirfh, cookie, count) -> entries

Devuelve hasta count bytes de entradas de un directorioCada entrada contiene un nombre de fichero, su manejador y un Puntero opaco utilizado en la siguiente llamada readdir. Si cookie es 0 se lee la primera entrada del directorio.

statfs(fh) -> fsstats Devuelve información del sistema de ficheros (block size, número de bloques libres, etc.

Traducción de nombres

� El cliente realiza la traducción de un nombre (path) componente a componente. Cuando un vnode apunta a filehandle la búsqueda se realiza en el servidor (una componente cada vez)

� lookup(dir, name) devuelve (fh, attr)

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

lookup(dir, name) (fh, attr)

� Devuelve el fh y los atributos de un fichero del directorio dir

� Falla si el cliente no tiene permisos

108

Traducción de nombres

� Una única llamada open

fd = open(“/usr/joe/6360/list.txt”)

Da lugar a varias operaciones remotas:

lookup(rootfh, “usr”) devuelve (fh0, attr)lookup(fh0, “joe”) devuelve (fh1, attr)

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

lookup(fh0, “joe”) devuelve (fh1, attr)lookup(fh1, “6360”) devuelve (fh2, attr)lookup(fh2, “list.txt”) devuelve (fh, attr)

� El filehandle fh identifica al fichero list.txt y se utilizará en las operaciones de lectura y escritura posteriores.

109

Acceso a los ficheros

� Se realiza con el filehandle:� read(fh, offset, cont) devuelve (datos, attr)

� write(fh, offset, cont, data) devuelve (attr)

� Transferencias en bloquesEn la versión 2 hasta 8 KB

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� En la versión 2 hasta 8 KB

� En la versión 3 se puede negociar

� Los clientes realizan lecturas adelantadas de un bloque

� Las escrituras se realizan localmente. Los bloques se envían al servidor cuando se llena un bloque o cuando se cierra el fichero

110

Escritura en la caché del servidor

� Política de actualización en la versión 2: write-through

� Política de actualización en la versión 3: la operación de escritura ofrece dos posibilidades:� Write-through: se escribe a disco antes de contestar al cliente

Delayed-write: se escribe solo en memoria caché

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Delayed-write: se escribe solo en memoria caché� La operación commit fuerza la escritura en disco. Normalmente los clientes envían esta operación en el close.

111

Caché en los clientes

� Necesaria para mejorar el rendimiento

� El cliente NFS almacena en caché el resultado de las operaciones: read, write, getattr, lookup y readdir� Caché de datos

� Caché de atributos

� La caché introduce un posible problema de coherencia:

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� La caché introduce un posible problema de coherencia:� Dado un fichero modificado concurrentemente por dos clientes

� Si el fichero se almacena en la caché de los dos clientes:� A no verá los cambios hechos por B

� B no verá los cambios hechos por A

� Actualizaciones inconsistentes

� No se garantiza la semántica UNIX

112

Solución

� Los clientes deben:� Enviar periódicamente los bloques modificados al servidor

� Cuando un fichero se abre en un cliente se comprueba en el servidor si la información se ha modificado� Si se ha modificado se descartan los bloques de la caché

� Piden al servidor que revalide la información que tiene en su caché

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� 3-30 segundos para ficheros

� 30-60 segundos para directorios

� El bloque se descarta si ha sido modificado en el servidor

� Los atributos en caché se descartan después de � 3 segundos para atributos de ficheros

� 30 segundos para atributos de directorios

113

Protocolo de montado

program MOUNT_PROGRAM {

version MOUNT_V3 {

void MOUNTPROC3_NULL(void) = 0;

mountres3 MOUNTPROC3_MNT(dirpath) = 1;

mountlist MOUNTPROC3_DUMP(void) = 2;

void MOUNTPROC3_UMNT(dirpath) = 3;

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

void MOUNTPROC3_UMNT(dirpath) = 3;

void MOUNTPROC3_UMNTALL(void) = 4;

exports MOUNTPROC3_EXPORT(void) = 5;

} = 3;

} = 100005;

114

Protocolo NFSprogram NFS_PROGRAM {

version NFS_V3 {

void NFSPROC3_NULL(void) = 0;

GETATTR3resNFSPROC3_GETATTR(GETATTR3args) = 1;

SETATTR3resNFSPROC3_SETATTR(SETATTR3args) = 2;

LOOKUP3res NFSPROC3_LOOKUP(LOOKUP3args) = 3;

ACCESS3res NFSPROC3_ACCESS(ACCESS3args) = 4;

READLINK3res NFSPROC3_READLINK(READLINK3args) = 5;

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

READLINK3res NFSPROC3_READLINK(READLINK3args) = 5;

READ3res NFSPROC3_READ(READ3args) = 6;

WRITE3res NFSPROC3_WRITE(WRITE3args) = 7;

CREATE3res NFSPROC3_CREATE(CREATE3args) = 8;

MKDIR3res NFSPROC3_MKDIR(MKDIR3args) = 9;

SYMLINK3resNFSPROC3_SYMLINK(SYMLINK3args) = 10;

MKNOD3res NFSPROC3_MKNOD(MKNOD3args) = 11;

REMOVE3res NFSPROC3_REMOVE(REMOVE3args) = 12;

115

Protocolo NFSRMDIR3res NFSPROC3_RMDIR(RMDIR3args) = 13;

RENAME3res NFSPROC3_RENAME(RENAME3args) = 14;

LINK3res NFSPROC3_LINK(LINK3args) = 15;

READDIR3resNFSPROC3_READDIR(READDIR3args) = 16;

READDIRPLUS3res FSPROC3_READDIRPLUS(READDIRPLUS3args) = 17;

FSSTAT3res NFSPROC3_FSSTAT(FSSTAT3args) = 18;

FSINFO3res NFSPROC3_FSINFO(FSINFO3args) = 19;

PATHCONF3res NFSPROC3_PATHCONF(PATHCONF3args) = 20;

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

PATHCONF3res NFSPROC3_PATHCONF(PATHCONF3args) = 20;

COMMIT3res NFSPROC3_COMMIT(COMMIT3args) = 21;

} = 3;

} = 100003;

116

LOOKUP3resNFSPROC3_LOOKUP(LOOKUP3args)

struct LOOKUP3args {

diropargs3 what;

};

struct diropargs3 {

nfs_fh3 dir;

filename3 name;

};

union LOOKUP3res switch (nfsstat3 status) {

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

union LOOKUP3res switch (nfsstat3 status) {

case NFS3_OK:

LOOKUP3resok resok;

default:

LOOKUP3resfail resfail;

};

struct LOOKUP3resok {

nfs_fh3 object;

post_op_attr obj_attributes;

post_op_attr dir_attributes;

};117

WRITE3resNFSPROC3_WRITE(WRITE3args)

struct WRITE3args {

nfs_fh3 file;

offset3 offset;

count3 count;

stable_how stable;

opaque data<>;

};

union WRITE3res switch (nfsstat3 status) {

case NFS3_OK:

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

case NFS3_OK:

WRITE3resok resok;

default:

WRITE3resfail resfail;

};

struct WRITE3resok {

wcc_data file_wcc;

count3 count;

stable_how committed;

writeverf3 verf;

};118

READ3res NFSPROC3_READ(READ3args)struct READ3args {

nfs_fh3 file;

offset3 offset;

count3 count;

};

union READ3res switch (nfsstat3 status) {

case NFS3_OK:

READ3resok resok;

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

READ3resok resok;

default:

READ3resfail resfail;

};

struct READ3resok {

post_op_attr file_attributes;

count3 count;

bool eof;

opaque data<>;

};

119

Sistemas de ficheros paralelos (PFS)

� Múltiples nodos de E/S� Incrementa el ancho de banda

� Fichero distribuido entre diferentes nodos de E/S� Acceso paralelo

� A diferentes ficheros

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

120

� A diferentes ficheros� Al mismo fichero

� Interfaces de E/S paralela� MPI-IO

� Optimizaciones� E/S colectiva� Acceso a datos no contiguos

Arquitectura de un sistema de ficheros

paraleloNodo de cómputo

Nodos de cómputoAplicaciones

Cliente

Red de comunicación

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

Servidorde E/S

Servidorde E/S

Servidorde E/S

121

Arquitectura de un sistema de ficheros

paraleloNodo de cómputo

Nodos de cómputoAplicaciones

Cliente

Red de comunicación

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

Servidorde E/S

Servidorde E/S

Fichero 1Fichero 2

Servidorde E/S

122

Arquitectura de un sistema de ficheros

paraleloNodo de cómputo

Nodos de cómputoAplicaciones

Cliente

Red de comunicación

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

Servidorde E/S

Servidorde E/S

Fichero 1Fichero 2

Servidorde E/S

123

Ejemplos

� PVFS

� GPFS

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

124

Sistemas de almacenamiento en red

� Infraestructura tradicional� Discos conectados a los servidores (DAS, Direct Attach Storage)

� Redes de almacenamiento� NAS (Network Attached Storage)

� SAN (Storage Area Networks)

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Sistemas de ficheros para discos compartidos

125

Infraestructura tradicional

Clientesheterogéneos

DAS (Direct Attach Storage) Conexión directa al servidor

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

126

Servidores

LAN

Conexión directa al servidor

� Ventajas:� Servicios independientes

� Inconvenientes:� Administración y mantenimiento

� Saturación de servidores y LAN en los Backup

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Escalabilidad

� Coste

� Rendimiento

� Dificultades para un correcto aprovisionamiento de almacenamiento

� Mala utilización de los recursos

127

50% 50% 95%

Ejemplo: NFS

LAN

NFS server

/home/a/b

/home

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

128

LAN/home/a/b

Exporta un directorio

/home/a/b

/home/a/b

Montan el directorio remoto

Problemas de rendimiento

12

14

anch

o de

ban

da a

greg

ado

(MB

/s)

� Los servidores pueden convertirse en un cuello de botella

� Solución no escalable

� Solución

� Utilizar más servidores

� Particionar

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

0

2

4

6

8

10

12

1 2 4 8 16

Número de clientes

anch

o de

ban

da a

greg

ado

(MB

/s)

129

Ejemplo de particionamiento

� Difícil gestión

/home1/a/b

Servidor NFS

/home1/a/b

/home2/c/d

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

130

LAN/d

/home3/e /f

/home2/c /d

/home3/e /f

Almacenamiento en red

Aplicaciones de gestión

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

131

ServidoresHBA

Almacenamiento

Elementos de interconexión� Cables, conectores� Swithes, routers, hub

Consolidación del almacenamiento

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

132

NAS (Network Attached Storage)

� Dispositivo de almacenamiento con conexión directa a la red

� Almacenamiento

� Servidor

� Protocolos estándar

� NFS

� CIFS LAN

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

CIFS

� HTTP

133

LAN

NAS

Elementos de una NAS

� TCP/IP

� Sistema de ficheros

� NFS, CIFS, HTTP

� SW de gestión

� SW de diagnostico

� Análisis de fallos, alertas

TCP/IP

Sistema de ficheros

SW de diagnóstico

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Análisis de fallos, alertas

� Características tolerantes a fallos

� Componentes redundantes

� Componentes Hot-swap

� Discos RAID

134

diagnóstico

ControladorRAID

Gestión

SAN (Storage Area Networks)

LANLAN REDRED

Clientes Servidores Almacenamiento

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

135

LANLAN REDRED

NAS vs SAN

� Network Attached Storage (NAS)� CIFS y NFS

� Acceso a nivel de fichero

� Solución más económica

� Peor ancho de banda y más latencia

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Storage Area Networks (SANs): � Protocolos de red: Fibre Channel, iSCSI

� Alto ancho de banda y baja latencia

� Acceso a nivel de bloque

� Solución costosa

136

Fibre Channel

� Mecanismo de transporte genérico

� Puede utilizar cables de fibra óptica y cobre

� Interfaz para transferencia serie de datos a alta velocidad y baja latencia (GB/s) a largas distancias (hasta 10 Km)� 100/200/400/800/1200 MB/s

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Utiliza FCP (fibre channel protocol): implementación serie de SCSI

137

Diferentes topologías

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

138

Punto a Punto hub switch

FC tiene un espacio de direcciones de 24 bits

Adaptadores

Adaptador PCI

HBA (Host Bus Adapter)

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

139

iSCSI

� Acceso a dispositivos de almacenamiento a través de redes TCP/IP.

Servidor

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

140

LANLAN

AlmacenamientoPrimario FC.

EthernetDISK

DISK

DISK

DISK

Servidor

iSCSI

� Tramas SCSI sobre paquetes IP.

� El protocolo TCP/IP realiza:� Control de congestión

� Entrega ordenada de paquetes

� Corrección de errores

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� iSCSI habilita acceso universal

141

SCSI DataCabecera LAN / WAN

Cabecera IP

TCP CRCCabecera iSCSI

• Dos tipos de tramas:

• Comandos SCSI• Bloques de datos

Ventajas: Alta disponibilidad

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

142

www.snia.org

Ventajas Reducción de los costes de alta

disponibilidad

Con DAS Con SAN

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

143

www.snia.org

Ventajas: Backup sin intervención de

los servidores

� Copia directa entre dispositivos de almacenamiento

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

144

www.snia.org

Escenario mixto iSCSI y Fibre Channel

AlmacenamientoSecundario.

Windows server LAN iSCSILAN iSCSI

Edificio A Edificio B

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

145

SANSAN

AlmacenamientoPrimario FC.

Fibre ChannelDISK

DISK

DISK

DISK

Router FC/iSCSI.

Almacenamiento en redes WAN

� Datos globales� Continuidad del negocio� Diversificación del negocio� Caching de datos cercanos a su uso� Transferencias basadas en IP, iSCSI,, FCIP

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

146

Data Center A Data Center B

SANSAN

Sistemas de ficheros de discos

compartidos

� Los clientes pueden acceder directamente a los discos

� Requiere un gestor de metadatos

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

147

REDRED

Sistema de ficheros compartido

Ventajas

� Se mejora el rendimiento� Acceso directo a los discos sin intervención de un servidor

� Acceso paralelo� Acceso a grandes ficheros

� Acceso a muchos ficheros pequeños

� Mejor disponibilidad

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

� Mejor disponibilidad� No existe un servidor central, requiere disponibilidad en los discos

148

Ejemplos

� GPFS

� GFS

� OCFS

F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.

149

top related