Que es y como funciona CEPH, la tecnología de almacenamiento que utilizamos en nuestra plataforma
En esta guía te enseñaremos que es y como funciona CEPH.
¿Qué es CEPH?
El creador del concepto Ceph fue Sage A. Weil, lo desarrolló en su proyecto de doctorado y fue publicado en 2006, Más adelante, él mismo siguió dirigiendo el proyecto con su compañía Intank Storage. En 2014 la empresa fue comprada por RedHat pero Weil continua gestionando la arquitectura del sistema y sigue siendo el principal responsable del desarrollo del concepto
CEPH es una completa solución de almacenamiento que dispone de un sistema de archivos propios, el Ceph File System (CephFS). Con esta tecnología puedes almacenar datos distribuidos en diversos componentes de la propia red y los datos pueden guardarse en diferentes soportes físicos de almacenamiento.
Ceph trabaja en sistemas Linux y Windows. Es usado especialmente en centros computacionales que ponen su espacio de almacenamiento a disposición de los usuarios a través de servidores, así como en todo tipo de soluciones cloud que usen un software para gestionar las opciones de almacenamiento.
Beneficios de CEPH
En HostingLabs trabajamos con el sistema de archivos CEPH y te diremos cuales son los beneficios a continuación:
- Soporte para múltiples tipos de almacenamiento: objetos, bloques y sistemas de archivos. Independientemente del tipo de trabajo que se realice, los archivos, bloques y/o objetos resultantes pueden vivir en armonía en Ceph.
- Soporte nativo de entornos cloud híbridos.
- Open-source software – Libre de lock-in y obsolescencia programada.
- Tolerancia al fallo: no es necesario comprar hardware redundante en caso de que falle un componente. La funcionalidad de recuperación automática de Ceph replica rápidamente el nodo fallido, garantizando una alta disponibilidad y redundancia de datos.
¿Cómo funciona CEPH?
Ceph requiere que varios ordenadores estén conectados entre ellos en lo que se denomina un cluster (literalmente grupo o montón, es decir, un conjunto de varios ordenadores). Cada ordenador conectado se llama node o nodo.
En un cluster existen diferentes 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 componentes manager service, object storage service y metadata server (MDS). Para poder asegurar cierta seguridad, se recomienda disponer de al menos tres monitor nodes.
- Manager: Gestionan el estado de la utilización del espacio, de la carga del sistema y del nivel de utilización de los nodos.
- Ceph OSDs (Object Storage Devices): Son los servicios de fondo que realmente se encargan de gestionar los archivos: son responsables del almacenamiento, el duplicado y la restauración de los datos. Se recomienda tener al menos tres OSD en el cluster.
- Metadata server (MDSs): Se encargan de almacenar metadatos como, por ejemplo, rutas de almacenamiento, sellos de tiempo y nombres de los archivos guardados en CephFS, por motivos de rendimiento. Están creados siguiendo el estándar POSIX y pueden solicitarse mediante líneas de comando de Unix, como ls, find y like.
El componente clave del almacenamiento de datos es un algoritmo llamado CRUSH (Controlled Replication Under Scalable Hashing, es decir, replicación controlada bajo hashing escalable). Este algoritmo es capaz de encontrar un OSD con el archivo solicitado gracias a una tabla de asignaciones.
La distribución de los archivos en Ceph se realiza de forma pseudoaleatoria, 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 almacenarlos basándose en criterios definidos por el administrador de la red. Al hacerlo, además, se duplican los archivos y se almacenan en soportes físicos separados.
Los archivos se distribuyen en los llamados placement groups (grupos de ubicación), procesando el nombre de archivo como valor hash. Otra característica en la que se basa la ubicación es, por ejemplo, el número de duplicados del archivo.
Para garantizar la seguridad de los datos, al nivel del OSD se utiliza un journaling. Allí se guardan temporalmente los archivos que se pretende almacenar mientras se espera a que se ubiquen correctamente en todos los OSD previstos.
¡Felicidades! Ya sabes que es Ceph y como funciona, recuerda que puedes solicitar la instalación de estos y otros paquetes de software al contratar un Servidor Cloud con Hostinglabs o elegir un servidor con una plantilla existente en nuestro catálogo.