FUSE,从内核到用户态文件系统的设计之路

FUSE(Filesystem in Userspace)是一个允许用户在用户态创建自定义文件系统的接口,诞生于 2001 年。FUSE 的出现大大降低了文件系统开发的门槛,使得开发者能够在不修改内核代码的情况下实现创新的文件系统功能。JuiceFS 就是基于 FUSE 构建的高性能分布式文件系统,充分发挥了 FUSE 的灵活性和扩展性。

为了更好地理解 FUSE 的设计理念,我们将首先回顾内核文件系统以及网络文件系统(如 NFS)的发展历程,这些技术的演进为 FUSE 实现用户空间文件系统功能奠定了重要基础。

在文章的最后,将介绍 JuiceFS 在使用 FUSE 过程中的实践。由于 FUSE 需要进行用户态与内核态之间的切换,这会带来一定的开销,并可能导致 I/O 延迟,因此许多人对其性能存在顾虑。从我们的实践经验来看,FUSE 在大多数 AI 场景下能能够满足性能需求,相关细节将在文章中阐述。

01 单机文件系统:内核态与 VFS

文件系统作为操作系统中的核心底层组件,负责频繁操作存储设备,因此最初的设计完全在内核空间中进行。“内核”这一概念的提出,是随着计算机硬件和软件日益复杂化,操作系统将底层资源管理的代码与用户程序进行分离的产物。

内核是拥有超级权限的代码,负责管理计算机的核心资源(如 CPU、内存、硬盘、网络等)。当内核代码运行时,程序进入内核态,可以完全访问和操作这些底层设备。由于内核态权限极高,其代码必须经过严格测试和验证,普通用户无法随意修改。

而与内核空间形成对应的是用户空间(User space),这部分代码就是我们平时常见的各种应用程序,像浏览器、游戏等。在用户空间里,程序的权限是受到严格限制的,不能直接访问底层的重要资源。

如果应用程序需要使用文件系统,必须通过操作系统设计好的接口来进行访问,比如我们常用的 OPEN、READ、WRITE 等,这些就是所谓的系统调用。系统调用的作用是搭建起用户空间和内核空间的桥梁。现代操作系统常常定义了数百个系统调用,每个调用都有自己明确的名称、编号和参数。

当应用程序调用系统调用时,它就会进入一段内核空间代码,等执行完毕后,再把结果返回给用户空间。值得注意的是,这个从用户态到内核态,然后再返回用户态的整个过程,它都属于同一个进程范畴。

在了解上述背景知识后,接下来我们将简要说明当用户调用文件系统接口时,用户态与内核态是如何实现交互的。

内核通过 VFS(virtual file system)封装了一套通用的虚拟文件系统接口,向上以系统调用的形式暴露给用户态,向下给底层的文件系统规定编程接口,底层文件系统需要按照 VFS 的格式来实现自己的文件系统接口。因此,用户态访问底层文件系统的标准流程一般是 系统调用-> VFS -> 底层文件系统 -> 物理设备。

例如,我们在应用程序中调用 open,它会携带一个路径作为它的参数。这个调用到达 VFS 层以后,VFS 会根据这个路径,在它的树状结构中逐级查找,最终找到一个对应的目标和它所属的底层文件系统,并且这个底层文件系统也有一个自己实现的 open 方法,然后把这个 open 调用传递给底层文件系统。

Linux 内核支持数十种不同的文件系统。对于内存或网络等不同的存储介质,会采用不同的文件系统来进行管理。最为关键的是,VFS 的可扩展性使得 Linux 系统能够轻松地支持多种多样的文件系统,以应对各种复杂的存储需求;同时,这种可扩展性也为后续 FUSE 在用户态实现调用内核态的功能提供了基础。

02 网络文件系统 NFS:首次突破内核态

随着计算需求的增长,单台计算机的性能逐渐无法满足日益增长的计算和存储要求。人们开始引入多台计算机,以分担负载并提高整体效率。

