Posts up to 2022-02-17

Vitastor 0.6.14 released

  • 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

2022-02-17 Continue reading →

Vitastor 0.6.13 released

  • 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

2022-02-03 Continue reading →

Vitastor 0.6.12 released

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

2022-01-23 Continue reading →

Vitastor 0.6.11 released

  • 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

2021-12-26 Continue reading →

Vitastor 0.6.10 released

  • 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)

2021-12-10 Continue reading →

Vitastor 0.6.9 released

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

2021-12-03 Continue reading →

Vitastor 0.6.8 released

  • Build separate packages for OSD, monitor, client, C header, fio and QEMU drivers instead of one package which included everything

2021-11-15 Continue reading →

Vitastor 0.6.7 released

  • 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 for vitastor-cli

2021-11-13 Continue reading →

Vitastor 0.6.6 released

  • New command-line tool: vitastor-cli
  • Implement layer (snapshot/clone) merge and delete
  • Remove ‘bool’ from the C header
  • Fix a very rare flusher stall
  • More diagnostics now printed for slow ops in the log

2021-10-19 Continue reading →

Vitastor 0.6.5 released

  • Basic support for OpenStack: Cinder driver, patches for Nova and libvirt
  • Add missing “image” and “config_path” QEMU options
  • Calculate aggregate per-pool statistics in monitor
  • Implement writes with Check-And-Set semantics
  • Add a C wrapper library with public header

2021-07-10 Continue reading →

← Newer Posts Older Posts →