JuiceFS 社区版 v1.2 发布,新增企业级权限管理、平滑升级功能

本文主要是介绍JuiceFS 社区版 v1.2 发布,新增企业级权限管理、平滑升级功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JuiceFS 社区版 v1.2 今天正式发布,这是自 2021 年开源以来的第三个大版本。v1.2 也是一个长期支持版本(LTS)。我们将持续维护 v1.2 以及 v1.1 这两个版本,v1.0 将停止更新。

JuiceFS 是为云环境设计的分布式文件系统,支持超过 10 种元数据引擎和 30 种以上的数据存储引擎。这些丰富的选择使得用户可以灵活应对多变的企业环境和数据存储需求;同时,JuiceFS 兼容多种访问协议,包括 POSIX、HDFS、S3 和 WebDAV,并可在 Kubernetes 中作为持久卷(PV)使用,从而确保数据在不同应用间能够自由流通。

JuiceFS 社区版采用 “Apache 2.0” 许可,允许用户根据自身需求进行二次改进,用户可以放心将 JuiceFS 应用于各种商业环境。

新功能概览

在过去几年中,JuiceFS 社区版在多个行业和场景中得到广泛应用,尤其是在 AI 和大模型领域。为了应对这些大规模数据场景中的复杂权限管理问题,最新的 1.2 版本中引入了多项新特性,并对一些原有功能进行了优化:

  • 支持 POSIX ACL:通过使用 Linux 自带的 ACL 工具(setfacl/getfacl)可以实现更加强大的用户权限管理;

  • 支持平滑升级:可在相同挂载点再次挂载 JuiceFS ,实现业务无感的平滑升级;此外,这种方式也支持在线调整挂载参数;

  • S3 Gateway 高级功能:新增了“身份和访问管理(Identity and Access Management,IAM)” 与 “事件通知” ,提供更安全、灵活和自动化的数据管理和监控能力,适用于多用户环境和复杂的业务场景;

  • JuiceFS Sync 优化:增强了选择性同步功能,并对多个场景进行了性能优化,以提高大目录和复杂迁移任务的数据同步效率。

适应更多场景

新支持 NFS/Dragonfly/Bunny 作为对象存储,便于用户根据场景需求灵活选择后端存储。目前, JuiceFS 已支持 40+ 对象存储。

更稳定

  • 客户端缓存支持自动坏盘检测和隔离。JuiceFS 利用客户端的本地硬盘进行数据缓存,能有效提升大部分场景下的数据访问速率。新版本中 JuiceFS 新加入了坏盘自动检测和隔离功能,使系统在遇到硬件异常时仍能保持稳定性能,减少对业务的影响;

  • dump 命令和元数据自动备份优化,以改善元数据导出性能。在原来的实现中,为了能更快地将所有元数据导出,客户端会先将所有的键值对加载到内存中,这在较大规模的文件系统中给系统带来了很大的内存压力。在新版本中 JuiceFS 会根据文件数自动选择策略,在其总数大于十万时采用较缓和的逐文件导出的方式。同时,为了兼顾速度,此策略在实现中加入了多并发预取的特性。

更易用

  • 新增 juicefs compact 命令,允许用户手动对指定路径进行 compact 操作。在之前版本中,用户可使用 juicefs gc --compact命令执行全局的 compact 操作,从而在必要时尝试减少对象存储的容量使用。但是,当文件系统规模比较大时,gc 命令往往需要运行很久,用户体验较差。新的 compact命令增强了运维的灵活性;

  • juicefs mount 命令新增 --cache-expire选项,该参数允许用户来指定本地数据缓存的有效时间,一旦设定的时间到期,相关缓存数据将自动被删除。相较于原来只能在缓存盘达到容量阈值时才触发缓存清理,此选项为用户带来了更灵活的缓存管理选项;

  • juicefs warmup 命令优化,支持手动清理指定路径的缓存块,以及检查指定路径的已有缓存比例。这将方便用户能更可靠有效地管理客户端数据缓存,提升业务的缓存命中率;

  • gateway/webdav 支持后台运行,这一改进使得用户可以将其作为守护进程在后台运行,从而提高服务的可用性和稳定性,用户可以更轻松地集成和使用 JuiceFS 在多种网络环境中;

  • 多项易用性优化,如:命令行参数支持更人类友好的格式(如直接使用 128K、4M 等字符串指定分块大小),更多的监控指标,更可靠的 debug 信息收集命令等。

开源第四年,持续快速发展

JuiceFS 社区版于 2021 年 1 月正式开源,目前在 GitHub上已获得 10K 星标 。这个版本新增 issue 数量 410 个,合并的 PR 数量为 464 个,贡献者人数 44 人。

匿名上报数据显示,用户各项指标继续快速增长。中文社区已建立了 7 个微信群,人数超 3000。海外用户规模也在稳步增长,根据最新的用户下载 IP 数据,海外用户占比近 50%,其中美国 33%,欧洲 10%,亚洲(不包括中国大陆) 5%。

新增应用案例:

  • 贝壳找房:为 AI 平台打造混合多云的存储加速底座

  • 知乎:多云架构下大模型训练,如何保障存储稳定性

  • BentoML:如何使用 JuiceFS 加速大模型加载

  • 基于 JuiceFS 的大数据平台上云:存储成本省 85%,性能媲美 HDFS

  • 韩国国民搜索 NAVER:为 AI 平台引入存储方案 JuiceFS

  • 机器人行业数据闭环实践:从对象存储到 JuiceFS

  • 基于JuiceFS 的低成本 Elasticsearch 云上备份存储

  • JuiceFS 在自动驾驶行业多云架构中的实践

  • 小米云原生文件存储平台化实践:支撑 AI 训练、大模型、容器平台多项业务

点击此处查看用户案例合集

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

  • 分布式数据缓存

  • 支持 Kerberos 和 Ranger

  • 用户和组配额

JuiceFS v1.2下载链接:https://github.com/juicedata/juicefs/releases/tag/v1.2.0

在开源的第四年,JuiceFS 从一个新兴品牌成长为大家熟悉的产品,应用场景从支持 Hadoop 上云扩展到 AI 训练、推理等领域。JuiceFS 能成为许多人日常工作的一部分,我们感到非常荣幸。这些都离不开每一位社区成员的参与,感谢你们反馈的问题、解答问题、贡献代码、分享实践经验!

这篇关于JuiceFS 社区版 v1.2 发布,新增企业级权限管理、平滑升级功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083131

相关文章

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Java CompletableFuture如何实现超时功能

《JavaCompletableFuture如何实现超时功能》:本文主要介绍实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的,需要的... 目录基本思路CompletableFuture 的实现1. 基本实现流程2. 静态条件分析3. 内存泄露 bug

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.