在这一场景下,一个应用程序往往需要访问分布在多台计算机上的数据。为了解决这一问题,人们提出了在网络中引入虚拟存储层的概念,将远程计算机的文件系统(如某个目录)通过网络接口挂载到本地计算机的节点上。这样做的目的是使本地计算机能够无缝地访问远程计算机的数据,就好像这些数据存储在本地一样。

具体来说,如果有一个需求是希望本地计算机能够访问远端的数据,那么可以将远端计算机的一个子目录通过网络接口虚拟出来,并挂载到本地计算机的一个节点上。在这个过程中,应用程序无需做任何修改,仍然通过标准的文件系统接口就可以访问这些路径,就像访问这些节点上的本地数据一样。

当应用程序对这些网络路径进行操作(如逐级目录查找)时,这些操作会被转化为网络请求,以 RPC(远程过程调用)的形式发送到远端计算机上执行。远端计算机在接收到这些请求后,会进行相应的操作(如查找文件、读取数据等),并将结果返回给本地计算机。

上述过程,就是一个简易的 NFS 协议实现,作为一种网络文件系统协议,NFS 为多台计算机之间的资源共享提供了高效的解决方案,用户可以像操作本地文件系统一样方便地挂载和访问远程文件系统。
传统的文件系统通常是整个体系都运行在单机的内核态,而 NFS 首次打破了这一限制,服务端的实现结合了内核态与用户态。后续 FUSE 的设计,正是受到这一思路的启发。

03 FUSE:从内核到用户态的文件系统创新

随着计算机技术的不断发展,许多新兴业务场景需要使用自定义文件系统。传统的内核态文件系统存在实现难度高和版本兼容性问题。NFS 的架构首次使文件系统突破了内核的限制。

基于此,有人提出了一个构想:是否可以将 NFS 网络协议移植到单机端,将服务端功能转移到用户态进程,同时保留客户端在内核中运行,用系统调用代替网络通讯,从而在用户态实现文件系统功能?这一想法最终催生了 FUSE(filesystem in userspace)的诞生。

在 2001 年,匈牙利的计算机学家 Miklos Szeredi 推出 FUSE,这是一种为开发者提供的框架,允许在用户空间实现文件系统。FUSE 的核心分为两个部分:内核模块和用户态库(libfuse)。

其内核模块作为操作系统内核的一部分,负责与 VFS 交互,将来自 VFS 的文件系统请求转发到用户态,并将用户态的处理结果返回给 VFS。这种设计使得 FUSE 能够在不修改内核代码的情况下,实现自定义文件系统的功能。

FUSE 的用户态库(libfuse)提供了与 FUSE 内核模块交互的 API 库,可以帮助用户实现一个运行在用户空间的守护进程(daemon)。守护进程负责处理来自内核的文件系统请求,并实现具体的文件系统逻辑。

在具体的实现中,用户态的守护进程(Daemon)与内核模块通过以下步骤协作完成文件操作:

请求接收

  1. 内核模块会注册一个*字符设备(/dev/fuse)作为通信通道。守护进程通过调用 read() 函数主动从该设备读取请求:
  2. 若内核的 FUSE 请求队列为空,read() 会进入阻塞状态,此时守护进程暂停执行并释放 CPU,直到队列中出现新请求(通过内核的等待队列机制实现)。
  3. 当应用程序发起文件操作(如 open、read)时,内核模块将请求封装为特定格式的数据包,并插入请求队列,唤醒阻塞中的守护进程。

请求处理
守护进程从字符设备中读取到请求数据包后,根据操作类型(如读、写、创建文件)调用对应的用户态处理函数。

结果返回
处理完成后,守护进程将结果(如读取到的文件内容或错误码)按照 FUSE 协议格式序列化,并通过 write() 将数据包写回字符设备。

内核模块接收到响应后:

  1. 解析数据包内容,将结果传递给等待中的应用程序;
  2. 唤醒应用程序中被阻塞的系统调用,使其继续执行后续逻辑。

