Ceph es una completa solución de al­ma­ce­na­mie­n­to que dispone de un sistema de archivos propio, el Ceph File System (CephFS). Con Ceph pueden al­ma­ce­nar­se datos di­s­tri­bui­dos en diversos co­m­po­ne­n­tes de la propia red. Además, los datos pueden guardarse en di­fe­re­n­tes soportes físicos de al­ma­ce­na­mie­n­to. Ceph garantiza una gran fle­xi­bi­li­dad en la elección del soporte de al­ma­ce­na­mie­n­to, así como una gran es­ca­la­bi­li­dad.

Hosting Nextcloud ad­mi­ni­s­tra­do
Tu al­ma­ce­na­mie­n­to cloud bajo control
  • Control total de datos
  • Fácil de ad­mi­ni­s­trar
  • Agrega fá­ci­l­me­n­te apli­ca­cio­nes y he­rra­mie­n­tas de co­la­bo­ra­ción

Qué hay que saber sobre Ceph y sus pri­n­ci­pa­les ca­ra­c­te­rí­s­ti­cas

El concepto de Ceph fue idea de Sage A. Weil, que lo de­sa­rro­lló en el marco de su proyecto de doctorado y lo publicó en 2006. Más adelante, él mismo siguió di­ri­gie­n­do el proyecto con su compañía, Intank Storage. En 2014, la empresa fue adquirida por RedHat, pero Weil sigue ge­s­tio­na­n­do la ar­qui­te­c­tu­ra de sistemas y sigue siendo, por lo tanto, el principal re­s­po­n­sa­ble del de­sa­rro­llo del concepto.

Ceph solo funciona en sistemas Linux y es co­m­pa­ti­ble, por ejemplo, con CentOS, Debian, Fedora, RedHat/RHEL, OpenSUSE y Ubuntu. No es posible acceder a Ceph de forma directa desde sistemas Windows, pero sí mediante un iSCSI (Internet Small Computer System Interface). Por ello, Ceph se presta es­pe­cia­l­me­n­te a ser utilizado en centros co­mpu­tacio­na­les que ponen su espacio de al­ma­ce­na­mie­n­to a di­s­po­si­ción de los usuarios a través de se­r­vi­do­res, así como en todo tipo de so­lu­cio­nes cloud que usen un software para gestionar las opciones de al­ma­ce­na­mie­n­to.

A co­n­ti­nua­ción, resumimos las ca­ra­c­te­rí­s­ti­cas más im­po­r­ta­n­tes de Ceph:

Cómo funciona Ceph

Ceph requiere que varios or­de­na­do­res estén co­ne­c­ta­dos entre ellos en lo que se denomina un cluster (li­te­ra­l­me­n­te grupo o montón, es decir, un conjunto de varios or­de­na­do­res). Cada ordenador conectado se llama node o nodo.

En un cluster existen di­fe­re­n­tes tipos de nodos, según las tareas que realicen:

  • Monitor nodes: Gestionan el estado de cada uno de los nodos en el cluster y vigilan en especial los co­m­po­ne­n­tes manager service, object storage service y metadata server (MDS). Para poder asegurar cierta seguridad, se re­co­mie­n­da disponer de al menos tres monitor nodes.
  • Manager: Gestionan el estado de la uti­li­za­ción del espacio, de la carga del sistema y del nivel de uti­li­za­ción de los nodos.
  • Ceph OSDs (Object Storage Devices): Son los servicios de fondo que realmente se encargan de gestionar los archivos: son re­s­po­n­sa­bles del al­ma­ce­na­mie­n­to, el duplicado y la re­s­tau­ra­ción de los datos. Se re­co­mie­n­da tener al menos tres OSD en el cluster.
  • Metadata server (MDSs): Se encargan de almacenar metadatos como, por ejemplo, rutas de al­ma­ce­na­mie­n­to, sellos de tiempo y nombres de los archivos guardados en CephFS, por motivos de re­n­di­mie­n­to. Están creados siguiendo el estándar POSIX y pueden so­li­ci­tar­se mediante líneas de comando de Unix, como ls, find y like.

El co­m­po­ne­n­te clave del al­ma­ce­na­mie­n­to de datos es un algoritmo llamado CRUSH (Co­n­tro­lled Re­pli­ca­tion Under Scalable Hashing, es decir, re­pli­ca­ción co­n­tro­la­da bajo hashing escalable). Este algoritmo es capaz de encontrar un OSD con el archivo so­li­ci­ta­do gracias a una tabla de asi­g­na­cio­nes.

La di­s­tri­bu­ción de los archivos en Ceph se realiza de forma pseu­do­alea­to­ria, es decir, de forma que pudiera parecer que se ubican de cualquier manera. En realidad, sin embargo, CRUSH calcula el lugar más adecuado para al­ma­ce­nar­los basándose en criterios definidos por el ad­mi­ni­s­tra­dor de la red. Al hacerlo, además, se duplican los archivos y se almacenan en soportes físicos separados.

Los archivos se di­s­tri­bu­yen en los llamados placement groups (grupos de ubicación), pro­ce­sa­n­do el nombre de archivo como valor hash. Otra ca­ra­c­te­rí­s­ti­ca en la que se basa la ubicación es, por ejemplo, el número de du­pli­ca­dos del archivo.

Nota

El valor hash es una secuencia de ca­ra­c­te­res que resulta de procesar una entrada de datos mediante ope­ra­cio­nes co­mpu­tacio­na­les. Una re­pre­se­n­ta­ción sencilla del proceso sería, por ejemplo, sumar las cifras que componen los datos primarios. En realidad, na­tu­ra­l­me­n­te, se usan al­go­ri­t­mos altamente complejos que generan una huella digital ine­quí­vo­ca a partir de largas se­cue­n­cias de datos. El resultado tiene siempre la misma longitud compacta y no contiene ca­ra­c­te­res no deseados, por lo que también sirve para procesar nombres de archivo.

