vitastor/docs/hugo/content/introduction/features.md

2.0 KiB

title weight
Features 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)