FUSE 的出现为文件系统的开发带来了革命性的变化,通过将文件系统的实现从内核态迁移到用户态,FUSE 大幅降低了开发的难度,提升了系统的灵活性和可扩展性,使其广泛地被应用于多种场景,如网络文件系统、加密文件系统以及虚拟文件系统等。

04 JuiceFS :FUSE 用户态分布式文件系统

2017 年,IT 基础设施全面进入云时代,架构面临前所未有的挑战,在此背景下,JuiceFS 诞生。作为一款基于对象存储的分布式文件系统,选择采用 FUSE 技术来构建其文件系统架构,以 FUSE 灵活的扩展性来应对云计算环境中的多样化需求。

通过 FUSE,JuiceFS 文件系统能够以 POSIX 兼容的方式挂载到服务器,将海量云端存储直接当做本地存储来使用,常见的文件系统指令(如 ls、cp、mkdir 等)都可以用来管理 JuiceFS 中的文件和目录。

以用户挂载 JuiceFS 后,open 其中一个文件的流程为例。请求首先通过内核 VFS,然后传递给内核的 FUSE 模块,经过 /dev/fuse 设备与 JuiceFS 的客户端进程通信。VFS 和 FUSE 的关系可以简单的看做客户端-服务器协议,VFS 作为客户端请求服务,用户态的 JuiceFS 扮演着服务器端的角色,处理这些请求。

具体步骤如下:

  1. 当 JuiceFS mount 后,JuiceFS 内部的 go-fuse 模块会 open /dev/fuse 获取 mount fd,并启动几个线程读取内核的 FUSE 请求;
  2. 用户调用 open 函数,通过 C 库和系统调用进入 VFS 层,VFS 层再将请求转给内核的 FUSE 模块;
  3. 内核 FUSE 模块根据协议将 open 请求放入 JuiceFS mount 的 fd 对应的队列中,并唤醒 go-fuse 的读请求线程,等待处理结果;
  4. 用户态的 go-fuse 模块读取 FUSE 请求并在解析请求后调用 JuiceFS 的对应实现;
  5. go-fuse 将本次请求的处理结果写入 mount fd,即放入 FUSE 结果队列,然后唤醒业务等待线程;
  6. 业务线程被唤醒,得到本次请求的处理结果,然后再返回到上层。

由于 FUSE 依赖于用户空间与内核之间的频繁切换,许多人对其性能表现存有疑虑,实际上并非完全如此,我们使用 JuiceFS 进行了一组测试。

在一台1.5T内存、Intel Xeon 架构176核的机器上的 JuiceFS 文件系统中创造一个 512G 的空洞文件,然后使用 fio 对其进行顺序读测试(挂载参数详情, fio 命令详情),这样可以排除硬件磁盘的制约,测试出 FUSE 文件系统相对极限的带宽。

  • 可以看到单挂载点下的单线程带宽可以达到 2.4 GiB/s;
  • 随着线程的增加,带宽基本可以实现线性增长,在 20 线程时达到了 25.1 GiB/s,这个吞吐量已经可以满足绝大部分实际业务场景。

在 FUSE 相关的使用上,JuiceFS 实现了平滑升级功能。通过保证 mount fd 的一致性,让用户可以在不需要重新挂载文件系统、不中断业务的情况下,升级 JuiceFS 版本或修改挂载参数,详情请参考平滑升级功能详解,不停服即可更新。

FUSE 也存在一些局限性,比如进程访问 FUSE device 需要很高的权限,尤其在容器环境中,通常需要开启特权模式。另外,容器通常是短暂且无状态的,如果容器意外退出,并且数据没有及时落盘,会存在数据丢失的风险。因此针对 Kubernetes 场景,JuiceFS 提供了 CSI 驱动使得业务可以以非特权容器访问 JuiceFS 文件系统,并且 CSI 驱动管理 FUSE 进程的生命周期,确保数据能够及时落盘不会出现丢失的问题。Kubernetes 数据持久化:从零开始使用 JuiceFS CSI Driver

05 小结

