JuiceFS 社区版 v1.1 正式发布,大规模数据管理更轻松

2023-09-07
Juicedata Team

历时 13 个月, JuiceFS v1.1 今天正式发布了!

这是继 v1.0 版本后,第二个长期维护的稳定版(LTS),与 v1.0 完全兼容。

JuiceFS 是为云环境设计的分布式文件系统,元数据和数据都可以借助已有的成熟组件来实现,避免重复造轮子,大大降低了复杂度,可以给用户提供简单易用且稳定可靠的统一文件存储方案。

目前,JuiceFS 支持 10 种以上元数据引擎和 30 种以上数据存储引擎,丰富的元数据和数据引擎选择使得用户可以灵活应对多变的企业环境和数据存储需求;同时,JuiceFS 兼容 POSIX、 HDFS、S3、WebDAV 访问协议,也可以在 Kubernetes 中作为持久卷(PV) 使用,完善的兼容性让数据能够在各个应用中流通自如。

新功能快速浏览:大规模数据管理更轻松

JuiceFS 在大数据、机器学习等场景中被广泛使用,用户的数据规模不断扩大,其中不乏文件数超过 100 亿的集群,如何管理好这海量的文件是目前的挑战。

为此,JuiceFS v1.1 引入了以目录为单位的空间使用统计,并新增如下功能:

  • 目录配额:为目录设置配额限制,控制其大小和文件数,以防止个别用户占用过多资源影响整个系统的稳定性;
  • 目录克隆:在需要复制大量文件的情境下,使用此功能可以仅拷贝元数据,实现快速复制目录及其内容,从而节省时间和空间;
  • 快速查看用量信息:可以快速查看存储空间和文件数量的统计信息;
  • 支持 FoundationDB 作为元数据引擎:这是一款由 Apple 公司开源的分布式数据库,具有高性能、高扩展性和高容错性的特点;
  • 支持 GlusterFS 作为数据存储:进一步简化自建对象存储的扩容和运维问题,关于这个功能的详细介绍,请参考:JuiceFS 社区版 v1.1-beta2 发布:新增 Gluster 作为对象存储

更安全

  • 减少权限安全隐患和防止误操作:在 mount 时通过 --root-squash 选项来将 root 用户映射为一个非特权用户;
  • 可设置特殊标记位来控制文件的行为:在 mount 时通过 --enable-ioctl 选项开启对 ioctl 的部分支持,如 append only (a)immutable (i)
  • 防止因硬件异常导致的缓存数据错误:为本地缓存文件增加了完整性校验。

更稳定

解决与对接组件的兼容问题:

  • 为 TiKV 添加独立的 GC 线程,解决其在没有部署 TiDB 组件时无法自行 GC 的问题
  • 提升以 gateway 方式使用 JuiceFS,以及在 Hadoop 生态中使用时的兼容性

调整特定场景下的使用策略:

  • 修复了高配机器上 FUSE 占用过多 CPU 问题
  • 重构了数据对象清除控制方式,能更好地调节待删除对象的清理速度
  • 增加了cache-scan-internal 选项来自定义本地缓存的扫描时间,并且可以选择只在启动时扫描一次或完全关闭扫描
  • 增加了 cache-eviction 选项来调整本地缓存清理策略
  • 增加了 skip-dir-nlink 选项来减少在同一目录下并发创建目录导致的元数据事务冲突

修复可能导致客户端奔溃的 Bugs:

  • 元数据引擎中某些值异常会导致客户端 panic
  • 客户端在并发执行 truncate 和 release 操作时可能会死锁

更易用

  • 一键收集诊断信息:提供一键生成诊断报告的功能,方便排查问题和提供反馈意见;
  • 一键恢复回收站文件:可以一次性地恢复某段时间内所有被删除的文件,无需逐个操作;
  • 无需挂载就可以进行数据同步:在使用 sync 工具时,新支持了 jfs:// 前缀来访问 JuiceFS 中的数据;
  • 自动添加开机启动:在 mount 时加上 --update-fstab 选项,会自动在系统中添加相同挂载参数的开机启动;
  • 提升了查看文件内部结构 info 命令的性能,且展示更多丰富有用的信息;
  • 增强了 fsck 命令,使其在一定条件下能修复损坏的目录信息;
  • 增强了垃圾回收 gc 命令,当待删除对象积累过多时可用其来执行手动清理;
  • 进一步提升了数据同步命令 sync 的性能,并添加了多个策略参数来应对不同的需求。

