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).

Private Cloud powered by VMware
Pago por uso y el más alto nivel de seguridad de los datos.

Bajo la división Arsys Cloud Solutions, diseñamos So­lu­cio­nes a tu medida.

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