tema 9 sistemas de ficheros distribuidos - uc3mocw.uc3m.es/ingenieria-informatica/sistemas... ·...
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