每月花 800 元租 NAS 云盘?ZeroFS 让你用 S3 自建同款

2026-10-23 0 3

很多人想把云存储当本地硬盘使,结果卡在第一步:得自己写脚本、配 SDK、处理权限、写重试逻辑。

或者退而求其次,用 rclone 挂载——但它是只读的、不支持 POSIX、小文件慢得像在等煮面。

其实不用折腾。有现成的工具,装完就能在 Finder / 文件资源管理器里直接打开 S3 桶,双击编辑、拖拽上传、右键新建文件夹。

它不模拟文件系统,而是真正实现了一套 POSIX 层。你执行 ls -la 时返回的是真实 inode 号,stat 显示的 mtime 是服务端时间戳,open(O_TRUNC) 会立刻清空对象内容,不是靠临时文件中转。

连 vim 编辑大文本时的 :w! 都能原子提交,不会出现一半写入失败、一半残留的情况。

每月花 800 元租 NAS 云盘?ZeroFS 让你用 S3 自建同款

能替代什么 / 能省多少钱

每月花 800 元租 NAS 云盘?ZeroFS 让你用 S3 自建同款

它不替代某一个具体软件,而是绕开了「开发+运维」这一整套付费服务链。比如企业买 AWS Storage Gateway,一年起步 5000 美元;自建 MinIO 集群加 NFS 网关,至少要两个工程师搭三天。

不是让你少买一个软件,而是让你根本不用走采购流程。

ZeroFS 把 S3 变成真正的文件系统——你不需要再雇人写胶水代码,也不用买商业网关授权。官方没提价格,但开源协议是 AGPL-3.0,意味着你可以免费用于任何场景,包括商用。

价格直接砍到零。

更关键的是部署成本:它没有依赖数据库、消息队列或独立元数据服务。所有结构信息都存进 S3 的特殊前缀目录里,同一个桶既存业务数据,也存 ZeroFS 的索引树和日志段。

这意味着你删掉 ZeroFS 进程后,S3 桶里除了几个隐藏目录,其余全是标准对象,其他工具照常能读取。

核心功能

每月花 800 元租 NAS 云盘?ZeroFS 让你用 S3 自建同款

  • 支持所有主流对象存储:Amazon S3、Google Cloud Storage、Azure Blob,还有任何兼容 S3 协议的私有存储(比如 MinIO、Ceph RGW)。你手头已有的存储桶,今天就能挂上用,不用迁移数据。配置时只需填 [storage] url = "https://s3.us-east-1.amazonaws.com/my-bucket" 和对应 region 参数。
  • 原生 POSIX 兼容:Linux/macOS/Windows 都能当本地磁盘用。mkdir、cp、rm、stat、chmod 全都正常跑,连 Docker Desktop 的 WSL2 都认得它挂出来的路径。测试用例覆盖了 renameat2、copy_file_range、fallocate 等现代系统调用。
  • 加密和压缩一步到位:上传前自动用 XChaCha20-Poly1305 加密,密钥用 Argon2id 衍生;同时支持 zstd 或 lz4 压缩,改算法不用重传文件,后台自动渐进切换。加密密钥从不离开本地,也不会被写入 S3。
  • 三种接入方式可选:NFS(适合 macOS/Linux)、9P(轻量高效,支持 Linux 内核模块)、NBD(能当块设备用,比如挂给 QEMU 虚拟机当硬盘)。NBD 支持 TRIM 命令,删除文件后立即释放 S3 空间,不是等后台清理。
  • 缓存分两层:内存缓存热数据,本地磁盘缓存大文件。断网时已缓存的内容仍可读写,联网后自动同步回 S3。磁盘缓存路径可指定任意目录,支持 ext4/xfs/btrfs,甚至可以设在 NVMe SSD 上加速随机访问。
  • 高可用可选:同一 S3 桶里跑主备节点,主挂了自动切备,配置就多写两行 TOML,不用额外数据库或协调服务。故障检测基于租约心跳,切换过程对客户端透明,已挂载的 NFS 客户端几乎无感知。

三步上手

每月花 800 元租 NAS 云盘?ZeroFS 让你用 S3 自建同款

  1. 去官网 sh.zerofs.net 复制安装命令,粘贴进终端回车(Mac/Linux);Windows 用户用 Docker Desktop 运行官方镜像,文档里给了完整命令模板。Docker 启动时需加 --cap-add=SYS_ADMIN --device=/dev/nbd0 才能启用 NBD 支持。
  2. 运行 zerofs init 生成配置文件,用记事本或 VS Code 打开,填进你的 S3 接入地址、Access Key 和 Secret Key,这些信息你在云厂商控制台都能直接复制。MinIO 用户还要补上 insecure = true 和 region = "us-east-1"。
  3. 保存后执行 zerofs run -c zerofs.toml,几秒后就能在 localhost:2049(NFS)或 localhost:5564(9P)看到挂载点,用系统自带命令 mount 就行。macOS 示例:sudo mount -t nfs -o resvport localhost:/ /mnt/s3;Linux 9P 示例:sudo mount -t 9p -o trans=tcp,port=5564 localhost /mnt/s3。

项目信息


📦
Barre/ZeroFS
GitHub

ZeroFS: A log-structured filesystem for S3. ZeroFS serves S3-compatible buckets as POSIX filesystems over NFS and 9P, or as raw block devices over NB

⭐
3.1k

Stars

🔀
126
Forks

📄
AGPL-3.0

🔗 项目地址  https://github.com/Barre/ZeroFS

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

本网站所提供的所有资源(包括但不限于软件、文档、教程、代码、素材等)均收集自互联网公开渠道,仅供个人学习、研究及交流使用。我们无法对所有资源的版权归属进行逐一核实。

OPENKLC昆仑草-免费资源下载-源码下载 开源易选 每月花 800 元租 NAS 云盘?ZeroFS 让你用 S3 自建同款 https://www.openklc.com/3708.html

下一篇:

已经没有下一篇了!

常见问题

相关文章

发表评论
暂无评论
  • 19657570937 +

    访问总数

  • 28 +

    会员总数

  • 1413 +

    文章总数

  • 2 +

    今日发布

  • 40 +

    本周发布

  • 530 +

    运行天数

你的前景,远超我们想象