• v1.10.0 7fbb04fdfa

    vitalif released this 2024-12-19 15:49:19 +03:00 | 0 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 | 44 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 | 70 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 | 96 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 | 104 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 | 126 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 | 151 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
     
  • v1.7.0 989d73f874

    Release 1.7.0 Stable

    vitalif released this 2024-07-15 11:48:35 +03:00 | 158 commits to master since this release

    Omnidirectional release

    New features:

    Changes:

    • Make immediate_commit=all the default everywhere to match default vitastor-disk behaviour
    • Make pool-create error message more obvious and add details to it
    • Set default etcd_ws_keepalive_interval to 5 seconds (speedup client etcd failover)
    • Support OpenStack 2023.2 in Nova and Cinder drivers/patches
    • Add patches for libvirt 10.x
    • Add patches for QEMU 8.2 and 9.0
    • Implement internal restart / run_forever in monitor
    • Some source tree refactoring - sources are now moved into subdirectories, monitor is now split into multiple files
    • Add vitastor_c_inode_get_immediate_commit in vitastor_c client library
    • Make vitastor_kv.h header public

    Bug fixes:

    • Fix total statistics usec/count/bytes not being reported when delta (bps/iops/lat) is zero
    • Prevent infinite loop in NFS on files with incorrect metadata pointing to an empty volume
    • Fix READDIR offsets (cookies) in VitastorFS sometimes leading to client infinite loops when reading a directory
    • Fix a rare infinite loop during OSD journal flushing (OSD hanging and eating 100 % CPU)
    • Fix several bugs which could lead to lost writes in setups without immediate_commit:
      • Client library treated writes as completed before actually completing them, thus missing them in a subsequent fsync
      • Client library didn't repeat writes on the new PG primary when it changed
      • OSDs didn't drop peer connections with dirty writes when stopping PG
    • Fix Block Pseudo-FS initialization leading to ENOENTs some time after start
    • Fix vitastor-cli merge-based commands (merge/flatten/rm snapshot) slowing down and finally failing when using CAS optimistic locks
    • Fix pool create/modify --block_size validation
    • Fix TTL comparison for determining failed lease/keepalive requests in OSD
    • Add support for size suffixes in pool-create --block_size and --immediate_commit values
    Downloads
     
  • v1.6.1 9301c857b1

    Release 1.6.1 Stable

    vitalif released this 2024-04-22 02:01:29 +03:00 | 231 commits to master since this release

    A bunch of monitor fixes

    • Add noout flag for OSDs (/vitastor/config/osd/xx)
    • Fix "effective" size of degraded PGs (and thus "used space") calculation in monitor
    • Fix monitor not clearing PGs of deleted pools
    • Fix incorrect PG generation with hosts with 0 OSDs
    • Fix monitor crashing during primary OSD recheck when pool has no PGs
    • Fix monitor crashing when node_placement included non-existing OSDs
    • Fix possible data movement after removing OSDs reweighted to 0
    • Remove extra empty keys from pool configurations created by vitastor-cli create-pool
    • Fix 32-bit build
    Downloads
     
  • v1.6.0 ff4414d37e

    Release 1.6.0 Stable

    vitalif released this 2024-04-09 16:57:59 +03:00 | 244 commits to master since this release

    New features:

    • Implement "hierarchical failure domains" and other complex distribution rules, for example
      EC 4+2 over 3 DC, with 2 chunks per each DC (documentation)
    • Make OSDs handle ENOSPC - now cluster stays online even if some OSDs fill up
      to 100 %, only writes requiring free space hang
    • Implement Stage/Unstage & volume locking for CSI to prevent parallel mounting
      and/or modifications of the same volume
    • Warn about full and almost full OSDs in vitastor-cli status
    • Add an experimental NBD netlink map mode as an option (documentation)
    • Add --pg parameter to vitastor-cli describe, print objects with 0x in human-readable format too
    • Add administration docs

    Bug fixes:

    • Fix client operation retry timeout - previously the timeout wasn't applied and writes were
      retries almost instantly
    • Fix monitors crashing on invalid pool configurations
    • Fix journaling - make each journal write wait for all previous journal writes
    • Fix monitor thinking that OSD weight is 0 after deleting /osd/config/ key online
    • Fix a write stall caused by flusher possibly not trimming journal on rollback
    • Set 32k csum_block_size for HDD by default in vitastor-disk
    Downloads