FUSE 通过将用户空间与内核空间解耦,为开发者提供了在用户空间实现文件系统的巨大灵活性和便利性。特别是在云计算和分布式存储等现代计算环境中,FUSE 使得构建和维护复杂的存储系统变得更加高效、可定制和易于扩展。

JuiceFS 正是基于 FUSE,在用户空间实现了高性能的分布式文件系统。未来,我们将继续深入探索 FUSE 的优化方法,不断提升文件系统的性能与可靠性,以应对日益复杂的存储需求,为用户提供更强大的数据管理能力。

希望这篇内容能够对你有一些帮助,如果有其他疑问欢迎加入 JuiceFS 社区与大家共同交流。

相关推荐

从 Meta 的工程实践看 EB 级 AI 存储架构

Meta 的 AI 存储架构展示了超大规模互联网公司将数据基础设施扩展到数百 EB 后形成的一种架构模式。从两套系统的设计来看,Meta BLOB Storage 与 JuiceFS 在若干关键方面呈现出明显共性:数据与元数据分离、由富客户端处理 I/O 逻辑、多级缓存以及跨地域能力。这种架构模式并不只适用于超大规模公司。JuiceFS 通过对象存储、可选元数据引擎、分布式缓存和跨地域镜像等组件,将类似设计用于大数据与 AI 场景,并支持多云环境和多种访问协议。

JuiceFS的博客 153

HeyGen:如何让全球 10+ GPU 集群训练不再等待数据?

HeyGen 是一家 AI 视频生成与数字人平台,用户超过 3,000 万,覆盖 196 个国家,并被 85% 的 Fortune 100 企业采用。本文分享 HeyGen 团队基于 JuiceFS 企业版的存储实践:通过统一文件命名空间和多级缓存预热,优化推理业务中模型与依赖的分发和加载;同时利用 RDMA 的高带宽传输,结合数据集批次预加载,减少训练过程中的 GPU 等待。该架构已在生产环境运行一年以上,支撑约 6 PB 数据、约 10 亿个 inode 和 1,000–2,000 个客户端节点。

JuiceFS的博客 226

面向 EB 级 AI 存储:JuiceFS 企业版架构演进

当 AI 业务的数据规模从 PB 走向 EB,文件系统面对的就不再是单一的容量问题。文件数增长到千亿级,客户端从几千个扩展到几十万甚至百万个,训练吞吐持续提高,数据回收、跨云访问、多租户隔离和日常运维等压力也随之放大。这些压力最终落在元数据引擎、数据生命周期、数据路径以及客户端与控制面四条技术主线上。上一篇介绍了。本文聚焦 JuiceFS 企业版,介绍这四条技术主线如何在 EB 级数据、千亿文件和百万级客户端的规模压力下持续演进。

JuiceFS的博客 154

JuiceFS 企业版 5.4:从千亿文件到百万客户端

继 JuiceFS 企业版 v5.3 支撑千亿文件规模之后,v5.4 进一步在超大规模场景下提升多项能力。千亿文件规模下,单次操作的细小开销也会累积成显著的资源负担,元数据分区部署后需要协调不同节点,兼顾性能、数据一致性与稳定性。

JuiceFS的博客 148

卓驭:百 PB 级智驾数据存储架构演进

稳定入口:通过统一访问层屏蔽底层存储差异,使存储扩容和部署调整尽量不影响业务接入。共享热点:通过分布式缓存跨节点复用数据,减少任务迁移、扩容和多副本读取中的重复回源。主动就绪:通过 Fluid 编排和 API 控制,让数据在业务消费前完成准备,以数据就绪状态衔接任务运行。这三条路径共同支撑了百 PB 级集群上的数据交付,百 GB 级以上的性能需求,也降低了存储运维与业务协同成本。目前,我们仍在持续优化缓存编排、网络传输和数据格式,让数据更快就绪、减少算力等待,为智驾研发提供更稳定的存储底座。

JuiceFS的博客 142

Nydus + JuiceFS:AI 推理容器镜像加载从 116 秒降至 1.4 秒

