Los sistemas de al­ma­ce­na­mie­n­to di­s­tri­bui­do son la solución para almacenar y gestionar datos que no caben en un servidor co­n­ve­n­cio­nal. En este sentido, el tamaño no es el único problema, sino que los sistemas de archivos clásicos, con su es­tru­c­tu­ra en carpetas, tampoco son co­m­pa­ti­bles con datos sin es­tru­c­tu­rar.

Guardar grandes conjuntos de datos: GlusterFS y Ceph lo hacen posible

Cuando hablamos de ma­cro­da­tos o big data, la cantidad de datos que se tendrá que gestionar no se conoce al principio del proyecto. Por lo tanto, los sistemas deben poder ampliarse fá­ci­l­me­n­te, sin dejar de funcionar, con se­r­vi­do­res adi­cio­na­les que puedan in­te­grar­se sin ob­s­tácu­los en el sistema de al­ma­ce­na­mie­n­to dado. El llamado Di­s­tri­bu­ted File System (sistema de archivos di­s­tri­bui­do) se muestra al usuario como una sencilla carpeta de un sistema de archivos tra­di­cio­nal, de manera que dicha persona no intuye que los datos sueltos o, incluso, partes de ellos, pueden estar ubicados en se­r­vi­do­res di­fe­re­n­tes que, quizá, se en­cue­n­tren en puntos geo­grá­fi­cos alejados entre sí. Puesto que tanto GlusterFS como Ceph son ya capas de software en sistemas ope­ra­ti­vos Linux, no requieren ca­ra­c­te­rí­s­ti­cas adi­cio­na­les en el hardware. Linux funciona en cualquier servidor estándar y es co­m­pa­ti­ble con todos los discos duros ha­bi­tua­les en el mercado.

La alta di­s­po­ni­bi­li­dad es clave

El alto nivel de di­s­po­ni­bi­li­dad es una cuestión im­po­r­ta­n­te en las so­lu­cio­nes de al­ma­ce­na­mie­n­to di­s­tri­bui­do: han de evitarse las averías del hardware tanto como sea posible y la ejecución del software que hace funcionar el sistema no debe in­te­rru­m­pi­r­se ni cuando se añadan nuevos co­m­po­ne­n­tes, ni cuando sea necesario realizar trabajos de ma­n­te­ni­mie­n­to. Los metadatos im­po­r­ta­n­tes no pueden estar guardados en una sola ubicación central, sino que se debe poder acceder a ellos de forma de­s­ce­n­tra­li­za­da y no debe quedar ningún elemento sin re­du­n­da­n­cia. En caso de una avería del servidor, el conjunto del sistema nunca ha de estar en peligro. GlusterFS y Ceph son sistemas para albergar datos de proyectos de big data en un mismo sistema y poder fi­l­trar­los desde allí. Ambos pueden ampliarse prá­c­ti­ca­me­n­te tanto como se quiera, pero se basan en pla­n­tea­mie­n­tos distintos.

Hecho

El término big data (ma­cro­da­tos, datos masivos) alude a ca­n­ti­da­des, más bien masas de datos muy grandes, complejas y sin apenas es­tru­c­tu­ra, como las que se recogen en ciertos sensores con fines cie­n­tí­fi­cos (los satélites de GPS, por ejemplo) o en sistemas me­teo­ro­ló­gi­cos o es­ta­dí­s­ti­cos. En el ámbito de los big data, además del al­ma­ce­na­mie­n­to, la efi­cie­n­cia en la búsqueda y la or­ga­ni­za­ción si­s­te­má­ti­ca de los datos tienen un papel clave.

Breve pre­se­n­ta­ción de GlusterFS

GlusterFS es un sistema de archivos di­s­tri­bui­do con una es­tru­c­tu­ra modular, en el cual varios se­r­vi­do­res se conectan entre sí mediante una red TCP/IP. Puesto que se trata de un sistema co­m­pa­ti­ble con POSIX (Portable Operating System Interface), GlusterFS se puede integrar fá­ci­l­me­n­te en entornos de servidor Linux, al igual que FreeBSD, Ope­n­So­la­ris y macOS, que también son co­m­pa­ti­bles con POSIX. La in­te­gra­ción en entornos Windows, sin embargo, por ahora solo es posible por vía indirecta mediante un servidor Linux que haga de gateway.

¿Cómo funciona GlusterFS?

GlusterFS empezó siendo un sistema de al­ma­ce­na­mie­n­to clásico, basado en archivos. Más tarde pasó a ser orientado a objetos y al hacer el cambio se le dio una especial im­po­r­ta­n­cia a que pudiese in­te­grar­se ade­cua­da­me­n­te en la conocida solución de código abierto OpenStack. En un segundo plano, GlusterFS sigue tra­ba­ja­n­do con archivos: a cada archivo se le asigna un objeto y la conexión entre ellos se establece mediante hardlinks en el sistema de archivos. De cara al usuario, no se muestra ningún servidor dedicado, sino que él o ella dispone de sus propias in­te­r­fa­ces para guardar sus datos en GlusterFS, que se presenta como un único sistema.

Ventajas In­co­n­ve­nie­n­tes
Fácil de integrar en sistemas Linux In­te­gra­ción en sistemas Windows solo por vía indirecta
Co­m­pa­ti­ble con POSIX
Co­m­pa­ti­ble con FUSE (File System in User Space)

