3 ms·
Cool! Here is my java version that I wrote back in the day. Recently updated to 5.1. https://github.com/spullara/nbd https://github.com/spullara/nbd
by spullara 9y ago
Cool! Here is my java version that I wrote back in the day. Recently updated to 5.1.
https://github.com/spullara/nbd https://github.com/spullara/nbd
- dividuum 9y agoNice. That looks way more polished. Thanks for linking! Upon further reading: I didn't realize that there is a TRIM command. I search briefly and missed that. Neat.
- scoot 9y agoHow do you handle resilience? if FDB is multi-node, do you run a copy on each node? If so, how is failure detected / client traffic redirected, and what protects against concurrent access from multiple clients to the same volume?
- spullara 9y agoSee https://www.foundationdb.org https://www.foundationdb.org for information on FDB but in short it is a distributed database that is auto-scaling, auto-healing, auto-sharding and ACID. You do need a minimum of 3 nodes to get those properties. When you connect to a volume it is protected by a lock that ensures only a single client.
- scoot 9y agoThanks for the reply. Don't know if you will see this, but I was also interested in how the NBD client fails over to an alternate node if the one it's connected to fails. Regarding locking, is there a distributed lock manager? What prevents two NBD clients connecting to the same volume via two different nodes?