在大规模 AI 推理服务中,当集群扩容时,新增推理实例从创建到承接请求,需要经历容器镜像准备、文件系统挂载、运行环境与推理框架初始化、模型权重加载等一系列冷启动过程。随着镜像体积和模型权重规模不断增长,数据准备的耗时日益突出;大规模扩容时,大量实例同时启动,还会进一步增加 Registry、网络和后端存储的并发压力。针对这些问题,行业已经形成了多种优化思路,包括缩小镜像体积、通过 P2P 分发缓解并发拉取压力,以及通过按需加载减少启动关键路径上的数据传输。。

JuiceFS的博客 227

Agent 一切状态皆文件:哈啰 AI 基建中的 JuiceFS 存储实践

随着 AI 业务发展,哈啰需要同时支撑模型训练、数据处理和 Agent 等多类负载。针对原有多套系统并存带来的数据分散、访问方式不统一和跨云流转复杂等问题,其中,Agent 已成为重要的业务形态,并已覆盖多个实际业务场景;面向员工的个人 Agent“贾维斯·龙虾”也已在内部落地。与训练场景主要关注高性能 I/O 和海量文件访问不同,Agent 更关注任务过程中的数据流转、状态保存和结果沉淀。

JuiceFS的博客 230

腾讯云 x JuiceFS:基于 FoundationDB 的企业级统一存储实践

随着大数据和 AI 业务发展,越来越多企业开始从存算一体架构转向存算分离架构。但在实际落地中,企业往往同时使用 COS、OBS、S3、HDFS 等多类存储系统,不同后端在协议、鉴权、文件系统语义和元数据性能上存在差异,给统一接入、数据利旧和缓存加速带来了挑战。针对这些问题,腾讯云团队基于 JuiceFS + FoundationDB 构建了一套企业级统一存储方案,既能为新建文件系统提供完整的 POSIX 语义,也能将已有对象存储和 HDFS 数据纳入统一命名空间,实现存量数据的统一访问与缓存加速。

JuiceFS的博客 306

GPFS、Alluxio、JuiceFS 怎么选?一文看懂架构与适用场景

AI 工作负载的存储需求很难用单一指标衡量。训练、推理、模型分发、Agent 和数据湖等场景,对吞吐、延迟、并发访问、POSIX 兼容性、一致性、成本和运维复杂度的要求各不相同。因此,AI 存储选型需要回到具体业务场景,而不是简单比较“性能更高”或“成本更低”。这篇文章会先从 AI 工作负载的典型 I/O 模式出发,梳理不同业务对存储系统提出的实际挑战;

JuiceFS的博客 239

【无标题】JuiceFS 社区版 1.4 发布:让海量数据管理更低成本、更高效、更可控

JuiceFS 社区版 1.4 今日正式发布,这是自 2021 年推出开源版本以来的第五个重要版本。该版本为长期支持版本(LTS),我们将继续维护 v1.4 和 v1.3,v1.2 将停止更新。目前,JuiceFS 在 GitHub 上已获得超过 14.2K Stars。。随着 JuiceFS 被用于更多大规模数据管理、高并发访问和多用户共享场景,成本控制、元数据效率和资源治理等长期关注的问题进一步凸显,也成为 JuiceFS 1.4 重点优化的方向。

JuiceFS的博客 316

JuiceFS PB 级数据同步优化:断点续传、安全与带宽控制

在数据迁移、跨云同步与对象存储备份等场景中,常用于执行大规模数据同步任务。当数据规模达到 TB 到 PB 级、对象数量达到数百万甚至数十亿级时,单次任务执行周期通常会延长到数小时甚至数天。围绕这些场景,JuiceFS 1.4 在sync中提供了三项能力增强:断点续传、数据加解密,以及全局流量控制。本文将围绕这三项能力,介绍其适用场景、实现机制和使用方式。

JuiceFS的博客 231

42 倍小文件性能提升、85% 吞吐增长:多云 AI 场景下的 JuiceFS 存储实践

