--- title: Features weight: 1 --- Vitastor is currently a pre-release and it still misses some important features. However, the following is implemented: - Basic part: highly-available block storage with symmetric clustering and no SPOF - Performance ;-D - Multiple redundancy schemes: Replication, XOR n+1, Reed-Solomon erasure codes based on jerasure library with any number of data and parity drives in a group - Configuration via simple JSON data structures in etcd (parameters, pools and images) - 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 - Per-OSD and per-image I/O and space usage statistics in etcd - Snapshots and copy-on-write image clones - Write throttling to smooth random write workloads in SSD+HDD configurations - RDMA/RoCEv2 support via libibverbs CLI (vitastor-cli): - Pool listing and space stats (df) - Image listing, space and I/O stats (ls) - Image and snapshot creation (create, modify) - Image removal and snapshot merge (rm, flatten, merge, rm-data) Plugins and packaging: - Debian and CentOS packages - Generic user-space client library - Native QEMU driver - Loadable fio engine for benchmarks - NBD proxy for kernel mounts - CSI plugin for Kubernetes - OpenStack support: Cinder driver, Nova and libvirt patches - Proxmox storage plugin and packages ## Roadmap The following features are planned for the future: - Better OSD creation and auto-start tools - Other administrative tools - Web GUI - OpenNebula plugin - iSCSI proxy - Simplified NFS proxy - Multi-threaded client - Faster failover - Scrubbing without checksums (verification of replicas) - Checksums - Tiered storage (SSD caching) - NVDIMM support - Compression (possibly) - Read caching using system page cache (possibly)