GlusterFS – ¿De qué se trata?

GlusterFS es un sistema de archivos distribuido y escalable a cualquier nivel que reúne las unidades de almacenamiento de diferentes servidores en un solo sistema. Los sistemas de archivos trabajan ocultos, así que prácticamente nadie vuelve a pensar en ellos tras haberlos instalado. Sin embargo, uno se vuelve a acordar de ellos enseguida cuando se pierden datos o se alcanzan los límites del sistema de archivos: si, por ejemplo, el tamaño máximo de una partición no es suficiente o hay limitaciones en la ruta de almacenamiento.

¿Qué y quién hay detrás de GlusterFS?

El nombre Gluster es un acrónimo formado a partir de las siglas GNU (a su vez un acrónimo recursivo de GNU’s not Unix) y el término cluster. El sistema está publicado bajo la licencia pública general de GNU (General Public License, GNU-GPLS) y, por lo tanto, puede usarse de forma gratuita. El término cluster, que significa algo así como montón o grupo, describe, en el contexto de los soportes de datos, la síntesis lógica de varios soportes de almacenamiento físicos. Así, cuando hablamos de ordenadores, cluster se refiere a un conjunto de varios sistemas interconectados. GlusterFS combina este concepto con el de GNU y unifica el espacio de almacenamiento de varios ordenadores, para mostrarlo luego como una sola unidad lógica.

El proyecto fue presentado en 2005 por la empresa Gluster Inc., que en 2011 fue adquirida por RedHat, distribuidor de Linux. Desde entonces, RedHat sigue desarrollando el sistema de archivos. En enero de 2020 se publicó la séptima versión de GlusterFS, que está disponible en formato compilado para las siguientes distribuciones de Linux:

  • CentOS
  • Debian
  • Fedora
  • RedHat/RHEL
  • SUSE
  • Ubuntu

La razón de que solo funcione en sistemas basados en Unix es que la memoria está integrada a través del módulo FUSE, que aún no está disponible para Windows con la estabilidad necesaria.

Nota

FUSE es el acrónimo de Filesystem in Userspace. Los sistemas operativos suelen dividirse en dos espacios: el del usuario y el del núcleo o kernel. Este último está muy protegido y solo es accesible con derechos de administrador, entre otras medidas de seguridad. Por eso, estos derechos suelen ser necesarios para montar o integrar (to mount) y gestionar las unidades de disco. FUSE, sin embargo, permite también a los usuarios gestionar los sistemas de archivo.

Los ordenadores pueden funcionar como servidores y como clientes. No obstante, el mero acceso al sistema de archivos también es posible desde otros sistemas. Son compatibles los sistemas NFS (Network File System) y SMB/CIFS (Server Message Block/Common Internet File System).

Cómo funciona GlusterFS

Un sistema de archivos distribuido es conveniente solo si se conectan varios ordenadores entre sí. Según la descripción oficial de GlusterFS, se requieren al menos tres servidores, pero no se trata de servidores en sentido literal, sino que puede tratarse de prácticamente cualquier tipo de hardware físico o emulado. También se pueden usar, además de todo tipo de ordenadores, máquinas virtuales, que tienen muchas ventajas, en especial en materia de flexibilidad.

Los servidores integrados funcionan como nodes (nodos) y se conectan a través de la red TCP/IP. Los dispositivos conectados forman así lo que se denomina una trusted pool, es decir, un conjunto de servidores de confianza. Estos servidores ponen sus memorias a disposición del usuario en forma de bricks (ladrillos), en los cuales se crean, finalmente, los volumes (unidades de volumen), que luego pueden incorporarse y usarse como soportes de almacenamiento normales. Los ordenadores que acceden al sistema son denominados clientes o clients y es posible que también funcionen como servidor al mismo tiempo.

Una característica especial de GlusterFS es su gran escalabilidad, que permite que se puedan añadir a posteriori tantos nodos y bricks como se quiera. De este modo, el espacio de almacenamiento puede adaptarse continuamente a los requisitos de cada momento. El tamaño máximo del espacio de almacenamiento que se puede manejar es de varios petabytes.

