Commit Graph

43 Commits (0b1ffba62b4787ef29b917b5f5d805de864b065d)

Author SHA1 Message Date
Vitaliy Filippov 0b1ffba62b Add Proxmox storage driver 1 year ago
Vitaliy Filippov d5c8fde5de Remove kludgy $IP and $ETCD_MON parsing from make-osd.sh, suggest to use vitastor.conf 2 years ago
Vitaliy Filippov 20e86c7d84 Note about vitastor-cli 2 years ago
Vitaliy Filippov 24b9b19066 Change rm to rm-data as it was renamed 2 years ago
Vitaliy Filippov 065dfef683 Rename vitastor-cmd to vitastor-cli 2 years ago
Vitaliy Filippov acf637950c Implement layer merge
A new command merges multiple snapshot/clone layers into one of them,
so merged layers can be deleted after this procedure
2 years ago
Vitaliy Filippov b66a079892 State basic OpenStack support 2 years ago
Vitaliy Filippov 4be761254c Move patches to patches/ 2 years ago
Vitaliy Filippov 10ee4f7c1d Add notes about CSI to README 2 years ago
Vitaliy Filippov 971aa4ae4f Implement RDMA receive with memory copying (send remains zero-copy)
This is the simplest and, as usual, the best implementation :)

100% zero-copy implementation is also possible (see rdma-zerocopy branch),
but it requires to create A LOT of queues (~128 per client) to use QPN as a 'tag'
because of the lack of receive tags and the server may simply run out of queues.
Hardware limit is 262144 on Mellanox ConnectX-4 which amounts to only 2048
'connections' per host. And even with that amount of queues it's still less optimal
than the non-zerocopy one.

In fact, newest hardware like Mellanox ConnectX-5 does have Tag Matching
support, but it's still unsuitable for us because it doesn't support scatter/gather
(tm_caps.max_sge=1).
2 years ago
Vitaliy Filippov 33f9d03d22 Update documentation regarding image names and vitastor-nbd 2 years ago
Vitaliy Filippov c72fddd714 Notes about master/0.5.x 2 years ago
Vitaliy Filippov 7308d6a6c0 Note about etcd 3.4.15 2 years ago
Vitaliy Filippov 879ecfa74d Fix wording 2 years ago
Vitaliy Filippov aea2d19d35 Change Telegram chat link 2 years ago
Vitaliy Filippov e50f703e1d Add Russian version of the README 2 years ago
Vitaliy Filippov 2612d3198a Introduce image names and metadata storage in etcd
Each inode has: image name, parent inode number & pool, size and readonly flag

Snapshots are created by switching image name to a different inode number
while using the older inode as parent.
2 years ago
Vitaliy Filippov ffe1cd4c79 Report inode I/O statistics, aggregate it in the monitor 2 years ago
Vitaliy Filippov e899ed2c25 Make OSDs with 256 flushers (as they are now dynamic) 2 years ago
Vitaliy Filippov 4f5a94c07a Modify instructions for the CMake build 2 years ago
Vitaliy Filippov 4a2dcf7b6b Update the license to VNPL 1.1
VNPL 1.1 is slightly reworded to make it clear that proprietary software
interacting with Vitastor and providing some kind of service to end users isn't
a "Proxy Program" if it's not specially designed to be used with Vitastor.

For example, Windows OS running in a virtual machine stored in a Vitastor
cluster clearly isn't.
2 years ago
Vitaliy Filippov b88b76f316 Parallel usage of multiple network interfaces was a sick fantasy 2 years ago
Vitaliy Filippov 4a17a61d1f Make rm_inode work with incomplete and degraded objects, allow to wait before deleting objects 2 years ago
Vitaliy Filippov 26dac57083 State that jerasure is now supported 3 years ago
Vitaliy Filippov 5596ad8997 Use custom QEMU build for CentOS 7 3 years ago
Vitaliy Filippov 59c29b0cee Fix RPATH for CentOS builds, add additional repos into the CentOS installation instructions 3 years ago
Vitaliy Filippov d3e7749616 Final fixes for packaging 3 years ago
Vitaliy Filippov 530975aed7 Make it also build with GCC 8 and on Debian Buster 3 years ago
Vitaliy Filippov e41bee72a5 Lower node.js requirement to 10.x 3 years ago
Vitaliy Filippov 3be7bc29d8 Make it build with QEMU 2.0, too
Also begin to work on rpms
3 years ago
Vitaliy Filippov 3b7279b376 Add Ceph EC 2+1 test results 3 years ago
Vitaliy Filippov 23ea409081 Fix "can't get SQE, will fall out of sync with EPOLLET" when overflowing the ring
OSDs shouldn't crash or hang with long iodepths anymore
3 years ago
Vitaliy Filippov 1eda7f529d Note about Linux 5.8+ 3 years ago
Vitaliy Filippov ae480196e2 Add a note about etcd bug, fix simple-offsets.js cmdline 3 years ago
Vitaliy Filippov 900171586b XOR 2+1 test results 3 years ago
Vitaliy Filippov be5f314c32 Change notes about gcc requirement to 9+, fio to 3.16+ 3 years ago
Vitaliy Filippov 15dba96375 Implement inode removal tool. Removes multiple objects from multiple OSDs in parallel 3 years ago
Vitaliy Filippov 94efb54feb Implement OSD tags (device classes), fix pool failure_domain configuration 3 years ago
Vitaliy Filippov 526983f7a9 Add usable CLI commands for NBD proxy (map/unmap/list) 3 years ago
Vitaliy Filippov f460d8c1c8 Add note about NBD 3 years ago
Vitaliy Filippov 6852f299ae Add functions to calculate AFR for a cluster 3 years ago
Vitaliy Filippov 108cd6312d Correct some typos in README, add note about qemu-img 3 years ago
Vitaliy Filippov 588b9e6393 Add README 3 years ago