Replicated Storage
#
Replicated Storage OverviewReplicated Storage (a.k.a Replicated Engine) refers to a storage engine provided by OpenEBS, a cloud-native storage solution for Kubernetes. In replicated storage, data is stored across multiple replicas (copies) to ensure high availability, durability, and fault tolerance. Replicated storage uses Mayastor engines to maintain multiple replicas of each volume across different Kubernetes nodes.
#
Design GoalsThe fundamental design objectives driving Replicated Storage's development are as follows:
- High Availability and Durability: Replicated Storage aims to ensure the persistence of data with high levels of availability and durability, contributing to the reliability of applications in a Kubernetes environment.
- Simplified Deployment and Management: The project endeavors to achieve seamless deployment and effortless management, empowering autonomous Site Reliability Engineering (SRE), or development teams to handle the storage infrastructure efficiently.
- Low Overhead Abstraction: Replicated Storage is designed to be a lightweight abstraction, minimizing resource overhead while delivering optimal storage performance for workloads.
#
NVMe-oF Semantics and PerformanceReplicated Storage is built on the foundation of Intel's cutting-edge Storage Performance Development Kit (SPDK). The project fully leverages the protocol and computational efficiency of Non-Volatile Memory Express over Fabrics (NVMe-oF) semantics. This approach harnesses the immense performance capabilities of the latest generation solid-state storage devices, delivering a storage abstraction that incurs performance overhead within single-digit percentages.
In contrast, traditional pre-CNS shared storage systems are known to introduce overhead, often exceeding 40% and occasionally reaching as high as 80% of the underlying device or cloud volume capabilities. Moreover, pre-CNS shared storage can scale unpredictably as various workloads compete for access to shared storage resources.
note
Although Replicated Storage utilizes NVMe-oF, it does not impose any requirements for the use of NVMe devices or cloud volumes.
#
Quickstart GuideOpenEBS provides Replicated Storage that can be used to deliver highly available storage for Kubernetes Stateful workloads. Refer to the Quickstart Guide for more information.
#
Source Code and ContributionsTo access the Replicated Storage source code or actively contribute to the project, visit the GitHub repository.