星辰征途是一家聚焦 AI 搜索与电商场景多模态 AIGC 应用的初创公司,成立两年多,业务主要面向海外市场。公司目前的主要产品包括:Gensmo(gensmo.com) 聚焦时尚穿搭,提供虚拟试穿、造型推荐和商品搜索;ZooClaw(zooclaw.ai) 面向更广泛的生活与工作场景,提供 AI Agent 服务。本文将介绍星辰征途业务背后的存储实践,分享我们在统一存储选型、架构设计和性能调优中的思考与经验。

JuiceFS的博客 239

JuiceFS 1.4|大规模元数据操作优化:批量删除、克隆与 Redis 缓存全解析

在 AI 训练、数据集管理等大规模文件访问场景中,随着文件数量和访问并发增加,元数据层往往更早成为性能瓶颈。无论是删除百万级小文件、克隆大规模数据集,还是高并发目录遍历,元数据引擎的响应能力都会直接影响上层业务效率。

JuiceFS的博客 343

共绩科技:跨云弹性推理场景下,模型分发如何跟上算力调度

弹性算力要稳定承接生产流量,不能只依赖计算调度,还需要模型数据和热点数据在跨云、跨集群环境中保持稳定访问。基于 JuiceFS,共绩科技将对象存储、统一命名空间、元数据管理、分布式缓存和 FUSE 挂载能力组合起来,形成了一套面向弹性推理场景的对象存储加速方案。它并不是简单地把对象存储挂载成文件系统,而是围绕模型推理的访问模式,提供可预热、可缓存、可隔离、可治理的数据访问层。以上是共绩科技在弹性算力与跨云存储加速方向上的阶段性探索和实践。

JuiceFS的博客 216

降低数据存储成本:JuiceFS v1.4 分层存储设计解析

JuiceFS 社区版 1.4 增强了分层存储能力,支持以单文件或目录为粒度指定对象存储类型,使用户可以在文件系统语义下管理不同数据的存储层级。本文将围绕这一能力,介绍其应用背景、方案演进、使用模型、实现思路以及后续演进方向。

JuiceFS的博客 571

AI 战略下架构演进:小米基于 JuiceFS 的统一存储实践

在统一文件存储基座之上,我们将进一步建设面向业务的数据管理能力,帮助用户更清晰地理解数据分布、访问行为和资源使用情况,为后续的数据治理、成本优化和业务决策提供支撑。以上是小米在统一文件存储基座建设中的阶段性实践。我们也期待与业界同行持续交流,共同探索更多技术实践。我们希望本文中的一些实践经验,能为正在面临类似问题的开发者提供参考,如果有其他疑问欢迎加入。

JuiceFS的博客 545

分布式架构下配额设计:JuiceFS 的实现与典型案例

在分布式存储环境中,存储资源通常由多个用户、项目和业务共享使用。如果缺乏有效的约束机制,单一主体的异常写入或误操作,可能迅速消耗大量空间或 inode,进而影响系统稳定性与成本控制。配额管理正是为共享环境建立可预测资源边界的重要手段。但在分布式系统中,配额管理并不只是“设置上限”这么简单。系统需要在多客户端并发写入、元数据异步更新和整体吞吐之间取得平衡;同时,配额规则也需要落实到不同层级的管控对象上。

JuiceFS的博客 401

浅析 Amazon S3 Files:工作机制、性能边界与 JuiceFS 对比

4 月 7 日,AWS 官方发布了一项新服务——Amazon S3 Files,允许用户无需搬迁数据,即可将 S3 存储桶作为高性能共享文件系统挂载到计算节点上。这不是业界第一次尝试让 S3 以文件系统方式被访问:从早期的 s3fs,到 AWS 后来推出的 Mountpoint for Amazon S3,再到今天的 S3 Files,S3 “像文件系统一样被访问”这条路,其实已经走了很多年。

JuiceFS的博客 442

一文解锁 JuiceFS 在 AI 场景中的性能优化

