Mr.PlanB Logo
    Ceph Object Storage

    Almacenamiento de objetos Ceph explicado: arquitectura, casos de uso y despliegue

    El almacenamiento de objetos de Ceph es un sistema distribuido y altamente escalable para grandes volúmenes de datos no estructurados. En lugar de bloques o archivos, Ceph guarda los datos como objetos con metadatos e identificadores únicos, lo que le permite escalar enormemente y ofrecer funciones similares a las de la nube.

    Arquitectura del almacenamiento de objetos de Ceph

    El almacenamiento de objetos de Ceph se compone de estos elementos:

    RADOS (Reliable Autonomic Distributed Object Store)

    El núcleo de Ceph. Gestiona el almacenamiento de objetos, la replicación y la distribución entre nodos.

    OSD (Object Storage Daemons)

    Almacenan los objetos de datos y gestionan la replicación, la recuperación y el rebalanceo.

    Monitores (MON)

    Supervisan el estado del clúster, la pertenencia de nodos y la configuración.

    Ceph Object Gateway (RGW)

    Proporciona acceso a los objetos de Ceph mediante API compatibles con S3 y Swift.

    Cómo se almacenan los datos

    1. Los objetos se dividen en grupos de ubicación (placement groups).
    2. Los grupos de ubicación se distribuyen entre los OSD para proporcionar redundancia y tolerancia a fallos.
    3. El algoritmo CRUSH distribuye los datos de manera uniforme sin necesidad de un servidor central de metadatos.
    4. Los clientes acceden a los objetos a través de RGW utilizando las API de S3 o Swift.
    Ruta de datos del almacenamiento de objetos de Ceph: un cliente envía peticiones S3 o Swift al Object Gateway (RGW), RADOS divide los objetos en grupos de ubicación y CRUSH los distribuye entre los OSD mientras los monitores supervisan la salud del clúster

    Características del almacenamiento de objetos de Ceph

    Escalabilidad

    Diseñado para escalar desde unos pocos nodos hasta miles de ellos.

    API compatibles con S3

    Soporta API estándar de almacenamiento de objetos, por lo que las aplicaciones existentes funcionan sin cambios.

    Replicación y erasure coding

    Proporciona redundancia y durabilidad de datos.

    Autorreparación (self-healing)

    Recuperación automática cuando falla un OSD.

    Multitenancy

    Admite múltiples buckets, proyectos y usuarios con cuotas y controles de acceso.

    Alta disponibilidad

    Su diseño distribuido no tiene ningún punto único de fallo.

    Casos de uso del almacenamiento de objetos de Ceph

    Aplicaciones nativas de la nube

    Almacenamiento de datos de aplicaciones, registros (logs) y archivos multimedia.

    Backup y archivado

    Almacenamiento a largo plazo de copias de seguridad y datos de cumplimiento normativo.

    Analítica de big data

    Almacenamiento de grandes conjuntos de datos para procesamiento y análisis.

    Replicación multisitio

    Recuperación ante desastres y redundancia de datos entre distintas ubicaciones.

    Homelabs y entornos de prueba

    Para aprender conceptos de almacenamiento distribuido y API compatibles con S3.

    Aspectos a tener en cuenta para el despliegue

    Tamaño del clúster

    Ceph rinde mejor con al menos tres nodos de monitorización y múltiples OSD.

    Red

    Requiere redes de alta velocidad para un buen rendimiento de replicación y recuperación.

    Monitoreo y mantenimiento

    El estado del clúster y el uso de disco deben supervisarse para prevenir fallos.

    Hardware

    Se recomiendan discos de nivel empresarial para una alta durabilidad y rendimiento, aunque en laboratorios se puede usar hardware de consumo para experimentar.

    Ventajas

    • Altamente escalable y flexible
    • Código abierto con soporte de API S3
    • Gran tolerancia a fallos y autorreparación
    • Ecosistema maduro con herramientas e integraciones

    Desventajas

    • Complejidad en el despliegue y mantenimiento
    • Uso intensivo de recursos: requiere varios nodos y una buena red
    • Curva de aprendizaje para nuevos usuarios

    Preguntas frecuentes

    ¿Qué es el almacenamiento de objetos de Ceph?

    El almacenamiento de objetos de Ceph es un sistema distribuido que guarda los datos como objetos en lugar de bloques o archivos. Está diseñado para escalar y mantenerse en alta disponibilidad, y soporta API compatibles con S3.

    ¿En qué se diferencia el almacenamiento de objetos de Ceph del almacenamiento en bloque o de archivos?

    El almacenamiento en bloque se usa para discos de máquinas virtuales y el de archivos para recursos compartidos NFS o SMB. El almacenamiento de objetos de Ceph gestiona datos no estructurados como objetos con metadatos, lo que escala mejor y se integra con mayor facilidad en la nube.

    ¿Puedo usar Ceph para copias de seguridad?

    Sí. Ceph se utiliza habitualmente como almacenamiento de copias de seguridad y archivado gracias a su durabilidad, replicación y soporte de API S3.

    ¿Es adecuado el almacenamiento de objetos de Ceph para un homelab?

    Sí. Un despliegue pequeño de Ceph es una buena forma de aprender y probar conceptos de almacenamiento distribuido, aunque las funciones de nivel empresarial requieren varios nodos y una infraestructura adecuada.

    ¿Qué son los gateways de almacenamiento de objetos de Ceph?

    Los gateways (RGW) proporcionan acceso mediante API S3 o Swift, permitiendo que clientes y aplicaciones interactúen con los objetos de Ceph a través de interfaces habituales de almacenamiento de objetos.

    ¿Cuántos nodos necesito para el almacenamiento de objetos de Ceph?

    El mínimo recomendado son tres nodos de monitorización y múltiples OSD, para garantizar tolerancia a fallos y rendimiento.