Releases Tags
-
Release 0.6.16
released this 12 months ago | 218 commits to master since this release
- Implement
vitastor-cli status
(print cluster status) command - Add a new
make-osd-hybrid.js
script to quickly prepare a lot of hybrid (HDD+SSD) OSDs - Implement snapshot deletion for Cinder driver (only works in a healthy cluster)
- Fix a huge :) bug causing reads to return all zeroes during rebalance. Add a test to prevent it in the future
- Disconnect NBD proxy correctly without leaving a zombie [vitastor-nbd] process in D state
- Fix a rare write hang appearing with small write throttling enabled
Downloads
- Implement
-
Release 0.6.15
released this 1 year ago | 236 commits to master since this release
- Make peering much faster in medium to large clusters
- Fix a reenterability issue which could rarely lead to peering process hangs
Downloads
-
Release 0.6.14
released this 1 year ago | 246 commits to master since this release
- Fix IPv6 address parsing
- Fix "cannot read bytes of undefined" in the monitor on a fresh DB
- Fix possible hangs of read requests on OSD restarts without immediate_commit=all mode
- Fix OSDs skipping misplaced recovery in some cases
- Fix OSDs possibly dying with "map::at" errors when other OSDs are stopped
- Fix division by zero in ls if all pool OSDs are down
Downloads
-
Release 0.6.13
released this 1 year ago | 256 commits to master since this release
- Fix client hangs possible on OSD restarts (bug affected versions from 0.5.11)
- Fix "Assertion `sqe != NULL' failed" io_uring-related crashes possible
on some kernels (0.6.11 increased probability of this bug) - Fix timeout=0 in NBD proxy
- Fix build under centos 7
Downloads
-
Release 0.6.12
released this 1 year ago | 277 commits to master since this release
etcd connection stability, clang & elbrus support
- Fix build under CLang and Elbrus LCC compilers, making Vitastor compatible
with Elbrus CPUs :) - Completely fix the bug where OSDs didn't connect to peers and incorrectly marked
PGs as incomplete - Limit I/O depth for deletes the same way as for small writes. Makes OSD crashes
with "Assertion failed: sqe != NULL" during image deletion go away - Fix a very old, but rare, journaling bug (credits to https://github.com/mirrorll)
- Fix flushing of unclean journaled objects leading to OSDs sometimes hanging
after failover in EC setups (bug was introduced in 0.6.7) - Fix several problems that could prevent smooth operation of a Vitastor cluster
under the condition of partial etcd failure:- OSDs could randomly fail due to too strict error handling
- New clients and OSDs could be unable to start because of the lack of retries
- CLI could fail some commands because of the lack of retries
- Monitor could stop receiving state updates because of the lack of websocket pings
- Fix monitor being unable to rebalance PGs after a downscale of pool pg_size (3->2)
- Exit with failure when trying to nbd map or benchmark a non-existing image
- Use HTTP keep-alive for etcd connections
- Allow to configure etcd request timeouts and retries
- Allow to configure NBD timeout, max devices and partitions, and set default to
up to 64 devices with up to 3 partitions each
Downloads
- Fix build under CLang and Elbrus LCC compilers, making Vitastor compatible
-
Release 0.6.11
released this 1 year ago | 312 commits to master since this release
- Slightly reduce journaling write amplification (requires no_same_sector_overwrites=false)
- Fix listen_backlog (it was 0) because it could more than halve OSD socket send speed
- Support IPv6 OSD addresses
- Do not try to initialize client in simple-offsets
- Fix OSDs sometimes marking PGs incomplete instead of trying to connect with peers
- Allow to configure OSD placement in node_placement
- Allow to run with 4k sector size block devices. Natural, but it was forbidden
Downloads
-
Release 0.6.10
released this 1 year ago | 325 commits to master since this release
- Implement a storage plugin for Proxmox. Now you can use Vitastor with Proxmox!
- Implement
vitastor-cli df
(pool space usage statistics) command - Add glob pattern support for
vitastor-cli ls
- Fix several bugs in other CLI commands (resize, create --parent, modify --readonly)
- Use 512 byte logical block size in QEMU driver by default (and thus don't require to set it in QEMU options)
Downloads
-
Release 0.6.9
released this 1 year ago | 345 commits to master since this release
New features:
- Build Vitastor driver as part of QEMU
- Implement renaming images in CLI (vitastor-cli modify --rename)
- Add vitastor-cli alloc-osd and simple-offsets commands and use them in make-osd,
thus removing the dependency on etcdctl - Make monitor remove stale deleted inode statistics from etcd automatically
- Implement OSD address selection from a subnet, thus removing the need to specify
OSD addresses in startup scripts explicitly
Bug fixes:
- Fix client failover in case of etcd shutdown or crash (make client survive etcd failures)
- Stick to the last live etcd in OSD and mon to prevent random failures when one of etcds is down
- Fix incorrect copying of data from journal to the data device which could lead to data corruption
- Prefer local etcd IPs in OSD
- Remove the total PG count restriction in optimize_change which was sometimes leading
to inability to redistribute PGs over OSDs - Fix error response parsing on a failed pg state report
- Fix slow linear writes with RDMA by changing default buffer settings
- Fix possible 'TypeError' in openstack nova when using Vitastor cinder driver
- Fix bugs in vitastor-cli create, ls, rm, modify commands
Patch changes:
- Add a patch for libvirt 7.6
- Add patches for QEMU 6.0 and 6.1
- Fix config file path XML location parsing in libvirt patches
- Replace _ with - in QEMU options
- Fix possible 'TypeError' in openstack nova when using Vitastor cinder driver
- Fix possible crashes of QEMU block driver in case of incorrect options
Downloads
-
Release 0.6.8
released this 1 year ago | 399 commits to master since this release
- Build separate packages for OSD, monitor, client, C header, fio and QEMU drivers
instead of one package which included everything
Downloads
- Build separate packages for OSD, monitor, client, C header, fio and QEMU drivers
-
Release 0.6.7
released this 1 year ago | 404 commits to master since this release
- Implement CLI commands for listing, viewing I/O statistics, creating,
snapshotting, cloning, resizing and modifying images. All these operations
are covered by 3 commands: ls, create, modify - Implement an important fix to prior OSD set tracking for PGs. The previous
version had an issue which could lead to data loss due to an OSD with older
copy of the data thinking it has the newest copy - Fix I/O statistics aggregation in the monitor
- Several minor fixes for Cinder driver
- Fix QEMU driver to be compatible with QEMU 2.x > 2.0
- Fix stalls sometimes possible in configurations without immediate_commit due
to insufficient amount of automatic internal fsync operations - Add
vita
alias forvitastor-cli
Downloads
- Implement CLI commands for listing, viewing I/O statistics, creating,