OpenEBS is purpose built storage for containerized environments, written in GoLang, built upon block storage
containers we call Virtual Storage Machines or VSMs
.
Some of the features provided by a single VSM are:
- is a set of fully isolated block storage containers,
- has it's own iSCSI stack,
- full set of storage management APIs,
- can distribute application consistent data to another VSM or an S3 compatible storage.
OpenEBS can scale to an arbitrarily large number of VSMs as it manages the metadata of the block storage system at a file level. The block storage for each VSM is managed as one single file or directory. Further, the IO to this file is managed through large size chunks rather than the typical small size blocks. This enables OpenEBS to deliver higher performance for each VSM and to scale to a large number of VSMs.
OpenEBS can be setup in few easy steps either on Physical Machines or VMs. Please follow our Getting Started documentation
This is a meta-repository for OpenEBS. Here please find various documentation related artifacts and code related to integrating OpenEBS with popular orchestration engines like kubernetes, swarm, mesos, rancher, etc., The core storage and storage orchestration source code is distributed in other repositories under the OpenEBS organization. Please start with the pinned repositories or with OpenEBS Architecture document.
OpenEBS is completely Open Source and is makes use of other Open Source projects (listed below). The project is in the early stages of development and we welcome your feedback and contributions in any form possible. If you have not already, please make our day and star us above.
- Join us at openebs-slack-signup
- Already signed up ? Head to our discussions at openebs-users channel
- Want to raise an issue ?
- If it is a generic (or
not really sure
), you can still raise it at issues - Project specific issues can be raised at individual project level.
- If it is a generic (or
- Want to help with fixes and features:
- Have a look at open issues
- Have a look at contributing guide
- A VSM is a bunch of containers
- Currently
Docker
engine based container (https://github.com/docker/docker)
- Currently
- Persistent Storage and Replication for OpenEBS VSMs from forked Rancher's
Longhorn
(https://github.com/openebs/longhorn) - iSCSI Frontent for OpenEBS VSMs from forked gostor's
gotgt
(https://github.com/openebs/gotgt) - VSMs are managed and scheduled via HashiCorp's
Nomad
(https://github.com/hashicorp/nomad) - Configuration Information is stored in HashiCorp's
Consul
(https://github.com/hashicorp/consul)
OpenEBS is developed under Apache 2.0 License at the project level. Some components of the project are derived from other opensource projects like Nomad, Longhorn and are distributed under their respective licenses.