大模型训练的算力规模持续扩张,GPU 算力不断提升的同时,数据访问瓶颈对系统整体性能的影响愈发突出。本地存储性能优异但扩展性有限,对象存储在成本与扩展性上具备优势,却在海量小文件、高并发场景下面临吞吐不足的问题,团队往往需要在二者之间艰难取舍。为此,分布式文件系统成为平衡高性能与可扩展性的关键方案。JuiceFS 已在多行业 AI 场景中广泛落地,其分布式架构能够在大规模数据访问场景下,同时兼顾高性能、强扩展与低成本。

JuiceFS的博客 381

ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优

相比 x86,Arm 的应用范围不断扩大,已从移动端延伸至 IoT、可穿戴设备、PC、汽车和服务器,其高能效比(performance per watt)是广泛采用的关键原因。从架构设计上看,Arm 属于 RISC(Reduced Instruction Set Computer,精简指令集计算机),x86 属于 CISC(Complex Instruction Set Computer,复杂指令集计算机)。这种设计差异也影响了处理器的执行方式。

JuiceFS的博客 342

韩国国民搜索 NAVER:使用 JuiceFS 打通 Hadoop 与 Kubernetes 存储实践

本文探讨了 JuiceFS 在 Hadoop 环境中的使用方法及其优势,而在部分业务场景下,直接采用 HDFS 或对象存储会是更适配的选择。例如,当业务需要依托数据本地性实现高效快速处理时,建议将数据存储于 HDFS 中;此外,针对访问频率较低的数据,或采用 Iceberg 等专为对象存储优化的数据格式时,直接使用对象存储则更为简便。需在 Kubernetes 与 Hadoop 环境之间实现数据共享时;希望在不修改现有 Hadoop 应用代码的前提下,与 HDFS 并行部署使用时;

JuiceFS的博客 608

海量小文件 + 多云协同:地瓜机器人 JuiceFS 存储优化之路

地瓜科技成立于 2024 年,由地平线机器人事业部拆分组建,专注于消费级机器人底层计算平台的研发;此外,地瓜科技在 2025 年还发布了具身智能基座模型。在机器人数据管理和训练推理中,数据量庞大,使用对象存储时面临小文件、多云数据管理等挑战,在尝试了百度云 BOS、阿里云 CPFS 和将私有 MinIO 替换为 SSD 存储后,方案在应对上述挑战时仍然面临困难。地瓜机器人最终选择了 JuiceFS 作为核心存储解决方案。JuiceFS 对跨云业务的天然适配能力,能够高效支持多云环境中的数据共享需求。

JuiceFS的博客 542

JuiceFS 企业版 5.3 特性详解:单文件系统支持超 5,000 亿文件,首次引入 RDMA

JuiceFS 企业版 5.3 近日发布,单文件系统支持超 5,000 亿文件,实现里程碑式突破。此次升级针对元数据多分区架构进行了多项关键优化,并首次引入 RDMA 技术,以提升分布式缓存效率;此外,5.3 版本还增强了可写镜像,为跨桶导入的对象提供数据缓存等多项功能,旨在支持高性能要求及多云应用场景。JuiceFS 企业版专为高性能场景设计。自 2019 年起开始应用于机器学习领域,现已成为 AI 行业核心基础设施之一。商业客户涵盖大模型公司:MiniMax、智谱 AI、阶跃星辰;

JuiceFS的博客 700

仅两台缓存节点,如何支撑 1.45TB/s 大吞吐业务

随着面向大规模并发读取与数据分发的业务需求增加,如影视渲染等场景,传统存储方案(如 NAS)在并发客户端数量增加时,往往需要投入更多缓存资源;为了提升响应时效,通常还需提前进行数据预热,不仅带来额外的时间开销,也进一步加重了资源负担。JuiceFS 作为一种基于对象存储的分布式文件系统,通过其高性能架构,利用分布式缓存聚合吞吐量并降低延迟,能够在大规模客户端并发读取时提供高效支持。

JuiceFS的博客 806

