Mayastor is a cloud-native storage data plane for Kubernetes that dynamically provisions persistent replicated volumes backed by an optimized NVMe and SPDK storage stack.
Mayastor addresses the challenge of providing low-latency storage to Kubernetes workloads while abstracting away differences between storage systems. It decouples applications from storage implementation details through a declarative data plane written in Rust. The architecture separates concerns into a control plane—built around a core agent, RESTful API, disk pool operator, and CSI-compliant provisioner—and a data plane consisting of I/O Engine instances running on each storage node. The data plane's Nexus component attaches to storage resources and presents them to workloads, while local storage pools can be carved into logical volumes and shared across nodes via NVMe over Fabrics.
Mayastor suits teams running Kubernetes clusters that need high-performance storage without vendor lock-in, particularly those with existing storage infrastructure they want to unify rather than replace. It is designed for converged and segregated storage deployments, and supports specialized container runtimes like Firecracker microVMs and Kata Containers through vhost-user storage access. The tool also enables programmatic storage access, allowing applications to write directly to block devices. Organizations should evaluate Mayastor if they prioritize low latency, need to work with heterogeneous storage systems, or require storage abstraction across a cluster without painful data migration.
The project maintains active development with regular commits across both the core data plane and related control plane repositories. Work spans multiple areas including storage device handling, Kubernetes integration, and the Rust-based I/O engine implementation. The codebase shows ongoing refinement of the Nexus component and storage pool management, with contributions addressing both new features and operational stability.