Arquitectura
QuasarSDS se compone de cuatro piezas que se ejecutan dentro del propio cluster de Kubernetes.
Componentes
Agente (DaemonSet, uno por nodo de almacenamiento) : Gestiona la instancia local de SPDK: crea los pools sobre los discos, los volúmenes lógicos, los RAID de replicación y los subsystems NVMe-oF que se exportan a los clientes. También intercambia heartbeats con los demás agentes.
Controller (Deployment) : Operador de Kubernetes que orquesta pools, volúmenes, snapshots, backups y DR. Decide en qué nodos se coloca cada réplica.
Witness (Deployment, sin estado) : Árbitro de quórum. Cuando un primario deja de responder, aporta el voto de desempate que permite promover una réplica sin riesgo de split-brain.
Driver CSI
: Traduce los PVC de Kubernetes a recursos SDSVolume y conecta y monta los volúmenes NVMe-oF en los nodos donde se ejecutan los pods.
Recursos personalizados
| Recurso | Función |
|---|---|
SDSNode | Inventario de discos de un nodo y discos validados para su uso. |
SDSClusterPool | Define qué discos de qué nodos forman el pool de almacenamiento. |
SDSVolume | Un volumen y la ubicación de sus réplicas. |
SDSSnapshot, VolumeGroupSnapshot | Snapshots individuales y de grupo consistentes. |
SDSBackupPolicy, SDSRestoreRequest | Backup a S3 y restauración. |
SDSDRPolicy, SDSDRVolume, SDSDRFailover, SDSDRFailback | Replicación y conmutación entre sites. |