# openebs/mayastor

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/openebs-mayastor).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

1,046 stars · 136 forks · Rust · Apache-2.0

## Links

- GitHub: https://github.com/openebs/mayastor
- awesome-repositories: https://awesome-repositories.com/repository/openebs-mayastor.md

## Topics

`containers` `data-plane` `k8s` `kubernetes` `microvm` `nvme` `pvc` `rust` `storage` `storage-device` `storage-systems`

## Description

Mayastor is a software-defined, cloud-native block storage solution designed to provide high-performance, persistent storage for stateful applications within container orchestration environments. It functions as a distributed storage control plane that decouples application data from physical hardware, enabling dynamic provisioning and management of block volumes across clustered nodes.

The platform distinguishes itself by utilizing a user-space storage driver architecture that bypasses kernel overhead to maximize hardware performance. It leverages the NVMe-over-Fabrics protocol to deliver low-latency, network-attached storage, while a shared-nothing architecture ensures that storage resources can scale independently of the underlying physical infrastructure.

The system provides comprehensive lifecycle management for block volumes, including cross-node data replication for high availability, dynamic resizing, and snapshot-based recovery. It integrates directly with container orchestrators through standard storage interfaces to automate the provisioning and attachment of volumes based on defined resource policies.

The project includes automated tools for cluster provisioning, infrastructure inventory generation, and performance benchmarking to assist in the deployment and maintenance of storage environments.

## Tags

### Data & Databases

- [Cloud-Native Storage Layers](https://awesome-repositories.com/f/data-databases/data-engineering/cloud-native-storage-layers.md) — Provides a software-defined, cloud-native block storage solution that decouples data from physical hardware.
- [Container Storage Plugins](https://awesome-repositories.com/f/data-databases/block-storage/container-storage-plugins.md) — Implements standard storage interfaces to provide high-performance, replicated block storage for stateful workloads.
- [NVMe-oF Storage Architectures](https://awesome-repositories.com/f/data-databases/data-replication/synchronous-replication-management/nvme-tcp-replicated-volumes/nvme-of-storage-architectures.md) — Leverages NVMe-over-Fabrics protocols to deliver low-latency, network-attached storage performance.
- [Replicated Block Volumes](https://awesome-repositories.com/f/data-databases/data-replication/synchronous-replication-management/replicated-block-volumes.md) — Synchronizes volume data across multiple network nodes to ensure high availability and data persistence during hardware failures.
- [Inter-Node Data Synchronization](https://awesome-repositories.com/f/data-databases/inter-node-data-synchronization.md) — Synchronizes volume data across multiple network nodes to ensure high availability and data persistence. ([source](https://github.com/openebs/mayastor#readme))
- [Kubernetes Volume Management](https://awesome-repositories.com/f/data-databases/persistent-storage-management/kubernetes-volume-management.md) — Provisions and manages high-performance persistent storage volumes for stateful applications in container clusters.
- [Backup and Recovery](https://awesome-repositories.com/f/data-databases/backup-and-recovery.md) — Facilitates data protection and disaster recovery through point-in-time volume snapshots and restoration.
- [Distributed Volume Management](https://awesome-repositories.com/f/data-databases/block-storage/distributed-volume-management.md) — Manages the lifecycle, cloning, and export of replicated block storage volumes across cluster nodes. ([source](https://github.com/openebs/mayastor#readme))
- [Snapshots](https://awesome-repositories.com/f/data-databases/block-storage/snapshots.md) — Provides mechanisms for creating point-in-time incremental copies of block-level storage volumes. ([source](https://github.com/openebs/mayastor/blob/develop/README.md))
- [NVMe-TCP Replicated Volumes](https://awesome-repositories.com/f/data-databases/data-replication/synchronous-replication-management/nvme-tcp-replicated-volumes.md) — Delivers low-latency persistent volumes across clustered nodes using NVMe-over-Fabrics protocols.
- [Storage Abstraction](https://awesome-repositories.com/f/data-databases/storage-abstraction.md) — Decouples application workloads from physical storage hardware to enable seamless migration and vendor-agnostic data management. ([source](https://github.com/openebs/mayastor/blob/develop/README.md))

### DevOps & Infrastructure

- [Centralized Control Planes](https://awesome-repositories.com/f/devops-infrastructure/centralized-control-planes.md) — Acts as a centralized management layer for automating volume lifecycle, replication, and snapshotting.
- [Cloud Block Storage Provisioning](https://awesome-repositories.com/f/devops-infrastructure/cloud-block-storage-provisioning.md) — Exposes high-performance block devices to containerized workloads to enable low-latency data access. ([source](https://github.com/openebs/mayastor#readme))
- [Kubernetes Storage Orchestration](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management/multi-cluster-orchestrators/kubernetes-storage-orchestration.md) — Implements standard interfaces to attach and manage persistent storage resources within container orchestrators across distributed cluster nodes. ([source](https://github.com/openebs/mayastor/blob/develop/doc/csi.md))
- [Storage Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/storage-orchestrators.md) — Automates the dynamic provisioning and attachment of persistent block devices to containerized workloads based on resource policies.
- [Storage Provisioning](https://awesome-repositories.com/f/devops-infrastructure/storage-provisioning.md) — Automates the creation and attachment of storage volumes to workloads based on resource demands and configuration policies. ([source](https://github.com/openebs/mayastor/search))
- [Dynamic Volume Resizing](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/storage-volume-orchestration/dynamic-volume-resizing.md) — Allows for the capacity adjustment of existing persistent volumes on demand without requiring service disruption. ([source](https://github.com/openebs/mayastor/blob/develop/README.md))
- [Kubernetes Cluster Deployments](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-deployments.md) — Integrates with container orchestration platforms to manage persistent block storage volumes across distributed nodes. ([source](https://github.com/openebs/mayastor/blob/develop/doc/run.md))
- [Kubernetes Cluster Provisioning](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-provisioning.md) — Automates the deployment of virtualized infrastructure and the installation of cluster nodes using modular templates. ([source](https://github.com/openebs/mayastor/tree/develop/terraform))

### Networking & Communication

- [NVMe-Over-Fabrics Protocols](https://awesome-repositories.com/f/networking-communication/remote-storage-protocols/nvme-over-fabrics-protocols.md) — Leverages high-speed network protocols to deliver low-latency, network-attached storage performance.
- [Asynchronous Message Passing](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/inter-process-communication/asynchronous-message-passing.md) — Communicates between control plane and data plane components using serialized messages over local sockets for low-latency command execution.
- [Remote Storage Protocols](https://awesome-repositories.com/f/networking-communication/remote-storage-protocols.md) — Enables high-performance block storage by utilizing network-based storage protocols to facilitate efficient data access. ([source](https://github.com/openebs/mayastor/blob/develop/doc/run.md))

### Operating Systems & Systems Programming

- [User-Space Implementations](https://awesome-repositories.com/f/operating-systems-systems-programming/file-system-architectures/user-space-implementations.md) — Executes storage logic in user-space using a high-performance development kit to bypass kernel overhead and latency bottlenecks.

### Software Engineering & Architecture

- [Shared-Nothing Architectures](https://awesome-repositories.com/f/software-engineering-architecture/shared-nothing-architectures.md) — Decouples storage resources from physical hardware to allow independent scaling and migration of volumes across a distributed cluster.