更多生产环境验证:社区使用规模成倍增长

JuiceFS 社区版于 2021 年 1 月正式开源,在全球范围内获得了众多用户的关注与应用。在文件存储领域,JuiceFS 已经成为增长速度最快的项目之一,目前在 GitHub上已获得 8.5K 颗星标 。 相比去年发布 JuiceFS v1.0 时,匿名上报的用户使用指标都有了大幅增长。

JuiceFS 最初为大数据平台上云设计,同时随着 AI 技术的持续发展,JuiceFS 在 AI 领域也有了越来越多的应用和案例,包括自动驾驶、 AIGC、大语言模型等场景。目前,将 JuiceFS 应用于生产环境的用户包括有移动云、航天宏图、小米、vivo、百度、携程旅行、大疆、理想汽车、思谋科技、上汽集团、地平线、云知声、深势科技、商汤、Shopee、知乎、网易游戏、一面数据等企业,还有济南超算中心、国家天文数据中心等。

这些社区用户也分享了他们在不同场景的实践:

社区持续活跃,共建云原生生态

在过去的 13 个月中,社区版 JuiceFS 一直保持着高度活跃的状态。新增的 issue 数量达到 410 个,合并的 PR 数量为 920 个,贡献者人数更是达到了 102 人,较前一年增长100% 。

社区用户的规模也在不断壮大,中文社区已建立了第 6 个微信群。社区交流活动也在积极推进,每两周举行一次线上 Office Hours 活动,每月举办一次 Meetup,确保用户可以通过多种渠道交流问题。

值得一提的是,在过去一年中,JuiceFS 在海外也获得了越来越多的关注,海外用户贡献了 30% 的 Issues 和 24% 的 Pull Requests;在使用社区版的用户中,海外用户占比超 30%,其中美国 16.9%,欧洲 8.1%,亚洲 6.1%(中国大陆以外地区)。

JuiceFS 社区版采用 “Apache 2.0” 许可,使用户可以放心将 JuiceFS 应用于各种商业环境。这不仅允许用户根据自身需求进行二次改进,还便于与上下游应用进行更深度的融合,共建云原生生态。在 v1.1 版本中,JuiceFS 和 Fluid 在数据迁移、目录配额和 JuiceFSRuntime 等方面进行了多项优化。

以下这些备受期待的功能将在未来的版本中逐步实现,欢迎大家一起来共建:

  • 分布式数据缓存
  • 支持 Kerberos 和 Ranger
  • 挂载点平滑升级
  • POSIX ACLs
  • 用户和组配额

🔗JuiceFS v1.1 下载链接https://github.com/juicedata/juicefs/releases/tag/v1.1.0

👀 升级注意事项https://juicefs.com/docs/zh/community/release_notes#juicefs-v11

在开源的两年多时间里,JuiceFS 走进了全球上百家企业,衷心感谢每一位社区成员! 谢谢你们反馈的问题、解答的疑问、贡献的代码、分享的实践经验,都让 JuiceFS 变得更强大、更易于使用。

Author

Juicedata Team
Builds the best file system for cloud.

相关博客

JuiceFS 社区版 v1.1- Beta 发布,新增五个实用功能

2023-06-12 Juicedata
JuiceFS v1.1-Beta 版本正式发布啦! 这是一个功能丰富的版本,带来了许多实用的新功能和改进。在这个版本中我们新增了以下功能: 目录配额、目录克隆、一键恢复回收站文件、一键收集…

JuiceFS v1.0 正式发布,首个面向生产环境的 LTS 版本

2022-08-10 Juicedata
今天我们非常高兴地发布 JuiceFS v1.0,它经过了 18 个月的持续迭代和大量生成环境的广泛验证,是第一个将被长期维护的稳定版(LTS),兼容之前发布的所有版本,用户可以直接升级

JuiceFS v1.0 RC1 发布,大幅优化 dump/load 命令性能, 深度用户不容错过

2022-06-16 Juicedata
JuiceFS v1.0 RC1 今天正式发布了!这个版本中,最值得关注的是对元数据迁移备份工具 dump/load 的优化。