Skip to content
@openebs

OpenEBS

High-Performance Container Native Stateful Persistent Block-mode and Filesystem storage platform for K8s // A CNCF Member project

Welcome to OpenEBS

OpenEBS Social Banner

Quick links CNCF openebs website CNCF Product docs Main Parent repo Community Cafe Community Meeting

Project Purpose

OpenEBS is an open-source storage service for Kubernetes applications. OpenEBS manages the block storage and file systems based on the block storage for containers running in Kubernetes. Use OpenEBS for creating fast and resilient storage; with options for single-node, and replicated multi-node storage.

OpenEBS is a Stateful Persistent block-mode Data Storage platform with a native virtual SAN fabric; for Kubernetes. We are a CNCF member project. We are the largest global community of K8s storage users.

Our project team was an early pioneering inventor of K8s Container Native Storage services (we invented the term). We conceived the vision of a Stateful Persistent data platform for K8s that is tightly integrated and natively embedded into the core of K8s.

We built an innovative High-performance Enterprise grade Block-mode Hyper-converged Storage virtual SAN Fabric that augments the storage services of K8s with Stateful Persistence, Enterprise Data mgmt, SSD/NVMe optimized I/O services, Replicated Data volumes, Thin Provisioning, Snapshot, Clones; and many other Mission critical data storage services that don't come in K8s out-of-the-box.

OpenEBS is very popular :
Live OpenEBS systems actively report back product telemetry each day, to our Global Analytics system (unless disabled by the user).
Below are our project popularity & penetration metrics as of: 01 May 2024

🚀   OpenEBS is the #1 deployed Storage Platform for Kubernetes
⭐   We are the #1 GitHub Star ranked K8s Data Storage platform
💾   We have +49 Million Volumes deployed globally
📺   We have +9 Million Global Live Nodes
⚡   1 Million OpenEBS K8s Containers are spawned per week
😎   1.7 Million User Installations

Our global team comes from many areas of the data storage industry. Companies like... Microsoft Azure, VMware, DELL/EMC, Brocade/Broadcom, Hitachi Vantara, INTEL, Nvidia/Mellanox, IBM, RedHat and DataCore.

Project Structure

Why OpenEBS?

OpenEBS provides enterprise-grade data management for Kubernetes clusters, with five different storage engines (four single-node and one replicated) that meet a range of use cases for Kubernetes users. The five engines are summarized in the table below:

Important

The OpenEBS platform, provides 2 types of K8s Storage Services. Replicated PV and Local PV.


Engine Local PV HostPath Local PV ZFS Local PV LVM Local PV Rawfile Replicated PV Mayastor
Type Single-node Single-node Single-node Single-node Multi-node
What is it for? Replacement for in-Tree Kubernetes CSI HostPath Storage engine for ZFS managed backend storage Storage engine for LVM2 managed backend storage Experimental engine for using an extent file as block storage General purpose replicated enterprise storage
Designed for Developers or DevOps ZFS users and production deployments LVM2 users and production deployments Developers Enterprises and production deployments
Features Everything in Kubernetes HostPath, plus: - Dynamic provisioning, Zero configuration, No CSI driver Provision ZFS datasets, Provision ZFS volumes, Dynamic provisioning, ZFS resilience, ZFS RAID protection, CSI driver Provision LVM2 volumes, Dynamic provisioning, LVM2 RAID protection, CSI driver Provision file system from local files as persistent volumes, CSI driver Replicated storage NVMe / RDMA, Snapshots, Clones, High availability, CSI driver
Status Stable, deployable in PROD Stable, deployable in PROD Stable, deployable in PROD Beta, undergoing evaluation & integration Stable, deployable in PROD
Current Version Releases Releases Releases release: v0.70 Releases

We are an Ultra modern Data storage platform stack that is strongly aligned with the cutting-edge direction of storage use cases in the K8s industry. OpenEBS is designed to facilitate modern K8s datastore architectures, key K8s I/O patterns, K8s data access methods, K8s data use-cases and where K8s Datastore applications are heading.

OpenEBS is optimized for NVMe and SSD Flash storage media and integrates ultra-modern cutting-edge high-performance storage technologies at its core.

☑️   It uses the High performance SPDK storage stack - (SPDK is an open-source NVMe project initiated by INTEL)
☑️   The hyper-modern IO_Uring Linux Kernel Async polling-mode I/O Interface - (fastest kernel I/O mode possible)
☑️   Native abilities for RDMA and Zero-Copy I/O
☑️   NVMe-oF TCP Block storage Hyper-converged data fabric
☑️   Block layer volume replication
☑️   Logical volumes and Diskpool based data management
☑️   a Native high performance Blobstore
☑️   Native Block layer Thin provisioning
☑️   Native Block layer Snapshots and Clones



Warning

LEGACY Edition

Legacy has been archived and migrated out of the main OpenEBS parent repo.

LEGACY consists of Data-Engines that we experimented with early on. These Data-Engines have a number of open-source
technologies embedded inside them, and are a great intro into the world of simple K8s storage services. LEGACY helped
us learn, iterate, and develop our core storage K8s strategy, as well as discern how users want & need to interact with
K8s storage services. LEGACY also helped to reveal key areas within K8s that are lacking in storage/datastore services,
what areas of K8s we could optimize; and how we can provide the best value into the various K8s storage layers.

There are multiple Storage Engines within LEGACY:

ID Data-Engines Embedded tech stack Status Action date
 
