JuiceFS 社区版 1.4 今日正式发布,这是自 2021 年推出开源版本以来的第五个重要版本。该版本为长期支持版本(LTS),我们将继续维护 v1.4 和 v1.3,v1.2 将停止更新。目前,JuiceFS 在 GitHub 上已获得超过 14.2K Stars。根据用户匿名上报数据,社区版数据总量超过 1.4 EB,较 2022 年增长超 700 倍。
随着 JuiceFS 被用于更多大规模数据管理、高并发访问和多用户共享场景,成本控制、元数据效率和资源治理等长期关注的问题进一步凸显,也成为 JuiceFS 1.4 重点优化的方向。历时一年开发,JuiceFS 1.4 版本周期内社区新增 issue 366 个,合并 PR 515 个,共有 59 位贡献者参与其中。感谢每一位参与反馈、贡献和共建的伙伴,帮助 JuiceFS 持续面向复杂生产环境演进。
01 降低存储成本:文件与目录级分层存储
随着文件系统数据规模增长,不同数据在访问频率、性能要求和保存周期上的差异会逐渐扩大。统一使用同一种存储类型,难以同时满足高频访问数据的性能需求和低频访问数据的成本控制需求。对象存储通常按访问特征提供不同 Storage Class,包括标准存储、低频访问存储和归档存储。
JuiceFS 从 v1.1 开始支持通过 --storage-class 设置对象存储类型,但配置粒度主要是文件系统默认值或挂载点。JuiceFS 1.4 将 Storage Class 纳入文件系统语义,支持按文件或目录设置存储层级;目录级配置可被后续新建的文件和子目录继承,便于按项目、数据集或业务目录进行分层管理。
存储层级可以根据使用的对象存储厂商自由配置, 写入新数据时,JuiceFS 会根据文件或父目录的配置,将数据写入对应的对象存储类型;对于已有数据,也可以通过调整元数据配置,并配合对象存储侧的数据迁移能力,将其迁移到新的存储层。这一能力可用于 AI 训练数据集、日志归档、备份数据、历史实验数据和离线分析结果等场景。对于归档型存储,仍需评估取回延迟和取回费用。更多实现细节、使用方式和后续演进可参考:JuiceFS v1.4 分层存储设计解析
02 提升元数据性能:批量删除、克隆与热点读取优化
在海量小文件、大目录和高并发访问场景中,性能瓶颈往往来自元数据操作。JuiceFS 1.4 针对元数据操作中的写入事务开销和热点读取开销,分别优化了批量删除、批量克隆和 Redis 客户端缓存能力。
批量删除与克隆:减少事务开销
过去删除大量文件时,系统需要逐个处理文件,并依次更新目录项、inode、空间统计、回收站和配额等元数据。JuiceFS 1.4 将同一目录下多个非目录文件的删除合并为批量事务,减少逐文件操作带来的重复开销,适用于大目录清理、临时数据回收、训练样本清理和日志目录删除等场景。
批量克隆针对的是目录复制、快照场景。juicefs clone 不会复制底层数据块,而是在元数据层创建新的文件记录,并复用源文件的数据块引用。JuiceFS 1.4 在此基础上进一步减少逐文件克隆产生的元数据事务,将同一目录下多个文件的克隆操作批量处理,适用于 AI 数据集版本管理、实验环境准备和大规模目录快照等场景。
Redis 客户端缓存:降低热点元数据读取开销
在高并发读取中,路径解析、目录项查询和文件属性查询会产生大量重复请求;当 Redis 作为元数据引擎时,这些请求需要在客户端和 Redis 之间往返,可能影响访问延迟并增加 Redis 负载。
JuiceFS 1.4 将热点 inode 属性和目录项缓存在客户端本地,命中缓存时可减少对 Redis 的重复查询;当相关元数据发生变化时,再通过缓存失效机制更新本地状态。需要注意的是,这一能力缓存的是元数据,不是文件内容。
该能力适用于读多写少、热点路径稳定的工作负载,例如 AI 训练数据加载、大规模容器启动和多任务并发读取。更多实现细节可参考: 大规模元数据操作优化:批量删除、克隆与 Redis 缓存全解析
03 运维管理增强:用户配额与回收站统计
在分布式存储环境中,存储资源通常由多个用户、项目和业务共享使用。如果缺乏有效的约束机制,单一主体的异常写入或误操作,可能迅速消耗大量空间或 inode,进而影响系统稳定性与成本控制。配额管理正是为共享环境建立可预测资源边界的重要手段。
JuiceFS 社区版 1.4 新增用户和用户组维度的配额能力,使管理员可以按身份查看、配置和限制资源使用情况。它将资源管控从“文件系统 / 目录维度”扩展到“用户 / 用户组维度”,更适合共享集群、AI 训练平台等多用户环境。在多客户端并发场景下,JuiceFS 通过异步统计机制降低元数据访问压力,并让用量统计逐步收敛。详情查看:分布式架构下配额设计:JuiceFS 的实现与典型案例
| 配额类型 | 作用范围 | 主要解决问题 | 典型使用场景 |
|---|---|---|---|
| 文件系统总配额 | 整个文件系统 | 防止整体资源失控 | 成本预算控制、容量上限 |
| 子目录配额 | 目录子树 | 阻断异常写入行为 | 防止误操作、小文件风暴 |
| 用户配额 | 单个用户 | 不同业务互不影响 | 多租户数据管理 |
| 用户组配额 | 项目或部门 | 成本分摊与团队限制 | AI 项目共享环境 |
JuiceFS 1.4 还增强了回收站空间统计能力。在大规模文件系统中,文件删除后可能仍在回收站保留一段时间,导致“已删除但空间未释放”的情况。1.4 支持通过 summary 工具快速查看回收站相关用量,帮助管理员定位空间占用来源,并据此制定清理、保留或扩容策略。
04 功能拓展:同步、备份与变更追踪
sync 增强,让大规模同步更可靠
在大规模迁移、跨云同步、备份和归档场景中,用户往往需要应对任务中断、数据保护和带宽竞争等问题。JuiceFS 1.4 针对这些场景增强了 juicefs sync,新增断点续传、数据加解密和全局流量控制能力。
断点续传用于降低任务中断后的恢复成本。同步过程中,JuiceFS 会记录任务进度;当任务异常退出或手动中断后,可以基于已保存的状态继续执行,减少重复扫描和重复处理。该能力适用于对象数量大、任务周期长或跨云链路不稳定的迁移与备份场景。
在跨云备份和归档场景中,客户端加密是常见的合规要求。JuiceFS 1.4 支持在 sync 链路中完成加密写入、解密恢复或重新加密,减少对外部加密工具的依赖。该能力适用于异地备份、敏感数据迁移、密钥轮换和合规审计等场景,但需要同时管理好密钥保存和恢复流程。
全局流量控制用于多个同步任务并发时的带宽约束。相比单进程限速,1.4 可以统一管理多个 sync 任务的整体带宽使用,减少同步任务对线上业务和其他网络任务的影响。该能力适用于跨云传输、多任务并发备份、机房迁移和共享出口链路等场景。实现原理请查看:JuiceFS PB 级数据同步优化:断点续传、安全与带宽控制
Changelog:元数据变更可追踪
JuiceFS 社区版 1.4 新增元数据变更日志(Changelog)能力,用于记录文件系统中的元数据变更事件。此前,问题排查主要依赖客户端访问日志(access log),但访问日志只能反映单个挂载点的操作视角;在多个客户端并发访问同一文件系统时,往往难以还原完整的跨客户端操作链路。Changelog 从元数据层记录文件创建、属性修改、删除等变更,为问题定位、操作审计和增量处理提供统一依据。
当出现误删、异常重命名、权限或属性被意外修改等问题时,管理员可以基于 Changelog 查看相关变更记录,减少对单个客户端日志的依赖,缩短排查路径。这也为操作审计提供了更统一的元数据变更来源。
在备份、迁移和恢复场景中,Changelog 可作为增量处理的参考依据。对于大规模文件系统,两次全量备份或迁移任务之间可能发生大量变化;通过记录这段时间内的元数据变更,Changelog 可以为后续增量备份、增量迁移或恢复流程提供输入,减少对全量扫描的依赖。
05 多环境适配增强
JuiceFS 社区版 1.4 也进一步增强了对不同使用环境的适配能力。在 Windows 客户端方面,1.4 优化了跨平台访问的一致性和稳定性,包括用户映射、权限映射和文件访问行为等细节。对于同时使用 Linux 和 Windows 客户端访问同一文件系统的场景,这些优化有助于减少混合操作系统环境下的兼容性问题。
在 Java SDK 和大数据生态方面,1.4 新增 Kerberos 支持,补齐 Hadoop 安全模式下的用户认证能力。此前 1.3 已支持 Ranger,用于文件访问规则和权限控制;Kerberos 侧重认证“用户是谁”,Ranger 侧重控制“用户能访问什么”。二者结合后,可以更好地适配大数据平台中的认证与权限管理体系。
在存储后端方面,1.4 新增基于 SMB/CIFS 协议的存储接入能力,使 JuiceFS 可以更直接地对接已有 NAS 或文件共享系统,扩展在存量基础设施环境中的适用范围。
06 数据规模稳步增长,AI 场景持续拓展
根据用户匿名上报的数据,目前文件系统总数近 70,000 个,数据总量超 1.4 EB,使用规模仍在持续扩大。
过去一年,AI 应用继续从模型训练扩展到推理服务、Agent 和多云调度等场景,对数据存储提出了更高要求。这些变化也体现在社区用户分享的实践案例中,覆盖大模型、智能驾驶、量化投资、算力平台等多个方向。感谢这些用户分享真实实践,为更多正在建设 AI 数据基础设施的团队提供参考。
新增案例:
AI 训练与大模型
合合信息:构建统一存储,支撑 PB 级 AI 训练
多模态“卷王”阶跃星辰:打造高效经济的大模型存储平台
AI 战略下架构演进:小米基于 JuiceFS 的统一存储实践
AIGC
稿定科技:多云架构下的 AI 存储挑战
3D-AIGC 存储架构演进:光影焕像存储实践
自动驾驶 & 机器人
九识智能:自动驾驶多云亿级文件存储
海量小文件 + 多云协同:地瓜机器人存储优化之路
推理 & Agent
共绩科技:跨云弹性推理场景下,模型分发如何跟上算力调度
星辰征途:多云、 Agent 场景下的存储实践
大数据
韩国国民搜索 NAVER:打通 Hadoop 与 Kubernetes 存储实践
❤️ 感谢每一位为项目提供反馈、分享案例、贡献代码、完善文档、答疑解惑!因为每一位的参与,推动了 JuiceFS 的快速成长。
📥 欢迎大家前往下载使用 JuiceFS 1.4:https://github.com/juicedata/juicefs/releases/tag/v1.4.0