Show HN: ZeroFS, the Filesystem That Makes S3 Your Primary Storage
2 days ago
- #S3
- #encryption
- #filesystem
- ZeroFS provides file-level access via NFS and 9P, and block-level access via NBD.
- Key features include NFS Server, 9P Server, NBD Server, Always Encrypted, High Performance, and S3 Compatibility.
- ZeroFS passes all tests in the pjdfstest_nfs test suite, covering POSIX filesystem operations.
- ZFS is used as an end-to-end test in CI, including creating ZFS pools and compiling the Linux kernel.
- ZeroFS can self-host, demonstrated by Rust's toolchain building ZeroFS while running on ZeroFS.
- Configuration is managed via a TOML file with environment variable substitution.
- Supports multiple storage backends: S3, Azure, and local filesystem.
- Encryption is always enabled using ChaCha20-Poly1305 with lz4 compression.
- 9P provides better performance and more accurate POSIX semantics compared to NFS.
- NBD provides raw block devices with full TRIM/discard support.
- ZeroFS can create globally distributed ZFS pools by running multiple instances across different regions.
- Performance benchmarks show microsecond-level latencies for database workloads.
- Comparison with S3FS highlights ZeroFS's efficiency in small, random I/O operations.
- Available as a GitHub Action for CI/CD workflows.
- Theoretical limits include maximum file size of 16 EiB and maximum filesystem size of 2^112 bytes.
- Dual-licensed under GNU AGPL v3 and commercial licenses.