1 Jiva iSCSI deprecated & has been Migrated to OpenEBS Archive org 29 Apr, 2024
2 cStor Open ZFS deprecated & has been Migrated to OpenEBS Archive org 29 Apr, 2024
3 NFS Provisioner NFS userspace server deprecated & has been Migrated to OpenEBS Archive org 29 Apr, 2024
4 Device LocalPV Node Local storage deprecated & has been Migrated to OpenEBS Archive org 29 Apr, 2024
5 LocalPV Device Node Local storage deprecated & has been Migrated to OpenEBS Archive org 29 Apr, 2024
6 NDM Node Local storage deprecated & has been Migrated to OpenEBS Archive org 29 Apr, 2024
7 +43 other repos & projects
(Total Repos migrated: 49)
66% of Project's repos have been Archvied Please see the OpenEBS Archive org 29 Apr, 2024


🌎 ROADMAP

Our 2024 Roadmap is here It defines a rich set of new features that are planned for 2024.
Please review this roadmap and feel free to pass back any feedback on it, as well as recommend and suggest new ideas. We welcome all of your feedback.

⭐ GitHub Star Chart

OpenEBS is committed to bringing Enterprise-grade data management to Kubernetes. More people trust OpenEBS with their enterprise's data than any other storage platform.

Star History Chart

Important

Our original founding team guides the project as Maintainers. Major sponsorship is provided by DataCore, which donates a large team of dedicated Product Dev/Engineers, Product Mgmt, and operational resources. OpenEBS has hundreds of amazing contributors and storage engineers who provide ideas, feedback, and high-quality code to the project. - Everyone is welcome.

Community Resources

We centralize all our community documentation in the Community repo. All sub-projects within the organization follow the same umbrella policies, except where stated in the sub-project readme.

Monthly Community Meetings

OpenEBS holds a monthly community meeting via Zoom on the last Thursday of the month, at 14:00 UTC.
The next meeting is on: Thursday 26 September, at 14:00 UTC
Meeting Link: https://us05web.zoom.us/j/87535654586?pwd=CigbXigJPn38USc6Vuzt7qSVFoO79X.1
Starting in August 2024, the meetings will be recorded and posted on YouTube. Check here

Other Resources

Maintainers meet weekly and minute their meetings. A public record of the meetings is here. See Vision for more detail on what we do, Governance for how we do it, and Contributing for how to get involved

New Contributors and Maintainers

We are actively looking for new contributors and maintainers. Want to get involved, but not sure how? Please email the maintainers at [email protected]

Pinned Loading

  1. openebs openebs Public

    Most popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes.

    9k 943

  2. mayastor mayastor Public

    Dynamically provision Stateful Persistent Replicated Cluster-wide Fabric Volumes & Filesystems for Kubernetes that is provisioned from an optimized NVME SPDK backend data storage stack.

    Rust 742 106

  3. dynamic-localpv-provisioner dynamic-localpv-provisioner Public

    Dynamically deploy Stateful Persistent Node-Local Volumes & Filesystems for Kubernetes that is provisioned from simple Local-Hostpath /root storage.

    Go 141 62

  4. zfs-localpv zfs-localpv Public

    Dynamically provision Stateful Persistent Node-Local Volumes & Filesystems for Kubernetes that is integrated with a backend ZFS data storage stack.

    Go 432 103

  5. lvm-localpv lvm-localpv Public

    Dynamically provision Stateful Persistent Node-Local Volumes & Filesystems for Kubernetes that is integrated with a backend LVM2 data storage stack.

    Go 254 96

  6. rawfile-localpv rawfile-localpv Public

    Dynamically deploy Stateful Persistent Node-Local Volumes & Filesystems for Kubernetes that is provisioned from RAW-device file loop mounted Local-Hostpath storage.

    Python 72 27

Repositories

Showing 10 of 29 repositories
  • mayastor-control-plane Public

    Control plane for OpenEBS Mayastor

    openebs/mayastor-control-plane’s past year of commit activity
    Rust 34 Apache-2.0 35 0 4 Updated Nov 1, 2024
  • mayastor-dependencies Public

    MayaData Dependencies

    openebs/mayastor-dependencies’s past year of commit activity
    Rust 6 Apache-2.0 13 0 2 Updated Nov 1, 2024
  • h2 Public Forked from hyperium/h2

    HTTP 2.0 client & server implementation for Rust.

    openebs/h2’s past year of commit activity
    Rust 1 MIT 285 0 1 Updated Nov 1, 2024
  • mayastor Public

    Dynamically provision Stateful Persistent Replicated Cluster-wide Fabric Volumes & Filesystems for Kubernetes that is provisioned from an optimized NVME SPDK backend data storage stack.

    openebs/mayastor’s past year of commit activity
    Rust 742 Apache-2.0 106 56 (5 issues need help) 2 Updated Nov 1, 2024
  • spdk-rs Public

    Enables building safer SPDK-based Rust applications

    openebs/spdk-rs’s past year of commit activity
    Rust 58 Apache-2.0 19 3 1 Updated Oct 31, 2024
  • openebs Public

    Most popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes.

    openebs/openebs’s past year of commit activity
    8,968 Apache-2.0 943 29 (2 issues need help) 1 Updated Oct 31, 2024
  • velero-plugin Public

    Velero plugin for backup/restore of OpenEBS cStor volumes

    openebs/velero-plugin’s past year of commit activity
    Go 63 Apache-2.0 32 12 3 Updated Oct 31, 2024
  • openebs/openebs-e2e’s past year of commit activity
    Go 0 Apache-2.0 1 10 3 Updated Oct 31, 2024
  • mayastor-extensions Public

    Components and utilities which extend the Mayastor core control & data plane functionality

    openebs/mayastor-extensions’s past year of commit activity
    Rust 18 Apache-2.0 27 0 3 Updated Oct 30, 2024
  • openebs/mayastor-chart-donotuse’s past year of commit activity
    0 Apache-2.0 1 0 1 Updated Oct 30, 2024