Vitaliy Filippov
2b96ac0b44
Implement OpenNebula driver
2024-08-30 23:46:37 +03:00
Vitaliy Filippov
986cd11705
Implement CLI "dd" command - copy data between Vitastor images, files and pipes
2024-08-30 02:31:06 +03:00
Vitaliy Filippov
b804051eaf
Remove debug print in nbd-proxy
2024-08-30 02:31:06 +03:00
Vitaliy Filippov
3cc326500e
Fix non-working OSD_OP_READ_CHAIN_BITMAP O_o
2024-08-30 01:25:05 +03:00
Vitaliy Filippov
f848c450a4
Clients should not wait infinitely for etcd to start if it's unavailable
2024-08-28 02:03:35 +03:00
Vitaliy Filippov
4121c66281
Autodetect block_size/bitmap_granularity/immediate_commit when creating pools
2024-08-28 02:03:35 +03:00
Vitaliy Filippov
b3716fbe23
Validate pool name when creating a pool
2024-08-28 02:03:35 +03:00
Vitaliy Filippov
97f49d7d94
Fix #70 from github - skip_cache_check type issue
2024-08-14 01:35:43 +03:00
Vitaliy Filippov
131de4b790
Disable trace in header
2024-08-13 11:21:35 +03:00
Vitaliy Filippov
ce359c5a69
Release 1.8.0
...
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](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/admin.en.md#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
v1.8.0
2024-08-11 14:28:31 +03:00
Vitaliy Filippov
521e867b10
Run check_exit also on deferred stop. Now vitastor-nfs should finally always stop on umount
2024-08-11 00:05:20 +03:00
Vitaliy Filippov
333c54ebbf
Cleanup clients correctly during stop(). Was also affecting #67 , but could also reproduce during normal operation
2024-08-11 00:00:13 +03:00
Vitaliy Filippov
58d3da95c8
Fix github issue #67 by closing active NFS sockets before daemonize()
2024-08-10 20:13:37 +03:00
Vitaliy Filippov
4e90e752eb
Fix merge/flatten into a pool with different object size
2024-08-10 19:23:26 +03:00
Vitaliy Filippov
09342d7189
node.js binding fixes
2024-08-05 00:10:37 +03:00
Vitaliy Filippov
eb3e8b8c19
Do not print "PG disappeared after reload" verbose log messages when *it* was not present
2024-08-04 01:42:05 +03:00
Vitaliy Filippov
e2ca3ad99e
Add a note about storage ID in proxmox storage config doc
2024-07-31 01:19:44 +03:00
Vitaliy Filippov
dd4b0aed2b
Support scattered write in node.js binding
2024-07-31 01:17:06 +03:00
Vitaliy Filippov
42851a061c
Always continue operations to not miss resuming after the lack of PG primary
...
Should fix spurious client hangs during PG primary switchover
2024-07-31 01:17:03 +03:00
Vitaliy Filippov
8e0f242d30
Add downgrade docs
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
0daa8ea39b
Support seamless upgrade to new PG config and stats etcd key names
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
b263d311ef
Use separate watch revisions for different watchers
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
8720185780
Run tests in CI in memory (in tmpfs)
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
20584414d8
Report OSD version in /osd/state/ and /osd/stats/ (for the future)
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
306a3db7f3
Rename VERSION define to VITASTOR_VERSION
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
5b0aebada4
Rename /config/pgs to /pg/config and /pg/stats/* to /pgstats/*
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
d6f0b480c8
Fix broken link
2024-07-22 14:01:53 +03:00
Vitaliy Filippov
f1f8531fd4
Make tests compatible with antietcd, add 2 antietcd tests to CI
2024-07-20 02:16:38 +03:00
Vitaliy Filippov
8d79d59964
Update antietcd to 1.1.0
2024-07-20 02:15:48 +03:00
Vitaliy Filippov
551a209a50
Fix persistence filter initialization
2024-07-20 02:15:48 +03:00
Vitaliy Filippov
06cafd7702
Do not merge config an extra unneeded time
2024-07-20 02:15:48 +03:00
Vitaliy Filippov
3018352443
Fix clustered Antietcd support
2024-07-19 18:58:58 +03:00
Vitaliy Filippov
f8edfb4a71
No need to check for PG intersection if a history set is smaller than EC data part count
2024-07-18 19:29:05 +03:00
Vitaliy Filippov
8239ea2356
Do not try to purge the same OSD multiple times if its multiple devices are passed to purge
2024-07-16 16:48:16 +03:00
Vitaliy Filippov
e898335b8d
Release 1.7.1
...
Some stupid hotfixes for 1.7.0 :)
- Fix NFS mount
- Fix modify-osd
- Fix use_antietcd not taken from /etc
v1.7.1
2024-07-16 00:07:03 +03:00
Vitaliy Filippov
e7869611fa
Another stupid fix for NFS (no idea how it worked for me)
2024-07-16 00:05:51 +03:00
Vitaliy Filippov
e1c2500b60
Use modify-osd in the disk removal instruction
2024-07-16 00:01:42 +03:00
Vitaliy Filippov
42cf3a11df
Oops, fix reweight :)
2024-07-16 00:01:11 +03:00
Vitaliy Filippov
4d9293f0e9
Fix QEMU 8.2 and 9.0 patches (add @location comments)
2024-07-15 16:30:14 +03:00
Vitaliy Filippov
7a13f85ae2
Fix mon config merge
2024-07-15 16:25:22 +03:00
Vitaliy Filippov
fc219b8602
Add pg-list to docs
2024-07-15 13:29:22 +03:00
Vitaliy Filippov
989d73f874
Release 1.7.0
...
Omnidirectional release
New features:
- Support handling TCP I/O in simple separate io_uring-based [I/O threads](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/client.en.md#client_iothread_count ) - may increase linear performance to 7-8 GB/s
- Experimental internal etcd replacement - [antietcd](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/monitor.en.md#use_antietcd )
- Monitor now has a [built-in Prometheus exporter](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/monitor.en.md#enable_prometheus )
- Added a reference [Grafana dashboard](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/mon/scripts/Vitastor-Grafana-6+.json )
- Implement vitastor-cli [osd-tree](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/cli.en.md#osd-tree ) and [ls-osd](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/cli.en.md#ls-osd ) commands
- Implement vitastor-cli [modify-osd](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/cli.en.md#modify-osd ) command
- Implement vitastor-cli [pg-list](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/cli.en.md#pg-list ) command
- Implement [VitastorFS defragmentation](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/usage/nfs.en.md#defrag )
- Implement basic node.js binding (not published on npm yet)
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
v1.7.0
2024-07-15 11:48:35 +03:00
Vitaliy Filippov
f0630722ce
Make pool-create error message more obvious, add details
2024-07-15 11:47:49 +03:00
Vitaliy Filippov
93b0947720
Support size suffixes in pool-create --block_size / --bitmap_granularity
2024-07-15 11:47:05 +03:00
Vitaliy Filippov
9c628646fa
Remove bullseye-backports from build, remove buster-backports from docs
2024-07-15 11:47:05 +03:00
Vitaliy Filippov
cf476a3b95
Add mkdir /var/lib/vitastor
2024-07-15 11:47:05 +03:00
Vitaliy Filippov
23f9273ba3
Take use_antietcd setting from /etc/vitastor/vitastor.conf too
2024-07-15 02:02:56 +03:00
Vitaliy Filippov
74b88bf8ba
Use own repo instead of buster-backports as it is EOL
2024-07-14 20:25:44 +03:00
Vitaliy Filippov
1254d5a0de
Fix delta stats when counters may be hypothetically reset
2024-07-14 13:11:00 +03:00
Vitaliy Filippov
f87bece253
Fix build with antietcd & tinyraft, remove some version hardcode
2024-07-14 13:04:25 +03:00