El almacenamiento tradicional basado en cabinas SAN o sistemas RAID locales ha funcionado durante decadas, pero arrastra un problema arquitectonico fundamental: el single point of failure. Cuando una controladora SAN fallá, cuando un servidor NAS se queda sin espacio o cuando un array RAID sufre un doble fallo de disco, los datos quedan inaccesibles y el negocio se detiene. En entornos donde el downtime tiene un coste directo (cloud IaaS, plataformas SaaS, hospitales, finanzas), depender de un único punto centralizado de almacenamiento es un riesgo que ya no se puede asumir.
La respuesta de la industria a este problema es el almacenamiento definido por software (SDS) de arquitectura distribuida, y dentro de este paradigma, Ceph se ha consolidado como la solución open source de referencia. Ceph reparte los datos entre decenas o cientos de nodos, elimina cualquier componente único cuyo fallo pueda provocar perdida de servicio y escala horizontalmente sin límites prácticos.
En este artículo explicamos que es Ceph, como funciona su arquitectura, que tipos de acceso ofrece, como garantiza la alta disponibilidad, como se integra con Proxmox y que papel juega en la infraestructura cloud de EasyDataHost.
Que es Ceph
Ceph es un sistema de almacenamiento distribuido, open source y software-defined que proporciona almacenamiento de objetos, bloques y ficheros sobre una única plataforma unificada. Fue creado por Sage Weil en 2004 como parte de su tesis doctoral y hoy esta respaldado por la comunidad open source y por empresas como Red Hat (IBM), SUSE, Canonical y Proxmox.
El nucleo de Ceph es RADOS (Reliable Autonomic Distributed Object Store), una capa de almacenamiento de objetos distribuido que gestiona la replicación, la recuperación ante fallos y la redistribucion de datos de forma autonoma. Sobre RADOS se construyen todos los protocolos de acceso que Ceph ofrece al exterior.
Lo que distingue a Ceph de otras soluciones distribuidas es el algoritmo CRUSH (Controlled Replication Under Scalable Hashing). En lugar de mantener una tabla centralizada que indique donde esta cada dato, CRUSH calcula deterministicamente la ubicación de cada objeto a partir de su nombre y de un mapa del cluster. Esto elimina la necesidad de un servicio de metadatos centralizado para datos de bloques y objetos, lo que a su vez elimina un cuello de botella clasíco de rendimiento y disponibilidad.
Arquitectura Ceph: Componentes Clave
Un cluster Ceph se compone de varios tipos de demonios que cooperan para almacenar, replicar y servir datos. Entender cada componente es fundamental para dimensionar y operar un cluster correctamente:
- storage OSD (Object Storage Daemon): cada disco físico del cluster ejecuta un demonio OSD. Es la unidad básica de almacenamiento. Un cluster de produccion típico tiene decenas o cientos de OSDs. Cada OSD almacena datos, gestiona la replicación con otros OSDs y reporta su estado al monitor.
- monitor_heart MON (Monitor): mantiene el mapa del cluster (el CRUSH map, el mapa de OSDs, el mapa de pools) y gestiona el consenso entre nodos mediante el protocolo Paxos. Se despliegan en número impar (3 o 5) para garantizar quorum ante fallos.
- dashboard MGR (Manager): recopila metricas de rendimiento, estado y uso del cluster. Proporciona el dashboard web, la integración con Prometheus/Grafana y modulos de gestión como el balanceador automático.
- folder_open MDS (Metadata Server): solo necesario cuando se usa CephFS (sistema de ficheros). Gestiona los metadatos del sistema de archivos (directorios, permisos, nombres) de forma independiente a los datos, permitiendo escalar metadatos y datos por separado.
Los datos se organizan en pools, que definen las reglas de replicación o erasure coding, y dentro de cada pool en placement groups (PGs), que son la unidad lógica de distribucion de datos entre OSDs. El CRUSH map define la topologia física del cluster (racks, hosts, discos) y las reglas de ubicación que determinan como se reparten las replicas para maximizar la tolerancia a fallos.
Tipos de Acceso: Bloques, Ficheros y Objetos
Ceph es una plataforma de almacenamiento unificada que expone tres interfaces de acceso sobre la misma infraestructura RADOS:
- view_in_ar RBD (RADOS Block Device): proporciona volúmenes de bloques que se comportan como discos físicos virtuales. Es el modo más útilizado para discos de maquínas virtuales en Proxmox, OpenStack y Kubernetes. Soporta thin provisioning, snapshots, clones y live migration.
- folder_shared CephFS (Ceph File System): sistema de ficheros POSIX distribuido que se monta en los clientes como un volumen de red. Ideal para cargas de trabajo que necesitan acceso a ficheros compartidos entre multiples servidores, como HPC, renderizado o repositorios de datos.
- cloud_upload RGW (RADOS Gateway): gateway compatible con la API S3 y Swift que expone el cluster como un servicio de almacenamiento de objetos. Permite usar Ceph como destino de backup S3, data lakes o repositorios multimedia con la misma API que AWS S3.
- code librados: biblioteca nativa que permite a las aplicaciones acceder directamente a RADOS sin pasar por las capas de abstracción. Ofrece el rendimiento máximo para aplicaciones que pueden integrarse a nivel de código.
Concepto clave:
Ceph unifica almacenamiento de bloques, ficheros y objetos sobre una única plataforma distribuida. Esto simplifica la gestión, reduce la infraestructura necesaria y permite que un mismo cluster sirva discos de VMs, volúmenes compartidos y buckets S3 simultaneamente.
Alta Disponibilidad: Sin Downtime ante Fallos
La alta disponibilidad en Ceph no depende de hardware especial ni de controladoras redundantes: es una propiedad inherente a su arquitectura distribuida. Ceph ofrece dos mecanismos de protección de datos que se configuran a nivel de pool:
La replicación (2x o 3x) escribe copias identicas de cada placement group en OSDs diferentes, ubicados en hosts o racks distintos según las reglas CRUSH. Con replica triple, el cluster tolera el fallo simultaneo de dos OSDs (o dos hosts completos) sin perder un solo dato y sin interrumpir el servicio. Las escrituras se confirman al cliente solo cuando todas las replicas estan escritas, garantizando consistencia fuerte.
El erasure coding fragmenta cada objeto en k trozos de datos y m trozos de paridad. Una configuración típica 4+2 tolera la perdida de 2 fragmentos cualesquiera con un overhead del 50%, frente al 200% de la replica triple. Es ideal para pools de almacenamiento frio o de gran volumen donde la eficiencia de espacio prima sobre la latencia de escritura.
Cuando un OSD fallá, Ceph inicia automáticamente el proceso de self-healing: detecta el fallo en segundos, marca el OSD como out y comienza a reconstruir los datos perdidos en los OSDs sanos restantes. El proceso es completamente transparente para las aplicaciones que estan leyendo y escribiendo datos. No hay ventana de mantenimiento, no hay intervencion manual y no hay downtime.
Tabla Comparativa: Ceph vs RAID Tradicional vs SAN
La siguiente tabla compara Ceph con las arquitecturas de almacenamiento tradicionales en los aspectos que más impactan en entornos de produccion:
| Criterio | Ceph | RAID Tradicional | SAN (FC/iSCSI) |
|---|---|---|---|
| Escalabilidad | Horizontal, sin límite práctico | Limitada al chasís del servidor | Vertical, limitada a la cabina |
| Redundancia | Replica 2x/3x o erasure coding entre nodos | Paridad entre discos locales (RAID 5/6/10) | Controladoras duales, RAID interno |
| Coste | Hardware commodity, sin licencias | Bajo (controladora + discos) | Alto (cabina + licencias + FC switches) |
| Flexibilidad | Block + File + Object en una sola plataforma | Solo block local | Block (algunas con NAS add-on) |
| Self-healing | Automático, reconstruye en todo el cluster | Rebuild lento en un solo servidor | Rebuild dentro de la cabina |
| Protocolo | RBD, CephFS, S3/Swift, librados | Acceso local (SATA/SAS/NVMe) | FC, iSCSI, NVMe-oF |
Ceph + Proxmox: Hiperconvergencia Real
Una de las integraciones más potentes de Ceph es con Proxmox VE, el hipervisor open source que EasyDataHost útiliza como base de su plataforma Cloud IaaS. Proxmox incluye Ceph de forma nativa: se puede desplegar y gestionar un cluster Ceph completo desde la propia interfaz de Proxmox, sin herramientas externas ni configuraciones complejas.
Esta integración permite construir arquitecturas hiperconvergentes (HCI) donde los mismos nodos físicos ejecutan maquínas virtuales y almacenan datos Ceph simultaneamente. El resultado es una infraestructura más simple, con menos componentes, menos cableado y sin dependencia de cabinas SAN externas.
Los discos de las VMs se almacenan como volúmenes RBD en el cluster Ceph, lo que habilita funcionalidades críticas: live migration (mover VMs entre nodos sin downtime, porque el almacenamiento es compartido y accesible desde cualquier nodo), snapshots instantaneos a nivel de bloque, clonado rápido de VMs y alta disponibilidad automática (si un nodo Proxmox fallá, las VMs se reinician en otro nodo con acceso inmediato a los mismos discos Ceph).
Ventaja práctica:
Con Ceph + Proxmox no necesitas una SAN dedicada para tener almacenamiento compartido entre nodos. Los datos se replican automáticamente entre todos los servidores del cluster, permitiendo live migration y alta disponibilidad sin hardware adicional.
Rendimiento: NVMe, BlueStore y Tuning
Históricamente, Ceph tenia fama de ser lento comparado con cabinas SAN dedicadas. Esa percepcion ha quedado completamente obsoleta con las últimas versiones de Ceph y el uso de discos NVMe. Un cluster Ceph moderno con OSDs NVMe, red de 25 GbE o superior y BlueStore como backend puede ofrecer cientos de miles de IOPS con latencias por debajo del milisegundo.
BlueStore es el backend de almacenamiento por defecto en Ceph desde Luminous (2017). A diferencia del antiguo FileStore que dependia de un sistema de ficheros subyacente (XFS), BlueStore escribe directamente en el dispositivo de bloque sin filesystem intermediario. Esto elimina la doble escritura (write-ahead journal + filesystem), reduce la latencia y mejora el rendimiento de forma significativa. Además, BlueStore soporta compresión inline y checksums por bloque para detectar bit-rot.
Para exprimir el rendimiento al máximo, los clusters de produccion separan el WAL (Write-Ahead Log) y el DB (base de datos de metadatos) de BlueStore en dispositivos NVMe rápidos, mientras que los datos pueden residir en SSDs o HDDs según el tier. Esta arquitectura permite combinar la latencia de NVMe para escrituras con la capacidad de HDDs para almacenamiento masívo.
Casos de Uso de Ceph
La versatilidad de Ceph lo convierte en la plataforma de almacenamiento distribuido de referencia para multiples escenarios de produccion:
- cloud Cloud IaaS: almacenamiento de discos de VMs con replica triple NVMe, live migration y alta disponibilidad automática. Es el caso de uso principal de EasyDataHost Cloud.
- desktop_windows VDI (Virtual Desktop Infrastructure): miles de escritorios virtuales accediendo simultaneamente a discos RBD con baja latencia. Ceph distribuye las IOPS entre todos los OSDs, evitando los cuellos de botella típicos de una SAN centralizada.
- backup Repositorio de backup: pools con erasure coding para maximizar la capacidad neta, combinados con CephFS o RGW como destino de Veeam o cualquier herramienta de backup compatible con NFS o S3.
- inventory_2 S3 nativo con RGW: almacenamiento de objetos compatible con la API S3 para data lakes, backup offsite, archivado y cualquier aplicación que consuma el protocolo S3. Es la base del servicio EasyDataHost S3.
- videocam Media streaming: plataformas de video que necesitan almacenamiento masívo con alto throughput de lectura. Ceph con erasure coding ofrece gran capacidad neta con rendimiento secuencial elevado.
EasyDataHost y Ceph
La infraestructura cloud de EasyDataHost esta construida sobre Proxmox VE con almacenamiento Ceph NVMe en replica triple. Cada dato escrito por una maquína virtual se replica simultaneamente en tres OSDs ubicados en tres servidores físicos diferentes, lo que garantiza que el fallo de cualquier disco, servidor o incluso rack no provoque perdida de datos ni interrupcion del servicio.
Todos los clusters Ceph de EasyDataHost útilizan discos NVMe enterprise con BlueStore, red dedicada de almacenamiento a 25 Gbps y monitores/managers en alta disponibilidad con quorum de tres nodos. El resultado es un almacenamiento con latencias por debajo del milisegundo, cientos de miles de IOPS distribuidas y una capacidad de escalar horizontalmente simplemente anadiendo nodos al cluster.
Además del almacenamiento de VMs, EasyDataHost ofrece servicios gestionados de monitorización, mantenimiento y optimización de clusters Ceph, incluyendo actualizaciones de versión, tuning de rendimiento, expansion de capacidad y planificacion de disaster recovery.
- check_circle Triple replicación NVMe: cada dato se replica en tres servidores físicos diferentes.
- check_circle Red dedicada 25 Gbps: red de almacenamiento separada para trafico Ceph.
- check_circle Self-healing automático: reconstruccion transparente ante cualquier fallo de disco o nodo.
- check_circle Datos en España: centro de datos Tier III+ en Madrid con soberania de datos garantizada.
Conclusión
Ceph ha redefinido lo que significa almacenamiento de alta disponibilidad. Al distribuir los datos entre multiples nodos con replicación automática y self-healing, elimina los puntos únicos de fallo que caracterizan a las arquitecturas tradicionales de RAID y SAN. Su capacidad de ofrecer almacenamiento de bloques, ficheros y objetos sobre una única plataforma lo convierte en la base ideal para infraestructuras cloud modernas.
- arrow_right Ceph es almacenamiento distribuido open source que unifica block, file y object storage sobre RADOS.
- arrow_right El algoritmo CRUSH elimina tablas de enrutamiento centralizadas, escalando sin cuellos de botella.
- arrow_right La replica triple y el erasure coding garantizan disponibilidad ante fallos de disco, nodo o rack.
- arrow_right La integración con Proxmox habilita hiperconvergencia, live migration y HA sin SAN externa.
- arrow_right EasyDataHost útiliza Ceph NVMe con triple replicación como base de su plataforma Cloud IaaS.
Si necesitas almacenamiento distribuido de alta disponibilidad para tu infraestructura cloud, contacta con nuestro equipo para disenar la arquitectura Ceph que mejor se adapte a tus necesidades.