Las necesidades de sistemas de cálculo intensivo precisan de un sistema de ficheros distribuido especial en muchos sentidos.
Las altas exigencias en rendimiento, escalabilidad y tolerancia a averías de hardware en estos entornos, han motivado la creación de soluciones, que hoy en día tienen una clara transferencia a entornos no tan exigentes, como medicina, navegación, genómica.
¿Qué es GlusterFS?
El Sistema de Archivos Gluster, Gluster File System o GlusterFS, es un multiescalable sistema de archivos para NAS desarrollado inicialmente por Gluster Inc.
Este permite agregar varios servidores de archivos sobre Ethernet o interconexiones Infiniband RDMA en un gran entorno de archivos de red en paralelo.
El Diseño de Gluster File Storage
El diseño del GLusterFS se basa en la utilización del espacio de usuario y de esta manera no compromete el rendimiento. Se pueden encontrar siendo utilizado en una gran variedad de entornos y aplicaciones como computación en nube, ciencias biomédicas y almacenamiento de archivos.
El GlusterFS está licenciado bajo la licencia GNU General Public License versión 3.Gluster Inc fue el principal patrocinador comercial del GlusterFS, el cual ofrece tanto productos comerciales como apoyo para desarrollo de soluciones libres basadas en el GlusterFS. En Octubre de 2011, fue anunciada la adquisición de Gluster Inc por Red Hat Inc.El GlusterFS se basa en la interacción de componentes cliente y servidor.
Los servidores normalmente se implementan como almacenamiento en bloques, en cada servidor el proceso daemon glusterfsd exporta un sistema de archivos local como un volumen.
El proceso cliente glusterfs, se conecta a los servidores a través de algún protocolo TCP/IP, InfiniBand o SDP, compone volúmenes compuestos virtuales a partir de los múltiples servidores remotos, mediante el uso de traductores.
¿Cómo se almacenan los archivos en GlusterFs?
Por defecto, los archivos son almacenados enteros, pero también puede configurarse que se fragmente en múltiples porciones en cada servidor. Los volúmenes pueden ser montados en los equipos cliente mediante el modulo FUSE o acceder a través de la librería cliente libglusterfs sin incurrir en problemas con el sistema de archivos La mayor parte de la funcionalidades del GlusterFS se implementa como traductores,
● Espejado y la replicación de archivos.
● Fragmentación de los archivos o Data striping.
● Balanceo de carga para la lectura y escritura de archivos.
● Volúmenes con tolerancia a fallos.
● Planificación de E/S y almacenamiento en caché de disco.
● Las cuotas de almacenamiento
● El servidor GlusterFS se mantiene mínimamente simple: exporta un sistema de archivos existente como está, dejando en manos de los traductores del lado del cliente a la estructura del almacenamiento.
Los propios clientes se manejan independientemente, no se comunican directamente entre sí, y los traductores administran las consistencia de los datos entre ellos.
El algoritmo GlusterFS
El GlusterFS se basa en un algoritmo de hash elástico en vez de utilizar un modelo de metadatos centralizados o distribuidos. Desde la versión 3.1, los volúmenes pueden ser agregados, eliminados o migrados en forma dinámica, esto ayuda a prever problemas de consistencia, y permite que el GlusterFS pueda ser escalado a varios petabytes sobre hardware de bajo coste, evitando así los cuellos de botella que normalmente afectan a muchos sistemas de archivos distribuidos con múltiple concurrencia.