Para ga­ra­n­ti­zar la seguridad de los datos, al nivel del OSD se utiliza un jou­r­na­li­ng. Allí se guardan te­m­po­ra­l­me­n­te los archivos que se pretende almacenar mientras se espera a que se ubiquen co­rre­c­ta­me­n­te en todos los OSD previstos.

Acceso a los datos guardados

La base del al­ma­ce­na­mie­n­to de datos en Ceph se llama RADOS (a reliable, di­s­tri­bu­ted object store comprised of self-healing, self-mapping, in­te­lli­ge­nt storage nodes), es decir, una memoria fiable y di­s­tri­bui­da compuesta por nodos de al­ma­ce­na­mie­n­to in­te­li­ge­n­tes que se au­to­rre­ge­ne­ran y se au­too­r­ga­ni­zan.

Se puede acceder a los archivos guardados usando di­fe­re­n­tes métodos:

  • librados: Se puede acceder a ellos de forma nativa usando la bi­blio­te­ca librados a través de las in­te­r­fa­ces de pro­gra­ma­ción (API) con lenguajes de pro­gra­ma­ción y de script como C/C++, Python, Java o PHP.
  • radosgw: Por esta gateway se pueden leer o escribir datos usando el protocolo de Internet HTTP.
  • CephFS: Se trata del sistema de archivos propio de Ceph, que se ajusta al estándar POSIX, ofrece un módulo de núcleo para los or­de­na­do­res que accedan y es co­m­pa­ti­ble con FUSE (co­m­ple­me­n­to al sistema de archivos, sin derechos de ad­mi­ni­s­tra­dor).
  • RADOS Block Device: Se integra como memoria orientada a bloques a través de módulos de núcleo o sistemas virtuales como QEMU/KVM.

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

La al­te­r­na­ti­va más conocida es GlusterFS, que también pertenece al di­s­tri­bui­dor de Linux RedHat/RHEL y está di­s­po­ni­ble de forma gratuita. Gluster tiene un enfoque similar: unifica también las memorias di­s­tri­bui­das en un espacio de al­ma­ce­na­mie­n­to en la red. Como es de esperar, tanto una como la otra, GlusterFS y Ceph tienen sus ventajas e in­co­n­ve­nie­n­tes.

También existen otras al­te­r­na­ti­vas gratuitas como, por ejemplo, XtremFS y BeeGfs. Para se­r­vi­do­res Windows, Microsoft ofrece so­lu­cio­nes de al­ma­ce­na­mie­n­to co­me­r­cia­les basadas en software, entre las que se encuentra Storage Spaces Direct (S2D).

IONOS Cloud privado con el programa Broadcom Pinnacle Partner
La potencia de VMware con el cloud más seguro de Europa
  • Control total de los datos y máxima soberanía
  • In­frae­s­tru­c­tu­ra flexible con di­s­po­ni­bi­li­dad del 99,99 %
  • 3 hosts dedicados con vSAN para máxima es­ta­bi­li­dad
  • Co­n­di­cio­nes y soporte ex­clu­si­vos como Broadcom Pinnacle Partner

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

Si bien Ceph es la mejor opción en muchas si­tua­cio­nes, este método de al­ma­ce­na­mie­n­to no solo trae ventajas consigo.

Ventajas de Ceph

Ceph es gratuito y ya es una opción co­n­so­li­da­da, a pesar de ser un proyecto re­la­ti­va­me­n­te joven. En la red se pueden encontrar, por lo tanto, numerosos manuales sobre cómo realizar las tareas de in­s­ta­la­ción y ma­n­te­ni­mie­n­to y, además, Ceph cuenta con muy buenas in­s­tru­c­cio­nes de fa­bri­ca­n­te. La ad­qui­si­ción del proyecto por parte de RedHat indica que pro­ba­ble­me­n­te se seguirá de­sa­rro­lla­n­do durante cierto tiempo. La es­ca­la­bi­li­dad y la re­du­n­da­n­cia integrada ga­ra­n­ti­zan la seguridad de los datos y la fle­xi­bi­li­dad en la red. Además, el algoritmo CRUSH asegura la di­s­po­ni­bi­li­dad de los datos.

Nota

Re­du­n­da­n­cia significa, en este contexto, exceso. En el ámbito de la in­fo­r­má­ti­ca son re­du­n­da­n­tes los datos guardados de más, repetidos. Se suele generar re­du­n­da­n­cia a propósito con el fin de ga­ra­n­ti­zar la su­pe­r­vi­ve­n­cia de los datos en caso de avería, lo cual se puede conseguir tanto a nivel de software como de hardware: por un lado, pueden guardarse en la memoria datos o in­fo­r­ma­ción relevante para la re­s­tau­ra­ción de forma reiterada; por otro, se puede disponer de varios soportes físicos de al­ma­ce­na­mie­n­to para compensar la posible avería de uno de los or­de­na­do­res.

In­co­n­ve­nie­n­tes de Ceph

Debido a la gran variedad de co­m­po­ne­n­tes que incluye, se requiere una amplia red para poder apro­ve­char los puntos fuertes de Ceph. Además, su in­s­ta­la­ción es re­la­ti­va­me­n­te costosa y de cara al usuario no siempre queda claro dónde se están guardando los datos exac­ta­me­n­te.

Ir al menú principal