• v2.0.0 48c026bfa0

    Release 2.0.0 Stable

    vitalif released this 2025-03-16 14:34:31 +03:00 | 2 commits to master since this release

    No breaking features, it's 2.0.0 just because it includes S3 and because there are already too many 1.x releases :).

    New features:

    Bug fixes:

    • Fix several bugs in the node.js addon (a memory leak, an incorrectly triggered event loop)
    • Fix a client crash (vitastor-cli rm) during deletion when writeback is enabled
    • Fix PG object count statistics on deletion of non-existing objects
    • Fix vitastor-nbd crash when mapping by ID instead of inode name
    • Fix a client memory leak with enabled immediate_commit and write-back cache
    • Add seccomp=unconfined for vitastor docker OSDs to not break io_uring
    • Add udev and systemd to vitastor docker image
    • Fix upgrading from pre-0.7.1 (very old) systemd units O_o
    • Fix total object count calculation in rm_data
    Downloads
     
  • v1.11.0 69cbe7bbb2

    vitalif released this 2025-03-01 13:39:42 +03:00 | 27 commits to master since this release

    New features:

    • Support containerized Vitastor installations: https://vitastor.io/docs/installation/docker.html
    • Add new functions to the node.js binding: delete(), get_immediate_commit(), on_ready(),
      get_min_io_size(), get_max_atomic_write_size()
    • S3 (Zenko Cloudserver with Vitastor support) is coming shortly and will be released separately

    Bug fixes:

    • Use IP-derived etcd node names in make-etcd
    • Set short name of the OSD process to display in top
    • Fix snap-create without pool_id failing when there are multiple pools
    • Several bugs are fixed in the write-back cache, it should now be stable:
      • Fix incorrect snapshot reads from dirty write-back cache
      • Do not try to repeat pending writebacks on OSD reconnections
      • Fix client hangs with multiple SYNCs in the writeback queue
      • Fix client hangs do to incorrect calculation of the writeback queue size
    • Several improvements for NBD mapping/unmapping:
      • Add a workaround for race condition in the Linux kernel NBD driver leading
        to vitastor-nbd sometimes breaking a previously mapped device instead of
        setting up a new one
      • Check if the device is actually mapped in vitastor-nbd unmap
      • Fix device name/number validation in vitastor-nbd
    • Fix OSD crashes after starting with corrupted metadata - from now it will skip
      corrupted metadata entries and heal itself
    • Fix scrubbing of misplaced objects and object state recalculation after
      vitastor-cli fix - previously, an OSD restart could be required to fix object states
    • Make primary OSD distribution more stable by using murmur3 hash instead of the old pseudo-rng
    • Fix monitor sometimes racing with itself - do not touch /pool/stats from stats
      aggregation if PG recheck is active
    • Sort vitastor-cli ls output by name by default
    • Update antietcd to 1.1.2
    Downloads
     
  • v1.10.1 61ededa230

    vitalif released this 2025-01-03 16:22:09 +03:00 | 63 commits to master since this release

    New features:

    • Add "deleted" image flag which is set when vitastor-cli rm starts to delete an image,
      but can't delete it fully due to inactive PGs or stopped OSDs
    • Support JSON output in vitastor-disk prepare and purge
    • Show backfillfull pools in vitastor-cli status
    • Make object listings consistent (used in vitastor-cli rm/rm-data/merge/etc).
      This means that there is now a guarantee that if a data block is present when you invoke rm,
      rm will attempt to delete it, even if rm is invoked when the PG switches state. Previously in
      such cases rm could skip and leave some objects behind as garbage, and merge probably could
      incorrectly move data between snapshots.
    • Make deletions (rm/rm-data) consistent. This means that rm/rm-data will either complete
      successfully and delete all requested image data or complete with an error if some objects
      could not be deleted or if there is a possibility that some data is left on stopped OSDs.
      Previously, when some PGs or OSDs were inactive at the moment of deletion, rm-data was
      behaving incorrectly: it wasn't retrying deletions failed due to dropped OSD connections,
      it could hang waiting for PGs to activate, and it could return with a successful error
      code while some garbage was still possibly left on some OSDs. Deletions are not fully atomic
      cluster-wide yet, which means that you still have to repeat the deletion request after you
      return stopped OSDs back, but now you always know for sure if you have to repeat it.

    Bug fixes:

    • Fix vitastor-cli rm --exact / --matching command not working
    • Finally fix "Unexpected status" in the Proxmox plugin
    • Fix vitastor-cli create-snap incorrectly linking multiple snapshots in a different pool
    • Fix incomplete image parent_id loop check in OSD
    • Fix reads from snapshots in a different pool not working if there are more than 2 snapshots
    • Fix append of VITASTOR_CONF to cmdline in the opennebula prebackup script
    • Fix OSDs crashing again when the cluster is full with EC (was meant to work since 1.6.0 but didn't)
    • Improve logging of subop failures
    Downloads
     
  • v1.10.0 7fbb04fdfa

    vitalif released this 2024-12-19 15:49:19 +03:00 | 97 commits to master since this release

    New features:

    • Implement basic VitastorFS support in CSI
    • Implement NFS RDMA support
    • Pause pool rebalance when monitor detects that it can lead to any OSD becoming full (osd_backfillfull_ratio)
    • Auto-select correct RDMA device and GID based on osd_network and RoCEv2 priority
    • Report slow ops in OSD stats in etcd and show them in vitastor-cli status

    Bug fixes:

    • Fix possibly incorrect linked list deserialization in NFS
    • Fix possible crash in vitastor-nfs --block READDIR operation
    • Map netlink after forking to show correct PID in vitastor-nbd ls
    • Simplify and fix create-pool OSD count checks for the case of hosts split into sub-nodes
    • Make monitor print "Waiting to become master" just once, not every 5s
    • Take out_size from oimg if not specified in vitastor-cli dd
    • Do not report OSDs with empty statistics as "full" in status
    • Trigger double autosync when switching PG state to prevent leaving garbage in non-immediate_commit clusters
    • Fix a lack of connection timeout for etcd websockets in OSD leading to slower etcd failover (~70s instead of ~10s)
    • Fix a rare OSD crash during client disconnect
    • Fix PGs sometimes sticking until OSD restart in the "has_unclean" state with EC pools
    • Fix metadata partition zeroing in vitastor-disk prepare
    • Add patches for qemu 9.1 and pve-qemu 9.0 and 9.1
    • Fix libvirt 8 patch
    Downloads
     
  • v1.9.3 f69f801ffb

    Release 1.9.3 Stable

    vitalif released this 2024-11-07 01:28:31 +03:00 | 141 commits to master since this release

    • Support custom hybrid OSD creation (vitastor-disk prepare --hybrid --fast-devices /dev/xxx,/dev/yyy)
    • Auto-change partition paths to /dev/disk/by-partuuid/ in vitastor-disk prepare
    • Allow to select cached I/O in vitastor-disk commands
    • Fix multiple bugs in vitastor-disk resize & add tests for them
    • Fix vitastor-disk write-meta/write-journal in superblock-based mode writing it to an incorrect device
    • Fix vitastor-disk prepare sometimes again not seeing new partitions
    • Cleanup PG history and stats of deleted pools
    • Fix "is already mounted" checks in CSI
    Downloads
     
  • v1.9.2 79719e44ac

    Release 1.9.2 Stable

    vitalif released this 2024-10-20 01:49:13 +03:00 | 167 commits to master since this release

    New features:

    • Support resizing normal vitastor-disk partitions and moving journal/metadata: vitastor-disk resize
    • Support simple forms of vitastor-disk {dump,write}-{meta,journal} for OSD partitions

    Bug fixes:

    • Fix block RWX volumes broken after introducing stage/unstage support
    • Do not allow to create non-block RWX volumes in CSI
    • Fix vitastor-disk prepare not seeing the newly created partition in rare cases
    • Fix non-array tags not showing up in ls-osd/osd-tree
    • Make OpenNebula oned.conf patching during installation smarter
    • Fix iseek option in vitastor-cli dd not working
    • Validate conv=, iflag=, oflag= options in vitastor-cli dd
    • Fix vitastor-disk write-meta not writing header checksum to the disk
    • Fix JSON format in vitastor-disk dump-meta
    • Fix read_chain_bitmap not working for snapshot in another pool
    • Fix a possible OSD crash during parallel read & write to an image with snapshots
    • Several followups to the READ_CHAIN_BITMAP fix: avoid data reads, fix possible overflow in is_zero(), fix bitmap size
    Downloads
     
  • v1.9.1 99adbb9483

    Release 1.9.1 Stable

    vitalif released this 2024-09-14 19:17:30 +03:00 | 193 commits to master since this release

    Hotfixes for OpenNebula and upgrade hotfix for 1.7

    • Fix deploy.vitastor, save.vitastor, restore.vitastor scripts not working for nodes other than master oned
    • Fix deploy.vitastor not working for VMs without Vitastor disks
    • Disable clearing old PG configuration when upgrading from 1.7 or older versions (it was breaking old clients)
    Downloads
     
  • v1.9.0 fe8e611e23

    Release 1.9.0 Stable

    vitalif released this 2024-09-06 01:46:16 +03:00 | 201 commits to master since this release

    • OpenNebula support! Installation instructions
    • Added vitastor-cli rm --exact|--matching command
    • Added vitastor-cli dd command - copy files between Vitastor images, files and pipes
    • Add a startup timeout to vitastor-cli to not wait for etcd infinitely
    • Fix non-working OSD_OP_READ_CHAIN_BITMAP O_o
    • Autodetect block_size/bitmap_granularity/immediate_commit when creating pools
    • Do not allow to create multiple pools with the same name from vitastor-cli
    • Fix skip_cache_check option not applied due to type issue (see github issue #70)
    Downloads
     
  • v1.8.0 ce359c5a69

    Release 1.8.0 Stable

    vitalif released this 2024-08-11 14:28:31 +03:00 | 223 commits to master since this release

    Bugfix release, would be 1.7.2, but etcd layout changes mandate it to be 1.8.0. :-)

    • Change etcd layout: /config/pgs is now /pg/config, /pg/stats/* is now /pgstats/*.
      This is required to fix a rare PG history tracking issue caused by non-atomic
      delivery of etcd events sometimes resulting in incomplete objects in EC pools
      after mass OSD restarts. Upgrading can be performed freely, downgrade requires
      additional action: 1.8.0 to 1.7.1
    • Fix a rare client hang on PG primary OSD switch
    • Fix vitastor-nfs started using mount command sometimes not stopping automatically after unmount
    • Fix vitastor-nfs mounts started using mount command sometimes hanging after daemonizing
    • Fix merge/flatten into a pool with different object size (image migration between pools case)
    • Do not print extra "PG disappeared after reload" verbose log messages for non-existing PGs
    • Fix clustered Antietcd support and persistence filter
    • Do not try to purge the same OSD multiple times if its multiple devices are passed to purge
    • Various node.js binding fixes
    Downloads
     
  • v1.7.1 e898335b8d

    Release 1.7.1 Stable

    vitalif released this 2024-07-16 00:07:03 +03:00 | 248 commits to master since this release

    Some stupid hotfixes for 1.7.0 :)

    • Fix NFS mount
    • Fix modify-osd
    • Fix use_antietcd not taken from /etc
    Downloads