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 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

基于Java和FFmpeg实现视频压缩和剪辑功能

《基于Java和FFmpeg实现视频压缩和剪辑功能》在视频处理开发中,压缩和剪辑是常见的需求,本文将介绍如何使用Java结合FFmpeg实现视频压缩和剪辑功能,同时去除数据库操作,仅专注于视频处理,需... 目录引言1. 环境准备1.1 项目依赖1.2 安装 FFmpeg2. 视频压缩功能实现2.1 主要功