Este documento explica por qué el clúster está distribuido en tres sites, qué es un stretch cluster, qué significa quorum, y cómo esto condiciona el diseño del almacenamiento.
No es una guía de instalación. Es una explicación para entender la lógica del diseño.
Un site es una ubicación física distinta.
Ejemplos típicos:
La idea es simple:
👉 Si un site entero cae (luz, red, incendio, mantenimiento), el servicio debe seguir.
El clúster se distribuye así:
| Site | Función |
|---|---|
| A | Site activo (ejecuta servicios) |
| B | Site activo (ejecuta servicios) |
| C | Árbitro (no ejecuta carga de datos) |
Los sites A y B ejecutan carga.
El site C existe para mantener coherencia.
Un stretch cluster es un clúster que se extiende entre dos ubicaciones físicas (A y B) como si fuese uno solo.
En otras palabras:
Ventaja principal:
✅ El servicio puede seguir aunque desaparezca un site.
Inconveniente principal:
⚠️ La coherencia y el consenso entre sites se vuelve crítica.
Y ahí aparece el concepto de quorum.
En un sistema distribuido, varias máquinas toman decisiones.
Para que no haya caos, necesitan ponerse de acuerdo.
Ese acuerdo se basa en un concepto:
👉 La mayoría manda.
Eso es el quorum.
Ejemplo con 2 sites solo:
Se puede producir un split brain:
Por eso, para tolerar la caída completa de un site, se necesita un tercer punto de decisión.
El site C es un árbitro.
Su función es:
Con 3 elementos:
👉 Cualquier caída aislada sigue dejando mayoría.
Esto es el mínimo para tolerar la caída completa de un site.
El almacenamiento (Ceph) se diseñó para que también soporte la caída de un site.
Como A y B son los sites de datos, la idea es:
En Ceph, el parámetro size define cuántas copias de cada dato existen.
size: 3 → 3 copiassize: 4 → 4 copiasEn un diseño multi-site, size: 4 permite un reparto limpio:
Esto se conoce como modelo 2x2.
Ceph usa reglas CRUSH para decidir dónde coloca cada réplica.
En nuestro caso, el objetivo es:
Resultado:
👉 Si cae un site entero, el otro sigue teniendo 2 copias.
Por dos motivos prácticos:
Meter OSDs en el árbitro:
Por eso el árbitro se mantiene como:
👉 “voto y coherencia”, no “dato”.
Un stretch cluster funciona bien, pero tiene un precio:
No es el final de la historia.
Es una fase.
Una evolución natural es pasar de:
A:
Dos clústeres independientes
En ese modelo:
Para operar dos clústeres, se necesita resolver:
Ahí entran opciones como:
La idea no es decidir aquí la herramienta exacta.
La idea es entender el concepto:
👉 Con dos clústeres, el “multi-site” se vuelve más simple de operar, porque se reduce el acoplamiento interno.
Después de leer este documento debe quedar claro que:
Disponibilidad real: primero coherencia. Luego arquitectura.