GlusterFS es un sistema de archivos di­s­tri­bui­do y escalable a cualquier nivel que reúne las unidades de al­ma­ce­na­mie­n­to de di­fe­re­n­tes se­r­vi­do­res en un solo sistema. Los sistemas de archivos trabajan ocultos, así que prá­c­ti­ca­me­n­te 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 su­fi­cie­n­te o hay li­mi­ta­cio­nes en la ruta de al­ma­ce­na­mie­n­to.

¿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 al­ma­ce­na­mie­n­to físicos. Así, cuando hablamos de or­de­na­do­res, cluster se refiere a un conjunto de varios sistemas in­te­r­co­ne­c­ta­dos. GlusterFS combina este concepto con el de GNU y unifica el espacio de al­ma­ce­na­mie­n­to de varios or­de­na­do­res, para mostrarlo luego como una sola unidad lógica.

El proyecto fue pre­se­n­ta­do en 2005 por la empresa Gluster Inc., que en 2011 fue adquirida por RedHat, di­s­tri­bui­dor de Linux. Desde entonces, RedHat sigue de­sa­rro­lla­n­do el sistema de archivos. En enero de 2020 se publicó la séptima versión de GlusterFS, que está di­s­po­ni­ble en formato compilado para las si­guie­n­tes di­s­tri­bu­cio­nes 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á di­s­po­ni­ble para Windows con la es­ta­bi­li­dad necesaria.

Nota

FUSE es el acrónimo de Fi­le­s­y­s­tem in Userspace. Los sistemas ope­ra­ti­vos 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 ad­mi­ni­s­tra­dor, entre otras medidas de seguridad. Por eso, estos derechos suelen ser ne­ce­sa­rios 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 or­de­na­do­res pueden funcionar como se­r­vi­do­res y como clientes. No obstante, el mero acceso al sistema de archivos también es posible desde otros sistemas. Son co­m­pa­ti­bles los sistemas NFS (Network File System) y SMB/CIFS (Server Message Block/Common Internet File System).

Cómo funciona GlusterFS

Un sistema de archivos di­s­tri­bui­do es co­n­ve­nie­n­te solo si se conectan varios or­de­na­do­res entre sí. Según la de­s­cri­p­ción oficial de GlusterFS, se requieren al menos tres se­r­vi­do­res, pero no se trata de se­r­vi­do­res en sentido literal, sino que puede tratarse de prá­c­ti­ca­me­n­te cualquier tipo de hardware físico o emulado. También se pueden usar, además de todo tipo de or­de­na­do­res, máquinas virtuales, que tienen muchas ventajas, en especial en materia de fle­xi­bi­li­dad.

Los se­r­vi­do­res in­te­gra­dos funcionan como nodes (nodos) y se conectan a través de la red TCP/IP. Los di­s­po­si­ti­vos co­ne­c­ta­dos forman así lo que se denomina una trusted pool, es decir, un conjunto de se­r­vi­do­res de confianza. Estos se­r­vi­do­res ponen sus memorias a di­s­po­si­ción del usuario en forma de bricks (ladrillos), en los cuales se crean, fi­na­l­me­n­te, los volumes (unidades de volumen), que luego pueden in­co­r­po­rar­se y usarse como soportes de al­ma­ce­na­mie­n­to normales. Los or­de­na­do­res que acceden al sistema son de­no­mi­na­dos clientes o clients y es posible que también funcionen como servidor al mismo tiempo.

Una ca­ra­c­te­rí­s­ti­ca especial de GlusterFS es su gran es­ca­la­bi­li­dad, que permite que se puedan añadir a po­s­te­rio­ri tantos nodos y bricks como se quiera. De este modo, el espacio de al­ma­ce­na­mie­n­to puede adaptarse co­n­ti­nua­me­n­te a los re­qui­si­tos de cada momento. El tamaño máximo del espacio de al­ma­ce­na­mie­n­to 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 gua­r­dá­n­do­los de forma re­du­n­da­n­te. 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 (re­pli­ca­ted volume) en lugar de una di­s­tri­bui­da (di­s­tri­bu­ted volume), como suele ser la opción por defecto. Dicha unidad copiada guarda cada archivo por duplicado y se co­rre­s­po­n­de con el llamado mirror RAID.

Hecho

