Skip to main content
Version: Next

Architecture

QuasarSDS consists of four components that run inside your Kubernetes cluster.

Components​

Agent (DaemonSet, one per storage node) : Manages the local SPDK instance: it builds pools on the drives and creates logical volumes, replication RAIDs and the NVMe-oF subsystems exported to clients. It also exchanges heartbeats with the other agents.

Controller (Deployment) : Kubernetes operator that orchestrates pools, volumes, snapshots, backups and DR. It decides which nodes host each replica.

Witness (Deployment, stateless) : Quorum tie-breaker. When a primary stops responding, it casts the deciding vote that lets a replica be promoted without risk of split-brain.

CSI driver : Translates Kubernetes PVCs into SDSVolume resources, and connects and mounts NVMe-oF volumes on the nodes where pods run.

Custom resources​

ResourcePurpose
SDSNodeDrive inventory of a node, and the drives validated for use.
SDSClusterPoolDefines which drives on which nodes make up the storage pool.
SDSVolumeA volume and where its replicas live.
SDSSnapshot, VolumeGroupSnapshotIndividual and crash-consistent group snapshots.
SDSBackupPolicy, SDSRestoreRequestBackup to S3 and restore.
SDSDRPolicy, SDSDRVolume, SDSDRFailover, SDSDRFailbackReplication and switchover between sites.