3D-AIGC 存储架构演进:从 NFS、GlusterFS 到 JuiceFS

光影焕像(Lightillusions)是一家专注于空间智能技术,结合 3D 视觉、图形学和生成模型技术,致力于打造创新的 3D 基础模型公司。公司由谭平教授领导,谭教授曾担任阿里巴巴达摩院实验室负责人,目前是香港科技大学的教授,同时担任冯诺伊曼人工智能研究室副院长,并是香港科技大学与比亚迪联合实验室的主任。区别于二维模型,三维模型单个模型的大小可达几 GB,尤其是点云数据等复杂模型。当数据量达到 PB 级别时,管理与存储成为巨大的挑战。

JuiceFS的博客 444

JuiceFS 2025:迈入千亿文件规模,开源第五年持续高速增长

又到了给大家汇报全年社区工作的时候。2025 年, JuiceFS 企业版发布的第九年,社区版的第五年。这一年,我们专注一如既往,打造一款高效易用的文件系统。各项使用指标延续了上一年的增长势头,,是我们持续投入社区的坚实保障。2025 年,JuiceFS 社区版继续聚焦通用性,尤其在支持各类 AI 场景的需求。发布了 Python SDK、增强 Windows 客户端可用性,并加强了对云原生生态的支持;此外,元数据引擎 SQL 和 TiKV 也进行了针对性优化。

JuiceFS的博客 1173

JuiceFS + MinIO:Ariste AI 量化投资高性能存储实践

Ariste AI 是一家专注于 AI 驱动交易的公司,业务涵盖自营交易、资产管理、高频做市等多个领域。在量化交易研究中,数据的读取速度和存储效率,往往直接决定了研究迭代的速度。Ariste AI 团队在构建量化研究基础设施的过程中,面对总规模超过 500TB,行情与因子数据,经历了从本地盘到最终选择在 MinIO 对象存储之上叠加 JuiceFS 文件系统的四个阶段。通过缓存机制与分层架构,团队实现了高频数据的快速访问与集中管理。,希望这一经验能为同行提供一些参考。

JuiceFS的博客 1135

JuiceFS sync 原理解析与性能优化,企业级数据同步利器

是一款强大的数据同步工具,支持在对象存储、JuiceFS、本地文件系统之间进行数据同步。sync 能将大规模全量迁移的效率提升到接近链路带宽上限,使 PB 级数据迁移通常具备“按天/周”量级的可行性(具体时长取决于带宽与云端限速)除此之外,还支持通过 SSH 访问远程目录、HDFS、WebDAV 等,同时提供增量同步、模式匹配(类似 rsync)、分布式同步等高级功能。本文将围绕 sync 的核心执行原理展开,介绍其在单机与集群模式下的架构与任务调度机制,并详细说明如何通过并发优化提升性能。

JuiceFS的博客 526

NAS、对象存储与 JuiceFS:百亿量化基金的存储选型实践

在量化投研过程中,因子数据、交易策略等敏感信息的保护至关重要。存储系统必须提供强大的模块化访问权限管理机制,保障数据的隐私与安全性。此外,随着越来越多的数据存储转向云环境,数据加密、审计和合规管理等功能成为必须提供的安全措施,以确保敏感数据在云上安全存储和访问。

JuiceFS的博客 812

深入解析 JuiceFS 垃圾回收机制

JuiceFS的垃圾回收机制背后的执行流程相对复杂,用户难以直观理解文件状态变更和资源释放的时机。为帮助用户深入理解文件删除与存储回收的内部逻辑,本文将系统梳理垃圾回收的关键流程与实现原理,解析常见问题的成因,并提供高效清理与运维的操作建议。

JuiceFS的博客 887
上一篇: 加速 AI 训推:Lepton AI 如何构建多租户、低延迟云存储平台
下一篇: 稳定且高性价比的大模型存储:携程 10PB 级 JuiceFS 工程实践
Juicedata
Juicedata Juicedata 官方帐号 Juicedata 官方帐号
博客等级 码龄5年 698粉丝 187原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值