Breve pre­se­n­ta­ción de Ceph

La solución open source de al­ma­ce­na­mie­n­to di­s­tri­bui­do Ceph es una memoria orientada a objetos basada en objetos binarios y que, por lo tanto, evita las rígidas es­tru­c­tu­ras en bloque de los soportes de datos co­n­ve­n­cio­na­les. En términos de hardware, Ceph también utiliza discos duros, pero un algoritmo se encarga de gestionar los objetos binarios, que están divididos en numerosas partes y re­pa­r­ti­dos entre muchos se­r­vi­do­res, pero vuelven luego a uni­fi­car­se.

¿Cómo funciona Ceph?

Todos los co­m­po­ne­n­tes funcionan de manera de­s­ce­n­tra­li­za­da. Todos los OSD (Object Based Storage Device, es decir, los di­s­po­si­ti­vos de al­ma­ce­na­mie­n­to de objetos) tienen los mismos derechos. De esta forma, se pueden conectar entre sí tantos se­r­vi­do­res como se quiera, con sus di­fe­re­n­tes discos duros, para formar un sistema de al­ma­ce­na­mie­n­to unificado. A través de tres in­te­r­fa­ces im­po­r­ta­n­tes, Ceph ofrece di­fe­re­n­tes po­si­bi­li­da­des para in­te­grar­lo en el entorno de sistema del que se disponga: CephFS como co­n­tro­la­dor del sistema de archivos de Linux, RADOS Block Devices (RBD) como di­s­po­si­ti­vo Linux, que puede in­te­grar­se di­re­c­ta­me­n­te; y RADOS Gateway, co­m­pa­ti­ble con Swift y Amazon S3.

Ventajas In­co­n­ve­nie­n­tes
Fácil de integrar en todos los sistemas, al margen del sistema operativo Menor calidad de las funciones de sistema de archivos
Di­s­po­si­ti­vo orientado a bloques para Linux Mayor esfuerzo de fa­mi­lia­ri­za­ción con las es­tru­c­tu­ras de al­ma­ce­na­mie­n­to, que son to­ta­l­me­n­te nuevas
Sistema de archivos CephFS para Linux
Interfaz de Amazon S3
Perfecta in­te­gra­ción con la au­te­n­ti­ca­ción de Keystone
Módulo FUSE (File System in User Space) para que sea co­m­pa­ti­ble con sistemas sin cliente CephFS

Co­m­pa­ra­ción: GlusterFS vs. Ceph

Puesto que hay varias di­fe­re­n­cias técnicas entre GlusterFS y Ceph, no hay un claro ganador. En principio, Ceph es un sistema de al­ma­ce­na­mie­n­to basado en objetos para datos no es­tru­c­tu­ra­dos, mientras que GlusterFS utiliza sistemas de archivo en forma de árbol en di­s­po­si­ti­vos basados en bloques. GlusterFS tiene su origen en un sistema de al­ma­ce­na­mie­n­to altamente eficiente y basado en archivos, pero que se va de­sa­rro­lla­n­do cada vez más orie­n­tá­n­do­se a objetos. Ceph, en cambio, se de­sa­rro­lló ori­gi­na­l­me­n­te como di­s­po­si­ti­vo de al­ma­ce­na­mie­n­to de objetos (object storage) binario, no como un sistema de archivos clásico. Esto puede dar lugar a puntos débiles en las ope­ra­cio­nes típicas de los sistemas de archivo tra­di­cio­na­les.

GlusterFS Ceph
Mejor en sistemas de archivos Mejor en el al­ma­ce­na­mie­n­to de objetos
Algoritmo de al­ma­ce­na­mie­n­to más rápido Mejor re­n­di­mie­n­to en hardware sencillo
No requiere un servidor central de metadatos Fácil de integrar en todos los sistemas, al margen del sistema operativo
Menor co­m­ple­ji­dad Di­s­po­si­ti­vo orientado a bloques para Linux
Más adecuado para almacenar datos de gran tamaño (a partir de unos 4 MB por archivo) Ada­p­ta­cio­nes más sencillas a las ne­ce­si­da­des del cliente
Más adecuado para archivos con acceso se­cue­n­cial Co­m­pa­ti­ble con RADOS

¿Cuándo conviene utilizar cada sistema?

Ceph, gracias a sus variadas in­te­r­fa­ces, funciona bien en redes he­te­ro­gé­neas, en las que no solo se utiliza Linux, sino también otros sistemas ope­ra­ti­vos. El punto fuerte de GlusterFS, en cambio, es el al­ma­ce­na­mie­n­to de grandes ca­n­ti­da­des de datos en formato tra­di­cio­nal, así como de datos de gran tamaño. Puesto que Ceph se de­sa­rro­lló desde un primer momento como solución open source, en el pasado resultaba más fácil uti­li­zar­lo en muchos casos, hasta que GlusterFS también pasó a ser de código abierto. Un ámbito de apli­ca­ción muy relevante para los sistemas de al­ma­ce­na­mie­n­to di­s­tri­bui­do son los servicios en la nube. En este sentido, OpenStack es uno de los proyectos de software más im­po­r­ta­n­tes que ofrecen ar­qui­te­c­tu­ras para co­mpu­tación en la nube. Ambos, GlusterFS y Ceph, funcionan igual de bien con OpenStack.

Ir al menú principal