Replication and high availability
Replication factor
Each volume has a replication factor, chosen in the StorageClass with the strategy parameter:
| Strategy | Copies | Tolerates | Typical use |
|---|---|---|---|
RF1 | 1 | No node failures | Development, caches, temporary data |
RF2 | 2 | 1 node failure | Workloads with moderate requirements |
RF3 | 3 | 2 node failures | Production (default) |
Replication is synchronous: a write is only acknowledged to the application once every available replica has persisted it.
Failover
The application pod always accesses the volume through the primary. If the primary fails:
- The secondary replicas detect the missing heartbeats.
- They request quorum votes from the witness and the other replicas.
- With a majority, a healthy replica is promoted to primary, and the NVMe-oF client reconnects through the new path.
- When the failed node comes back, its replica is resynchronized automatically.
The system applies epoch-based fencing: a former primary that reappears after a network partition cannot accept writes.