版本 更新
本文档记录 JuiceFS 云服务的版本发布历史,如果你想了解 JuiceFS 社区版的版本发布历史请查看 GitHub。
JuiceFS 客户端保持良好的向前、向后兼容性,但对于大版本刚刚发布之时(对于 JuiceFS 而言,5.1 → 5.2 就属于大版本更新),新版可能存在少量兼容性问题。如果需要回滚大版本,请参考 juicefs version
JuiceFS 5.4.4 (2026/10/19)
- 新增
- 支持配置仅针对指定目录记录审计日志
- 支持在使用
/sbin/mount.juicefs挂载时与社区版客户端共存 - Python SDK: 支持从自定义
passwd和group文件加载用户和用户组映射,并支持配置更多缓存与预读参数
- 改进
- mount: 优化缓存节点扩容(commission)期间的缓存未命中问题
- mount: 优化缓存节点下线(decommission)期间的数据缓存与请求转发行为
- mount: 加快处理缓存节点拓扑变更事件,并异步调整一致性哈希环
- mount: 避免碎片整理任务占满对象存储的并发上传限制
- mount: 避免使当前正在写入的文件描述符对应的内核页缓存失效
- mount: 当镜像节点状态滞后(stale)时清理客户端的元数据缓存
- mount: 升级客户端时优先检查
mount.gz的修改时间,并优化升级日志 - heal: 对镜像文件系统仅执行从源端到镜像端的单向数据同步,并统一后台复制与修复的统计指标
- debug: 新增
--file-limit选项以限制诊断结果压缩包的大小,并在收集内核栈时附带线程 ID(tid)
- Bug 修复
- mount: 修复覆盖重命名(rename)与
open或getattr并发时可能误报ENOENT错误的问题 - mount: 修复缓存节点重平衡大量数据时字节计数器溢出的问题
- dump: 修复导出为压缩文件时进度条不更新的问题
- find: 修复使用
--follow-links(-L)遍历被拆分的目录时因数据竞争导致结果缺项的问题 - RDMA: 修复新建连接失败时可能出现的空指针引用问题
- RDMA: 修复
rdma_disconnect失败时未继续释放连接资源的问题
- mount: 修复覆盖重命名(rename)与
JuiceFS 5.4.3 (2026/9/22)
- 新增
- mount: 新增
--commission选项,用于平滑新增缓存组节点 - heal: 支持检查和修复指定目录的复制数据
- mount: 新增
- 改进
- 增加数据复制时访问本地对象存储的指标
- find: 提升输出结果的性能
- mount: 改进缓存节点的批量上线能力,避免上线期间大量缓存失效
- 仅对镜像文件系统做单向数据同步
- 改进数据同步时同步数据量指标的准确性
- 允许在线调整客户端挂载参数
- 改进元数据代理的稳定性
- 预热时同时遵守后台任务和对象存储带宽的限制
- Bug 修复
- 解决 RDMA 建立连接失败的问题
- 修复关闭 RDMA 连接时可能导致死锁的问题
- 解决平滑升级只读的旧版本客户端导致两层挂载点的问题(5.4.1 引入)
- 修复使用 fstab 挂载导致提取诊断信息失败的问题
- 修复根目录被拆分时的白名单失效的问题
- 修复缓存盘之间迁移数据时遇到意外后可能产生不完整缓存数据的问题
- 处理共享块设备时端口监听失败的问题
JuiceFS 5.4.2 (2026/9/2)
- 新增
- 支持为 token 设置可访问的目录白名单功能
- 支持为镜像文件系统设置按需从源端同步数据对象的功能
- 改进
- mount: 新增
blockdev-port选项以指定块设备的监听端口 - mount: 自动优化操作系统的网络配置参数,以更好地支持短连接
- mount: 优化缓存节点的连接管理方式,以更好地应对高压力场景
- mount: 优化缓存节点在高内存压力下的长尾延迟问题
- mount: 隐藏系统挂载选项中的 token 值
- mount: 支持读取配置文件中的加密 token
- mount: 忽略由碎片整理触发的
Get请求对象不存在错误 - warmup: 支持仅预热文件中的指定区间
- sync: 自动更新本地过期的配置文件
- RDMA: 改进在多网卡环境下建立连接的稳定性
- mount: 新增
- Bug 修复
- mount: 修复缓存文件异常时可能导致进程崩溃的问题
- mount: 修复平滑升级过程中部分请求可能被中断的问题
- mount: 修复文件句柄的统计指标可能为负数的问题
- restore: 修复进度条中未统计失败条目的问题
- find: 修复遍历被拆分的目录时可能遗漏部分文件的问题
- 修复在尝试写兼容模式的文件时可能未按预期返回错误的问题
- 修复在移除块设备时可能导致客户端进程崩溃的问题
JuiceFS 5.4.1 (2026/8/12)
- 新增
- mount: 新增
--decommission选项,用于平滑移除缓存组节点 - mount: 新增
--cache-aside选项,用于启用缓存旁路模式 - mount: 新增
--writeback-threshold-size选项以设置最大回写块的大小 - mount: 新增
--read-only选项以启用只读模式 - mount: 新增
--mem-limit选项来限制客户端进程内存 - mount: 新增
--merge-cache选项来启用新的合并缓存模式 - mount: 支持数据使用 SM 加密
- mount: 分布式缓存组支持 QPS 限制器
- mount: 新增 FUSE 读写耗时的监控指标
- import: 新增
--track选项以管理导入对象的完整生命周期 - import: 新增
--delete-dst选项以删除对象存储中不再存在的文件 - restore: 新增
--start-time和--end-time选项以过滤回收站恢复的起止时间范围 - sync: 新增
--delete-src-after选项以在同步后删除源对象 - clone: 新增
--threads选项以调整并发度 - gc: 新增
--sort-buffer选项以支持在dry mode下使用外部排序 - fsck: 新增
--sort-buffer选项以支持使用外部排序 - merge: 新增
--files-from选项以支持从文件中读取待合并的路径列表 - Windows: 新增 WinFsp 的
AddWriteEaAccess挂载选项
- mount: 新增
- 改进
- mount: 优化线程调度和锁管理,提升性能
- mount: 在
ps结果中隐藏 token 值 - mount: 开启
--writeback时确保同时为回写的块建立读缓存 - import: 读取按需导入的目录时不更新 atime
- warmup: 预热时不更新目录的 atime
- clone: 弃用
--delete和--force选项 - sync: 弃用
--time-selector选项 - gc/destroy: 允许无序对象列表
- RDMA: 优化性能和稳定性
- RDMA: 当最后一个 RDMA 设备不可用时回退到 TCP
- Bug 修复
- mount: 修复在 7.1.3 版本内核上挂载时可能卡死的问题
- mount: 修复在启用 SELinux 等安全机制时可能导致客户端无法启动的问题
- 修复启用
cache-large-write时某些情况下数据块未按预期缓存的问题 - 修复禁用本地缓存时对象校验和可能未按预期检查的问题
- 修复修改兼容模式的文件时可能误报错的问题
- 修复使用内存作数据缓存时写指标丢失的问题
- 修复写入数据跨 chunk 时可能未按预期顺序提交的问题
- 修复使用 Btrfs 格式化缓存盘时空间比例可能获取错误的问题
- 修复 API 返回的 FIFO 文件类型字符错误的问题
JuiceFS 5.3.14 (2026/7/30)
- 改进
- clone: 新增
threads参数来调整并发克隆的线程数 - 启用数据复制时确保写入主存储必须成功
- clone: 新增
JuiceFS 5.3.13 (2026/7/22)
- 改进
- sync: 新增
remote-copy选项以支持服务端拷贝 - sync: 优化路径解析的性能
- sync: 新增
- Bug 修复
- 修复导入的对象名称中包含 '#' 字符时可能导致分布式缓存误报错的问题
- WebDAV: 修复
stat文件时可能因空指针而崩溃的问题 - object/oss: 修复 CRC 校验可能未正确执行的问题
JuiceFS 5.3.12 (2026/7/3)
- 改进
- RDMA: 修复节点同时作为 RDMA 的服务端和客户端运行时可能导致连接异常的问题
- Bug 修复
- 修复 Linux 的
find命令显示的文件的 inode 不对的问题(5.3.10 引入)
- 修复 Linux 的
JuiceFS 5.3.11 (2026/6/24)
- 改进
- RDMA: 支持在一张网卡上配置多个 IP 地址
- RDMA: 优先使用
rdma link命令来查找可用的 RDMA 设备 - RDMA: 改进错误处理,提升异常时的稳定性
- Bug 修复
- mount: 修复在平滑升级时可能出现少量文件描述符泄漏的问题
- mount: 修复在平滑升级并且是前台挂载时可能导致新进程卡死的问题
- mount: 修复文件在做预读时被提前关闭可能导致 openfiles 计数异常的问题
- 修复分布式缓存节点在均衡数据时可能出现内存泄漏的问题
- 修复在缓存组节点较多时第二缓存组的部分节点可能被错误地注册到第一缓存组的问题
- 修复在做跨区数据复制时,后台任务的限速只生效了一半的问题
JuiceFS 5.3.10 (2026/6/9)
- 改进
- mount: 新增
read-sessions选项来调整连续读文件的最大段数 - gateway: 支持通过自定义
HEADER来设置文件的属主信息 - warmup: 新增
order-by选项来调整输出的排序方式 - sync: 支持为分块上传的对象也能记录检查点
- RDMA: 改进选择本地网卡的策略
- RDMA: 支持热移除 RDMA 设备
- RDMA: 仅通过
rdma-network选项决定是否启用 RDMA 功能 - 优化锁的实现以提升高压力下随机小块读的性能
- mount: 新增
- Bug 修复
- mount: 修复在应用未按预期关闭目录时可能导致内存泄漏的问题
- mount: 修复在进程启动或退出时可能在 FUSE 层发生死锁的问题
- mount: 修复读取目录和写入文件同时发生时可能返回旧文件长度的问题(5.2.20 引入)
- sync: 修复在解密小文件时可能出错的问题
- 修复在 Debian 环境中可能因为
PATH环境变量未正常设置导致客户端重启失败的问题 - 修复预读相关指标显示为零的问题
- 修复读取本地数据缓存时校验和可能计算不正确的问题
- 修复打印部分日志时未正确显示调用者代码行数的问题(5.3.9 引入)
JuiceFS 5.3.9 (2026/5/27)
- 改进
- mount: 提升挂载的启动速度
- mount: 支持热更新对象存储的访问凭证
- mount: 启用数据复制且主存储网络超时时, 一段时间内优先访问副存储
- mount: 支持从第二缓存组预取数据对象
- warmup: 新增
--samples选项来采样统计已缓存数据的比例 - warmup: 不再更新文件的 atime
- sync: 支持为传输的对象加密和解密
- sync: 支持周期性写入检查点来快速重启任务
- import: 允许用文件的名称来作为
List的前缀 - 降低客户端中条件变量的等待时间
- RDMA 连接异常时自动回退到 TCP 连接
- 给告警和错误级别的日志增加计数指标
- Bug 修复
- 修复旧进程无法正常退出时,平滑升级可能失败的问题
- warmup: 修复使用
--check检查多条路径时显示结果可能不正确的问题 - sync: 修复并发同步同一个软链接文件时可能出现误报错的问题
- find: 修复使用
--empty选项时可能未正确识别空目录的问题 - Windows: 修复在对接 AD 服务时客户端可能崩溃的问题
JuiceFS 5.3.8 (2026/5/11)
- 改进
- find: 支持使用
-printf自定义输出格式 - sync: 减少并发的
lookup和resolve请求 - import: 新增
delete-dst选项,用于删除之前导入但不再需要的文件 - 使用
opencache参数时也会更新文件的atime - 改进记录访问日志文件的轮转策略,支持指定文件大小
- 改善 RDMA 的使用体验
- object/oss: 支持 private link 格式
- find: 支持使用
- Bug 修复
- gateway: 修复对
path-to-file/执行 HEAD 请求时未按预期报错的问题 - 修复计算本地数据缓存的 checksum 时结果可能不正确的问题
- gateway: 修复对
JuiceFS 5.3.7 (2026/4/21)
- 新增
- 新增
find子命令用来快速筛查符合条件的文件
- 新增
- 改进
- mount: 新增
--access-log选项来将访问日志写入到指定文件 - mount: 忽略软链接缓存配置,避免平滑重启后残留旧的进程(5.3.5 引入)
- gc: 新增
false-positive-rate参数来调整 Bloom Filter 的误判率 - gc: 提升对象存储为 Ceph 时的遍历性能
- sync: 使用
jfs://协议头时允许不依赖配置文件而是直接使用 meta URL - 给部分 FUSE 和分布式缓存指标增加最大值记录
- mount: 新增
- Bug 修复
- 修复
debug子命令可能收集不到客户端日志的问题 - object/S3: 当 access key 为空时,在 autoS3Region 中使用默认的凭证链
- 修复
JuiceFS 5.3.6 (2026/4/1)
- 新增
- 新增
attr子命令来管理文件的扩展属性
- 新增
- 改进
- 加强对客户端会话重连时的检查,防止连接错误的集群
- 客户端升级时自动升级所有扩展版本的二进制
- 降低客户端进程的内存使用
- 去掉
flock的超时强制中断,避免其返回ERESTARTSYS错误
- Bug 修复
- 修复对象存储 GET 请求延迟未统计的问题
- 修复开启 writeback 功 能时
stageBlockBytes指标未正确统计的问题 - 修复容器环境中慢请求可能未被正确统计的问题
JuiceFS 5.3.5 (2026/3/19)
- 改进
- mount: 支持通过
JFS_MOUNT_TIMEOUT环境变量来调整挂载超时时间 - mount: 禁用内核的软链接缓存,以免出现软链接指向不正确的问题
- 降低客户端的 CPU 占用
- 提升小 I/O 随机读的极限性能
- 允许 iorpc 与 tcp 使用同一个端口
- 禁用后台任务时,同时禁用跨区数据复制的定时同步任务
- mount: 支持通过
- Bug 修复
- import: 修复在使用
--conf-dir参数时可能未正确读取配置文件的问题 - 修复在设置了
JFS_NO_CHECK_OBJECT_STORAGE环境变量时无法正常访问 Ceph 的问题 - SDK: 修复记录操作日志时可能陷入死循环的问题
- import: 修复在使用
JuiceFS 5.3.4 (2026/3/10)
- 新增
- 支持限制回收站文件数量和总大小
- 改进
- 支持统计 FUSE 读写耗时的指标
- 优化 GUID 映射的内存占用,并添加本地缓存
- 在客户端断开连接时释放 op lock
- merge: 大文件自动进行碎片合并后重试
- gc: 降低运行时的内存占用
- Bug 修复
- 修复了启用 open cache 时文件的第一个 chunk 可能读到旧数据的问题
- 修复了启用跨区数据复制时部分同步机制未正常工作的问题
- clone: 修复分批克隆时可能会克隆不完整的问题
- clone: 修复克隆中遇到无访问权限的目录时可能会 panic 的问题
JuiceFS 5.3.3 (2026/3/2)
- 改进
- 增大 clone 时单批处理的文件数上限
- sync: 优化临时文件命名并限制目录级缓存条目数
- RDMA: 无可用设备时自动回退到 TCP
- RDMA: 支持设置握手超时时间,并提升内存管理和稳定性
- RDMA/iorpc: 多项内存与连接稳定性优化(页管理、同步写响应、取消请求处理)
- Bug 修复
- 修复计算缓存文件 checksum 时可能使用错误的文件长度的问题
- sync: 分块上传到 JFS 的大文件在同步完成时实现幂等性,并修复异常时可能 panic 的问题
- Windows: 修复 WinFsp 的版本判断问题
JuiceFS 5.3.2 (2026/2/2)
- 新增
- sync: 支持外部限速
- 改进
- sync: 减少遍历目录时的内存占用
- 提升 RDMA 的兼容性和稳定性
- Bug 修复
- 修复旧版本内核的内存文件系统不支持 directio 导致缓存失效的问题
JuiceFS 5.3.1 (2026/1/14)
- 新增
- mount: 新增
--cache-scan-interval选项来调整缓存盘扫描间隔 - umount: 支持
--update-fstab来删除对应配置 - fsck: 允许检查某个路径的数据完整性
- debug: 支持使用
--pid来指定进程 ID - 支持 ioctl: 设置文件或者目录为只读或者只允许追加写
- 新增
--trace-file来开启并收集 tracing - 允许通过 S3 接口只读访问按需导入的文件系统
- 支持导入 MinIO 的任意桶
- 为从其他桶导入的数据建立缓存
- 支持通过 RDMA 访问缓存数据
- 支持限制访问对象存储的 QPS
- Python SDK: 支持
status、warmup、merge和info命令接口 - Python SDK: 给 clone 接口新增
follow-link参数
- mount: 新增
- 改进
- mount: fstab 默认新增
nofail选项来忽略挂载失败 - status: 默认过滤出工具的会话
- restore: 新增进度条
- warmup: 在使用
--check选项时按优先级统计数据分布 - warmup: 增加
--follow-link选项 - 改进 info 和 warmup 等交互操作的响应时间
- import: 遇到 List 错误时将立即失败
- objbench: 修复不准确的日志
- gateway:在完成分段上传时检验用户提供的 ETag 是否准确
- gateway: 压缩客户端的访问日志
- sync: 允许配置更多客户端参数(比如
--mountpoint) - sync: 改进使用
jfs://协议时创建目录的错误处理 - sync: 提升使用
jfs://协议同步大文件的性能 - 改进元数据缓存的清理速度
- 改进 DirectIO,支持更多类型的读请求
- 碎片合并时自动清理数据缓存
- 使用后台任务限速来限制预热时的带宽
- 默认收集读放大相关指标
- 挂载时验证配置文件中的文件系统名
- 使用配置文件中保 存的密码
- 允许通过环境变量
HOSTNAME定制客户端的机器名 - 减少缓存相关的锁竞争
- 支持 CIDR 格式的缓存节点 IP
- 客户端重连次数遵守
--io-retries参数 - 默认启用 FUSE 的
EnableReadDirPlusAuto功能以使能内核优化 - 确保源集群连上后才允许访问可写镜像集群,避免出现错误
- 当镜像不可用时访问源集群以避免不可用
- 使用镜像的文件系统名作为挂载点的名称
- 修复多个文件系统的指标混到一起的问题
- 调整数据复制时的监控,减少预期内的错误请求的噪音
- 当支持 Ceph 的客户端损坏时自动重新下载
- Windows: 默认在关闭文件时持久化数据
- Windows: 改进后台挂载
- Windows: 新增
-–create-perm挂载选项 - Windows: 支持定制文件系统名
- Windows: 将 administrator 用户的 UID 设为 0(与 Linux 的 root 用户一致)
- Windows: 支持 DirectIO
- Windows: 优化挂载速度
- 优化淘汰磁盘缓存时的锁竞争
- 不再重试超时的分布式缓存请求
- mount: fstab 默认新增
- Bug 修复
- 解决 statvfs 在配置了
--block-interrupt时可能卡住的问题 - 修复 fstab 中的挂载选项可能不正确的问题
- 修复集群模式运行 sync 时 umask 不正确的问题
- 修复并发执行 auth 命令时可能失败的问题
- 修复可写镜像的 ping 指标不准确的问题
- 修复标量类型指标的 0 值不上报的问题
- 修复内核缓存导致 append 模式写相互覆盖问题
- 修复镜像的原集群使用不同版本时的兼容性问题
- Windows: 修复 GID 映射问题
- 解决 statvfs 在配置了