今天,JuiceFS v1.0 发布了 🎉
经过了 18 个月的持续迭代和大量生产环境的广泛验证,此版本将成为第一个被长期维护的稳定版(LTS)。同时,该版本提供完整的向前兼容,所有用户可以直接升级。
JuiceFS 是为云环境设计的分布式文件系统,同时兼容 POSIX、HDFS、S3 访问协议,也可以使用 CSI 方式在 Kubernetes 中作为 PV 使用,在大数据、机器学习,和需要共享文件存储的场景中广泛使用。
可用于生产环境
稳定可靠的软件离不开全面的质量管理体系,JuiceFS 的测试体系已经涵盖了每日进行的单元测试、基础功能测试、兼容性测试、第三方工具测试以及实际应用场景测试。每一个版本发布之前,还需要额外完成异常测试和压力测试。在这次 v1.0 正式版发布前,我们模拟了从 Redis 切换到 TiKV 再持续写入 100 亿小文件,来验证系统的扩展性。
在过去的一年半里,来自不同行业、不同企业规模的社区用户尝试将 JuiceFS 应用到更为广泛的场景中:人工智能、大数据、云原生、数据共享、备份归档等。JuiceFS 的能力在应用中获得了持续改进,并上线到生产环境中,经受住了持续的稳定性和性能考验。
有上千集群在持续使用 JuiceFS,最大集群规模超过 10PB 数据和数十亿文件。这些用户来自互联网和科技、电信运营商、生命医药、航天、气象、遥感等领域;包括有移动云、航天宏图、小米、vivio、携程旅行、大疆、理想汽车、上汽集团、地平线、云知声、深势科技、商汤、Shopee、知乎、网易游戏、一面数据等企业,还有济南超算中心、国家天文数据中心等。
这些社区用户也分享了他们在不同场景的实践:
- 移动云使用 JuiceFS 支持 Apache HBase 增效降本的探索
- 理想汽车使用 JuiceFS 实现数据平台存算分离
- Shopee 使用JuiceFS 实现 ClickHouse 数据冷热分层
- 云知声使用 JuiceFS 建设超算平台分布式存储
- 深势科技使用 JuiceFS 实现多云 AI 科学计算平台建设
- 知乎使用 JuiceFS 给 Flink 容器启动加速
查看用户案例合集。
功能快速浏览
JuiceFS 是第一个完全插件式的分布式文件系统,元数据和数据都可以借助已有的成熟组件来实现,以应对丰富多变的企业环境和数据存储需求,目前支持 10 种以上元数据引擎 和 30 种以上数据存储引擎 。同时,JuiceFS 同时兼容 POSIX、 HDFS、S3、WebDAV 等访问协议,让数据不再成为孤岛,可以自由地在所有应用中流通。
除了稳定性之外,JuiceFS 还提升了全方面的数据安全保障:
- 数据存储加密,让文件内容加密存储在对象存储中,防止数据意外泄露
- 回收站,防止手抖误删除
- 元数据导入 & 导出 工具不仅方便备份,还可以做元数据引擎迁移
- 元数据自动备份,支持数据延迟删除,配合元数据备份,可以让数据「回到过去」,防止误更新
系统可观测性也在持续增强:
- 提供丰富的系统指标监控系统运行状态,通过 API 直接接入 Prometheus,预置的 Grafana 模版
- 通过客户端日志和访问日志,可以了解系统详情
- 文件元数据索引分析工具 juicefs info
- 性能实时诊断工具 juicefs profile
- 性能统计监控工具 juicefs stats
- 支持 Graphite 协议收集 Hadoop SDK 的监控数据
- 内置 Pyroscope 进行性能分析
还有丰富的管理工具:
- juicefs sync 在任意两个存储系统之间复制数据,相当于高性能 rsync/DistCp,支持丰富的访问协议
- juicefs warmup 可以为指定路径预热数据,提升读取性能
- juicefs rmr 快速删除指定目录
- juicefs config 可以在线修改文件系统配置
- juicefs fsck 可以检查文件系统完整性,找出可能损坏的文件
- juicefs gc 可以回收意外泄露的数据
- juicefs bench 简单的基准性能测试
- juicefs objbench 测试对象存储的访问权限和基准性能
拥抱开源
JuiceFS 在 2017 年以云服务的形式发布,经过三年的持续打磨和稳健运后,为了能让更多的开发者体验到这款产品的便捷,我们在 2021 年 1 月 11 日发布了插件化架构的 JuiceFS 社区版,并以每月发布一个测试版的速度持续迭代。
当听到一些社区用户反馈对 AGPLv3 的顾虑后,我们在2022年1月将 “AGPLv3 许可” 改为了 “Apache 2.0 许可”,让用户可以更放心地将 JuiceFS 应用于各种商业环境,并且根据自身的需要进行二次改进,也便于上下游的应用进行更进一步的融合,比如 Fluid 和 PaddlePaddle Operator 就已经将 JuiceFS 集成其中。
开源软件的发展离不开社区用户的共同努力,包括参与提交 issue、贡献 PR、分享文章、回答问题的每一位成员,在此向每一位参与者表示感谢!
未来规划
JuiceFS v1.0 是第一个长期维护( LTS)版本,我们会提供 24 个月的持续维护。
未来的版本会逐步实现以下这些功能(欢迎反馈):
- 支持 FoundationDB 做元数据引擎
- 录配额
- 用户和组配额
- POSIX ACL
- 快照
- WORM(Write Once Read Many)
在 JuiceFS 的持续迭代过程中,一直保持着向后兼容,希望新的改进能够更快地被用户使用,未来的版本发布也会兼容 v1.0 并提供平滑升级的方案。同时,JuiceFS v1.0 也为未来的版本做了一些向前兼容准备。