Ceph: Un viaje a 1 TiB/s
Los ingenieros diseccionan un clúster de almacenamiento Ceph que alcanza más de 1 TiB/s de rendimiento de lectura usando 68 servidores con gran presencia de NVMe, centrando la atención en dónde están los verdaderos cuellos de botella (red frente a PCIe frente a CPU) y en lo cerca que está la configuración de los límites teóricos. Muchos comparan las fortalezas de Ceph —resiliencia, crecimiento scale-out y conjunto de funciones— con su complejidad y latencia, especialmente para homelabs y cargas de bases de datos, y lo contrastan con alternativas como MinIO, SeaweedFS, Longhorn, GlusterFS, ZFS, btrfs y EOS. La conversación también aborda decisiones prácticas de hardware, desde switches y NICs de 100 GbE+ hasta clústeres de Raspberry Pi, y la historia de Ceph y su uso real en entornos como OpenStack, Kubernetes, CERN y despliegues personalizados en AWS.
Hardware y redes para 1 TiB/s
- La discusión señala que existen switches de 800 Gbps, pero que las NIC de 800 G aún no están disponibles de forma práctica; el número de líneas PCIe y sus generaciones es una limitación, aunque no un bloqueo duro si se usan 32 líneas.
- La mayoría de los participantes asume que los switches modernos de 100 GbE (fabrics pizza-box / leaf-spine / Clos) pueden manejar la velocidad de línea completa en todos los puertos; cualquier switch que no pueda hacerlo se considera hardware “de juguete”.
- Los switches usados de 40/56/100 GbE son ahora relativamente baratos; se mencionan algunos MikroTik “baratos” y switches de centro de datos usados como opciones aptas para homelab.
- El análisis del clúster de benchmark concluye que el cuello de botella es la red, no las unidades NVMe; los 1 TiB/s medidos son ~65% de la capacidad teórica de red a través de los nodos.
Características de rendimiento de Ceph
- Ceph ofrece una escalabilidad y resiliencia sólidas, pero con una sobrecarga de CPU notable y una latencia relativamente débil, especialmente frente a NVMe local.
- Los detalles del benchmark resaltan que los flags de optimización del compilador y la contención de threading de OSD/IOMMU son factores de rendimiento sorprendentemente grandes; los desarrolladores reconocen que el modelo de hilos necesita un rediseño.
- Para bases de datos transaccionales, varios participantes advierten que la latencia de Ceph suele ser demasiado alta, aunque algunos informan de una latencia de bloque (RBD) aceptable con buen hardware.
Ceph en homelabs
- Muchos desaconsejan Ceph en casa salvo que el objetivo sea aprender; los mínimos de hardware (múltiples nodos, red rápida, discos no-SMR) y la complejidad son reales.
- Otros ejecutan Ceph con éxito en clústeres Proxmox, mini‑PCs, NUCs e incluso placas Raspberry Pi/ODROID, aceptando menor rendimiento y mayor latencia.
- Un tema recurrente: Ceph es excelente para resiliencia y elasticidad, no para velocidad bruta ni simplicidad.
Alternativas y sistemas relacionados
- Alternativas comunes para homelab: SeaweedFS, Longhorn, MinIO, Garage, GlusterFS (aunque termina el soporte de Red Hat), EOS, ZFS (especialmente mirror vdevs), Btrfs, LVM+mdadm y SnapRAID.
- Compromisos discutidos:
- MinIO: buen almacén de objetos S3, pero sensible a cambios en el tamaño del clúster y exige discos rápidos.
- Garage: simple, solo duplicación; bien para homelabs, no para grandes conjuntos de datos.
- ZFS mirrors: expansión incremental fácil y resilvering rápido, pero con una eficiencia de espacio del 50%.
- EOS en CERN: ajustado para cargas de trabajo de física, complementa a Ceph en lugar de reemplazarlo.
Complejidad operativa y justificación
- Ceph se ve como “no lo despliegues a menos que vaya en serio”: complejo, pero de forma única bueno para almacenamiento grande, barato, de crecimiento lineal y altamente disponible sobre hardware commodity.
- Sustenta despliegues de OpenStack/Kubernetes, sistemas internos tipo EBS y cachés de alto IOPS, donde los usuarios informan de grandes ganancias de coste y rendimiento frente al almacenamiento de bloques en la nube.