Make Software-Defined Block Storage Great Again.
Vitastor is a small, simple and fast clustered block storage (storage for VM drives), architecturally similar to Ceph which means strong consistency, primary-replication, symmetric clustering and automatic data distribution over any number of drives of any size with configurable redundancy (replication or erasure codes/XOR).
Features:
Vitastor is currently a pre-release, a lot of features are missing and you can still expect breaking changes in the future. However, the following is implemented:
Basic part: highly-available block storage with symmetric clustering and no SPOF
Performance ;-D
Two redundancy schemes: Replication and XOR n+1 (simplest case of EC)
Configuration via simple JSON data structures in etcd
Automatic data distribution over OSDs, with support for:
Mathematical optimization for better uniformity and less data movement
Multiple pools
Placement tree, OSD selection by tags (device classes) and placement root
Configurable failure domains
Recovery of degraded blocks
Rebalancing (data movement between OSDs)
Lazy fsync support
I/O statistics reporting to etcd
Generic user-space client library
QEMU driver (built out-of-tree)
Loadable fio engine for benchmarks (also built out-of-tree)
NBD proxy for kernel mounts
Inode removal tool (vitastor-rm)
Packaging for Debian and CentOS