Global File System (GFS)... Diferente a los sistemas de ficheros en red que hemos visto, ya que permite que todos los nodos tengan acceso concurrente a los bloques de almacenamiento compartido (a través de FC generalmente). No existen los roles de cliente/servidor. Todos los nodos tienen el mismo tratamiento y acceden directamente al dispositivo de almacenamiento, lo que elimina la sobrecarga de red por File I/O como ocurre en NFS. Depende de un gestor de bloqueos distribuido que mantiene la información necesaria para el acceso concurrente (a través de la red). GFS nació como un proyecto OpenSource sobre SGI IRIX y ahora forma parte de una distribución comercial Red Hat Enterprise Linux. 1
...GFS... 2
...GFS... Necesita un servicio global, que tiene el control sobre los metadatos (qué es un directorio?, donde están situados?, fechas de actualización, permisos, etc.), los discos duros compartidos solamente contienen los datos. Tiene dos modos de funcionamiento: asimétrico: con un servidor central: Todo pasa por el servidor, que es quien provee la sincronización entre clientes, pues estos hacen las peticiones de modificación de metadata al servidor (abrir, cerrar, borrar, etc.) y leen los datos de los discos duros compartidos. simétrico: sin servidor central, los discos contienen datos y metadatos que son controlados por cada máquina al ser accedidos, estos accesos son sincronizados gracias a bloqueos globales, que se apoyan en la ayuda del hardware tanto por parte del bus SCSI como por parte del switch FC. 3
..GFS... 4
...GFS... GFS utiliza técnicas transaccionales en los clientes para recuperarse rápidamente de cualquier fallo. El sistema de ficheros aparenta ser local para cada cliente, mientras que el código de GFS en el kernel de cada máquina se encarga de sincronizar el acceso a los bloques, de una forma completamente simétrica: todas las máquinas tienen la misma prioridad de acceso a los datos. GFS utiliza cachés de lectura y escritura para acelerar su funcionamiento, y soporta toda la semántica de ficheros de UNIX (atributos, etc). El software de GFS se divide en dos partes: un controlador en el kernel y una serie de utilidades en el espacio de usuario para crear el sistema de ficheros GFS, configurarlo, administrarlo, etc... 5
..GFS... Las principales características y ventajas de un sistema de ficheros por discos compartidos son: Mayor disponibilidad del sistema de ficheros. Elimina el punto de fallo (SPF) que representaba el servidor de ficheros: ahora todos los equipos tienen la misma prioridad y las mismas posibilidades en el acceso a los discos. Balanceo de carga, ya que los clientes son capaces de acceder directamente a cualquier porción de datos en cualquiera de los dispositivos de almacenamiento. No hay ningún posible cuello de botella que se encargue de dirigir el tráfico. Una buena distribución de los datos conseguiría un mejor rendimiento en la operaciones de I/O. 6
..GFS... Se pueden agregar todos los discos compartidos en una única unidad virtual, accesible por igual desde todos los equipos. De esta forma, se flexibiliza y facilita enormemente la administración del espacio de los dispositivos. Mayor escalabilidad en capacidad, conectividad y ancho de banda, al no estar limitados por la arquitectura cliente/servidor, donde la capacidad del servidor limita la capacidad total del sistema. 7
...NFS vs GFS... 8
...GFS... 9
...GFS (CLVM)... El Cluster Logical Volume Manager (CLVM) permite a los servidores acceder a los discos de una SAN. Virtualiza las unidades de almacenamiento y permite agregación para un acceso único al pool de discos como un sólo volumen lógico. Cambios en la configuración del gestor de volúmenes son visibles por todos los servidores en la SAN. Permite también el redimensionamiento de los discos de manera transparente y múltiples caminos de I/O para conseguir tolerancia a fallos. Por último, permite también el espejo de volúmenes. 10
...GFS... 11
... GFS... 12
... GFS 13
General Parallel File System (GPFS)... Sistema de ficheros compartido de IBM. Utiliza IBM Virtual Shared Disk (VSD) que permite el transporte de bloques de disco a través de la red (IP o FC). Proporciona varios Terabytes de almacenamiento en un único sistema de ficheros. Todos los nodos del cluster pueden leer y escribir de manera simultánea el mismo fichero, mediante técnicas de división del mismo en múltiples discos. GPFS paraleliza de manera automática las operaciones de I/O mediante el almacenamiento de bloques en varios discos a través de su división en otros más pequeños (stripe). Presenta características de alta disponibilidad (sigue funcionando pese a las caídas de varios nodos) y tolerancia a fallos ya que los datos no se pierden a pesar del fallo de algunos discos del sistema. 14
...GPFS... Distribución automática de los bloques en varios discos: 15
...GPFS... 16
...GPFS... La mayoría de servicios GPFS se realizan en los nodos a través de extensiones del kernel. Sin embargo, existen tres funciones realizadas por el sistema GPFS de manera global: Establecimiento del quorum mínimo: Para tres o más nodos el tamaño mínimo es la mitad mas uno del conjunto. Puede trabajar en modo single-node (dos nodos). Gestor del sistema de ficheros: configuración, gestión de espacio de disco, gestión de tokens, quotas y seguridad. Metanodo: uno de los nodos es el responsable de garantizar la integridad de los metadatos acerca de los ficheros, de forma que solamente un nodo pueda actualizarlos simultáneamente. 17
... GPFS... Los metadatos son utilizados para localizar y organizar los datos contenidos en los bloques GPFS. Existen dos tipos: i-node: que apunta a los bloques originales. Cuando este es pequeño puede apuntar únicamente al bloque que compone el fichero, mientras que en el resto de casos apuntará a los indirect-blocks. indirect-blocks: apuntan a los distintos bloques GPFS que forman un bloque general. Son apuntados por los i-node. 18
...GPFS... 19
... GPFS No existe la restricción de 2 Gb por tamaño de fichero como en otros sistemas de ficheros. Los valores máximos son los siguientes: 32 sistemas de ficheros por conjunto de nodos 9 Terabytes por fichero. 256 millones de ficheros por sistema de ficheros. GPFS permite también un sistema de quotas hard o soft. 20