Además, GlusterFS se asegura de que no se pierdan los datos en caso de avería guardándolos de forma redundante. De esta forma, el riesgo se reparte entre varios sistemas, que pueden estar en soportes físicos separados. También es posible crear clusters tipo RAID, que requieren que se añada una unidad copiada (replicated volume) en lugar de una distribuida (distributed volume), como suele ser la opción por defecto. Dicha unidad copiada guarda cada archivo por duplicado y se corresponde con el llamado mirror RAID.

Hecho

Un Redundant Array of Independent Disks (RAID) es un conjunto de discos duros que son físicamente independientes entre sí, pero a partir de los cuales se crea una unidad de almacenamiento unificada. Según cuál sea el objetivo del conjunto, pueden invertirse más esfuerzos en que sea rápido o en que los datos estén seguros. Si se escoge la segunda prioridad, se reducirá el espacio de almacenamiento al guardar repetidamente los datos o la información adicional requerida para restaurarlos en caso de pérdida.

Para acciones en el espacio de almacenamiento, GlusterFS ofrece diez traductores (translators) predefinidos, que se encargan de transformar las solicitudes realizadas con derechos de usuario para que puedan ser ejecutadas en la memoria. Algunos ejemplos de traductores son Storage, que guarda los datos en el sistema local de archivos y regula el acceso a ellos; y Encryption, que es responsable de la encriptación.

Desde no hace mucho, existe la función de georeplicación, que permite realizar una distribución asíncrona de los datos en servidores ubicados en lugares separados. Esta acción, además, ofrece protección frente a posibles daños físicos de los servidores, como podrían ser los causados por incendio o por robo. En la georeplicación, un ordenador adopta el rol de amo (master) y el otro, el de esclavo (slave) y la transmisión de los datos está asegurada mediante el protocolo SSH (Secure Shell).

Ventajas e inconvenientes de GlusterFS

En la siguiente tabla hemos resumido las principales ventajas e inconvenientes de un sistema de archivos distribuido en comparación con un sistema de almacenamiento de red convencional:

Ventajas de Gluster Inconvenientes de Gluster
Buen aprovechamiento de las capacidades Estructura de red compleja
Mayor seguridad frente a averías Mayor esfuerzo administrativo para instalarlo
Distribución de la carga de red Requiere una infraestructura de red rápida
Muy buena escalabilidad La seguridad técnica requiere trabajo adicional

Ejemplos de aplicación de GlusterFS

En principio, GlusterFS representa una cloud modelo: un espacio de almacenamiento basado en un conjunto de ordenadores y que se pone a disposición de los clientes conectados. Este sistema resulta especialmente útil en redes grandes que ya de por sí disponen de recursos suficientes para crear un cluster, es decir, muchos ordenadores que pueden conectarse entre ellos.

Puesto que los dispositivos se conectan entre ellos mediante el protocolo de Internet, las estructuras empresariales con varias sucursales se prestan especialmente a la implementación de un sistema de archivos distribuido. Sin embargo, las estructuras de red de menor amplitud geográfica también pueden aprovechar este sistema para no tener que disponer de su propio espacio de almacenamiento en red, todo ello sin renunciar siquiera a la redundancia en el almacenamiento.

Consejo

¿Quieres trabajar con GlusterFS tú mismo? IONOS tiene un detallado artículo en inglés con instrucciones paso a paso para instalar y configurar el sistema de archivos.

Alternativas a GlusterFS

La alternativa más popular a GlusterFS es Ceph, que también está disponible de forma gratuita y ofrece muchas de las ventajas descritas anteriormente que son propias de los sistemas de archivos distribuidos. No obstante, tanto Ceph como Gluster tienen diferentes ventajas e inconvenientes.

Para sistemas computacionales de alto rendimiento, uno de los institutos de la sociedad Fraunhofer desarrolló BeeGFS (anteriormente FhGFS), que también se ofrece de forma gratuita y en el que se ha tomado como prioridad la sencillez en el manejo.

En el ámbito comercial existen, además, sistemas como Storage Spaces Direct (S2D) de Microsoft, que, en cambio, solo puede usarse con servidores Windows sujetos a una licencia de pago.

¿Le ha resultado útil este artículo?
Page top