|
|
Distributed storage.
|
Distributed storage is a network block device, which among others has following features:
- Kernel-side client and server. No need for any special tools for data processing (like special userspace applications) except for configuration.
- Bullet-proof memory allocations via memory pools for all temporary objects (transaction and so on).
- Zero-copy sending (except header) if supported by device using
sendpage().
- Failover recovery in case of broken link (reconnection if remote node is down).
- Full transaction support (resending of the failed transactions on timeout of after reconnect to failed node).
- Dynamically resizeable pool of threads used for data receiving and crypto processing.
- Initial autoconfiguration. Ability to extend it with additional attributes if needed.
- Support for barriers and other block io request flags.
- Support for any kind of network media (not limited to tcp or inet protocols) higher MAC layer (socket layer).
Out of the box kernel-side IPv6 support (needs to extend configuration utility, check how it was done in
POHMELFS).
- Security attributes for local export nodes (list of allowed to connect addresses with permissions). Read-only connections.
- Ability to use any supported cryptographically strong checksums. Ability to encrypt data channel.
- Keepalive messages to early detect failed nodes.
One can grab sources (various configuration examples can be found in 'userspace' dir) from
archive,
or via
kernel and
userspace
GIT trees (web interface).
Development status can be tracked here.
|
|
|