Posts up to 2024-01-18

Vitastor 1.4.1 released

  • Fix a monitor crash on primary OSD switching introduced in 1.4.0
  • Fix “partly outside array bounds” warnings for GCC 12 in cpp-btree
  • Fix a realloc memory leak in theory possible with too large listings (OSD_OP_LIST)

2024-01-18 Continue reading →

Vitastor 1.4.0 released

New features

  • Intelligent recovery/rebalance speed auto-tuning to reduce its impact on clients (see README -> Features)
  • Auto-restoration of dead VDUSE daemons in CSI plugin
  • Add vitastor-disk update-sb command
  • Update QEMU for Debian Bookworm to 8.1 and use it for CSI plugin

2024-01-12 Continue reading →

Vitastor 1.3.0 released

New features

  • Added RDMA without ODP support - much faster and all cards are now supported, not just Mellanox
  • VDUSE in CSI - faster, more stable and can even recover after CSI pod restart!
  • Reserve journal space for stabilize requests dynamically to prevent stalls under load with EC
  • Raise default NBD timeout from 30 to 300 seconds and allow to take it from /etc/vitastor/vitastor.conf
  • Remove explicit etcdUrl/etcdPrefix K8S storage class parameter support to prevent etcd migration issues for volumes created with these parameters
  • Support QEMU 8.1 and pve-qemu 8.1

2023-12-04 Continue reading →

Vitastor 1.3.1 released

Hotfix to 1.3.0 - new “journal space reservation” had a bug which caused OSDs to crash with EC and without immediate_commit.

2023-12-04 Continue reading →

Vitastor 1.2.0 released

Snapshot and volume expansion support in CSI and an important bugfix for EC n+k with k>=2.

2023-11-05 Continue reading →

Vitastor 1.1.0 released

New features

  • Implement client writeback cache
  • Add the third I/O mode: O_DIRECT|O_SYNC (good for Optane)
  • Reduce load on etcd by splitting OSD lease and statistics reporting intervals: etcd_stats_interval (default 30 sec)
  • Make MON automatically filter OSDs by layout (block_size/immediate_commit/bitmap_granularity) to prevent “refusing to start PGs of this pool” errors on misconfiguration
  • Support running fio benchmarks on systems without io_uring
  • Make QEMU driver compatible with QEMU 8.1
  • Document usage of vhost-user-blk

2023-10-27 Continue reading →

How Vitastor handles image snapshots

In fact, there are only 3 ways to implement snapshots: “redo”, “undo”, and “cow”. Also, proper snapshots should always be atomic. What does this all mean?

2023-08-30 Continue reading →

Vitastor 0.9.6 released

  • Fix vitastor-disk partition zeroing (sometimes it was writing garbage instead of zeroes)
  • Fix incorrect EC space statistics in vitastor-cli status
  • Several bug fixes for NFS:
    • Add . and … in NFS directory listings
    • Return FILE_SYNC from NFS writes if immediate_commit is enabled
    • Return the same “verifier” in NFS COMMIT as in NFS WRITE
    • Make parallel NFS extending writes work correctly, without conflicts
    • Handle parallel NFS extending writes without imposing extra load on etcd
  • Support UTF-8 in vitastor-cli table output
  • Also allow “0” and “no” as false for inmemory_metadata and inmemory_journal
  • Use HDD defaults for HDD-only in automatic vitastor-disk prepare mode

2023-07-29 Continue reading →

Vitastor 1.0.0 released

  • Data and metadata checksums!
    • Metadata checksums are always used with new disk format
    • Data checksums can be turned on with --data_csum_type crc32c for new OSDs
    • Checksum block size can be configured
    • inmemory_metadata now also affects keeping checksums in memory
  • Linux page cache I/O caching support which can be enabled separately for data, metadata (including checksums) and journal (O_SYNC instead of O_DIRECT)
  • Details here
  • Backwards compatibility is preserved, you can use new OSDs with old disks

Release also includes bug fixes from 0.9.6.

0.9.6 is moved to “-oldstable” repositories and will be available for some additional time.

2023-07-29 Continue reading →

Vitastor 0.9.5 released

A hotfix to 0.9.4 containing only one bugfix: 100% CPU usage in the new QEMU driver caused by the lack of eventfd reset on io_uring event handling :)

2023-07-20 Continue reading →

← Newer Posts Older Posts →