Un Redundant Array of In­de­pe­n­de­nt Disks (RAID) es un conjunto de discos duros que son fí­si­ca­me­n­te in­de­pe­n­die­n­tes entre sí, pero a partir de los cuales se crea una unidad de al­ma­ce­na­mie­n­to unificada. Según cuál sea el objetivo del conjunto, pueden in­ve­r­ti­r­se 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 al­ma­ce­na­mie­n­to al guardar re­pe­ti­da­me­n­te los datos o la in­fo­r­ma­ción adicional requerida para re­s­tau­rar­los en caso de pérdida.

Para acciones en el espacio de al­ma­ce­na­mie­n­to, GlusterFS ofrece diez tra­du­c­to­res (tra­n­s­la­to­rs) pre­de­fi­ni­dos, que se encargan de tra­n­s­fo­r­mar las so­li­ci­tu­des rea­li­za­das con derechos de usuario para que puedan ser eje­cu­ta­das en la memoria. Algunos ejemplos de tra­du­c­to­res son Storage, que guarda los datos en el sistema local de archivos y regula el acceso a ellos; y En­cr­y­p­tion, que es re­s­po­n­sa­ble de la en­cri­p­ta­ción.

Desde no hace mucho, existe la función de geo­re­pli­ca­ción, que permite realizar una di­s­tri­bu­ción asíncrona de los datos en se­r­vi­do­res ubicados en lugares separados. Esta acción, además, ofrece pro­te­c­ción frente a posibles daños físicos de los se­r­vi­do­res, como podrían ser los causados por incendio o por robo. En la geo­re­pli­ca­ción, un ordenador adopta el rol de amo (master) y el otro, el de esclavo (slave) y la tra­n­s­mi­sión de los datos está asegurada mediante el protocolo SSH (Secure Shell).

Ventajas e in­co­n­ve­nie­n­tes de GlusterFS

En la siguiente tabla hemos resumido las pri­n­ci­pa­les ventajas e in­co­n­ve­nie­n­tes de un sistema de archivos di­s­tri­bui­do en co­m­pa­ra­ción con un sistema de al­ma­ce­na­mie­n­to de red co­n­ve­n­cio­nal:

Ventajas de Gluster In­co­n­ve­nie­n­tes de Gluster
Buen apro­ve­cha­mie­n­to de las ca­pa­ci­da­des Es­tru­c­tu­ra de red compleja
Mayor seguridad frente a averías Mayor esfuerzo ad­mi­ni­s­tra­ti­vo para in­s­ta­lar­lo
Di­s­tri­bu­ción de la carga de red Requiere una in­frae­s­tru­c­tu­ra de red rápida
Muy buena es­ca­la­bi­li­dad La seguridad técnica requiere trabajo adicional

Ejemplos de apli­ca­ción de GlusterFS

En principio, GlusterFS re­pre­se­n­ta una cloud modelo: un espacio de al­ma­ce­na­mie­n­to basado en un conjunto de or­de­na­do­res y que se pone a di­s­po­si­ción de los clientes co­ne­c­ta­dos. Este sistema resulta es­pe­cia­l­me­n­te útil en redes grandes que ya de por sí disponen de recursos su­fi­cie­n­tes para crear un cluster, es decir, muchos or­de­na­do­res que pueden co­ne­c­tar­se entre ellos.

Puesto que los di­s­po­si­ti­vos se conectan entre ellos mediante el protocolo de Internet, las es­tru­c­tu­ras em­pre­sa­ria­les con varias su­cu­r­sa­les se prestan es­pe­cia­l­me­n­te a la im­ple­me­n­ta­ción de un sistema de archivos di­s­tri­bui­do. Sin embargo, las es­tru­c­tu­ras de red de menor amplitud geo­grá­fi­ca también pueden apro­ve­char este sistema para no tener que disponer de su propio espacio de al­ma­ce­na­mie­n­to en red, todo ello sin renunciar siquiera a la re­du­n­da­n­cia en el al­ma­ce­na­mie­n­to.

Al­te­r­na­ti­vas a GlusterFS

La al­te­r­na­ti­va más popular a GlusterFS es Ceph, que también está di­s­po­ni­ble de forma gratuita y ofrece muchas de las ventajas descritas an­te­rio­r­me­n­te que son propias de los sistemas de archivos di­s­tri­bui­dos. No obstante, tanto Ceph como Gluster tienen di­fe­re­n­tes ventajas e in­co­n­ve­nie­n­tes.

Para sistemas co­mpu­tacio­na­les de alto re­n­di­mie­n­to, uno de los in­s­ti­tu­tos de la sociedad Frau­nho­fer de­sa­rro­lló BeeGFS (an­te­rio­r­me­n­te 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 se­r­vi­do­res Windows sujetos a una licencia de pago.

Ir al menú principal