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

相关文章

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

基于SpringBoot实现文件秒传功能

《基于SpringBoot实现文件秒传功能》在开发Web应用时,文件上传是一个常见需求,然而,当用户需要上传大文件或相同文件多次时,会造成带宽浪费和服务器存储冗余,此时可以使用文件秒传技术通过识别重复... 目录前言文件秒传原理代码实现1. 创建项目基础结构2. 创建上传存储代码3. 创建Result类4.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Python实战之屏幕录制功能的实现

《Python实战之屏幕录制功能的实现》屏幕录制,即屏幕捕获,是指将计算机屏幕上的活动记录下来,生成视频文件,本文主要为大家介绍了如何使用Python实现这一功能,希望对大家有所帮助... 目录屏幕录制原理图像捕获音频捕获编码压缩输出保存完整的屏幕录制工具高级功能实时预览增加水印多平台支持屏幕录制原理屏幕