- 版本更新
- JuiceFS 4.4.9 (2020/11/16)
- JuiceFS 4.4.8 (2020/10/21)
- JuiceFS 4.4.7 (2020/09/18)
- JuiceFS 4.4.6 (2020/08/14)
- JuiceFS 4.4.5 (2020/07/2)
- JuiceFS 4.4.4 (2020/06/14)
- JuiceFS 4.4.3 (2020/05/20)
- JuiceFS 4.4.2 (2020/04/22)
- JuiceFS 4.4.1 (2020/04/12)
- JuiceFS 4.4.0 (2020/03/12)
- JuiceFS 4.3.14 (2020/02/20)
- JuiceFS 4.3.13 (2020/01/20)
- JuiceFS 4.3.12 (2019/11/14)
- JuiceFS 4.3.11 (2019/10/17)
- JuiceFS 4.3.10 (2019/9/2)
- JuiceFS 4.3.9 (2019/6/24)
- JuiceFS 4.3.7 (2019/5/17)
- JuiceFS 4.3.6 (2019/4/1)
- JuiceFS 4.3.5 (2019/2/20)
- JuiceFS 4.3.3 (2018/11/20)
- JuiceFS 4.3.2 (2018/10/07)
- JuiceFS 4.3.1 (2018/09/14)
- JuiceFS 4.3.0 (2018/08/22)
- JuiceFS 4.2.7 (2018/03/24)
- JuiceFS 4.2.6 (2018/03/05)
- JuiceFS 4.2.5 (2018/01/31)
- JuiceFS 4.2.4 (2017/12/10)
- JuiceFS 4.2.3 (2017/11/15)
- JuiceFS 4.2.2 (2017/11/08)
- JuiceFS 4.2.1 (2017/11/02)
- JuiceFS 4.1.26 (2017/10/5)
- JuiceFS 4.1.25 (2017/9/16)
- JuiceFS 4.1.24 (2017/9/3)
- JuiceFS 4.1.23 (2017/8/4)
- JuiceFS 4.1.21 (2017/7/17)
- JuiceFS 4.1.20 (2017/7/14)
- JuiceFS 4.1.18 (2017/7/3)
- JuiceFS 4.1.17 (2017/6/20)
- JuiceFS 4.1.15 (2017/6/2)
- JuiceFS 4.1.13 (2017/5/24)
- JuiceFS 4.1.11 (2017/4/26)
版本更新
JuiceFS 4.4.9 (2020/11/16)
新特性
新增将数据从 HDFS 平滑迁移到 JuiceFS 的工具。
支持 IBM COS。
改进
支持中断兼容模式下的写操作。
优化直接使用 Ceph 的底层 librados 作为存储后端时的性能。
使用 Hadoop SDK 删除符号链接时,被指向的文件或者目录也会被删除。
改进 Windows 客户端的日志的时间精度到毫秒。
增加 Windows 客户端的线程数到 16(之前是 CPU 个数)。
增加 Linux 客户端的后台请求数到 50(之前是 12)。
Bug 修正
解决无法查询 POSIX ACL 的问题(4.4.7 引入)。
解决 Hadoop SDK 中列出符号链接时的兼容性问题。
解决无法创建缓存目录导致 crash 的问题。
解决 Windows 下文件句柄被意外释放的问题。
解决 Hadoop SDK 中文件系统被关闭后,正在进行的文件系统操作可能导致崩溃的问题。
解决 Hadoop SDK 中多次关闭打开的文件可能导致其他文件也被关闭的问题。
解决 Hadoop SDK 中过大的读请求可能导致内存不够的问题。
JuiceFS 4.4.8 (2020/10/21)
新特性
- 可以使用 JuiceFS 作为其他存储系统的缓存。
改进
增加元数据请求的数据校验。
显示所挂载的子目录的空间,不再是整个文件系统的空间。
扩大符号链接的支持范围到所有操作。
改进启用分布式缓存后的 IO 本地化。
确保客户端不会因为损坏的网络消息导致崩溃。
Bug 修正
修正写数据时可能会崩溃的情况。
修正 POSIX 锁偶尔失败的情况。
修正挂载后 /etc/mtab 没有被正确导致看不到挂载点的问题。
JuiceFS 4.4.7 (2020/09/18)
新特性
提供独立的兼容 S3 协议的网关 (beta),保持跟 POSIX 接口的实时互通。
为挂载客户端同时提供兼容 WebDAV 的 HTTP 接口。
支持限制多个客户端使用的对象存储总带宽。
默认启用 Go 实现的 FUSE 模块以获得更好的性能和稳定性,可以通过 GOFUSE=0 来切换回原来使用的 libfuse。
支持阿里云 EMR 的临时 Token。
支持又拍云和有孚云
改进
改进同时读一个大文件时的性能。
改进某些场景下 LZ4 解压缩性能。
限制客户端缓存的元信息到 5 百万 Inode(默认缓存 5 分钟)。
限制 getattr(1) 和 statvfs 到 300 毫秒, 保证 df 操作不会卡住。
增加在客户端挂载成功和退出时的日志。
解决 Hadoop SDK 依赖的 asm 的兼容性问题。
解决 Apache Spark 的 Executor 先后启动后导致的任务调度倾斜问题。
Bug 修正
- 解决初始化 Hadoop SDK 时碰到中断信号后导致无法被初始化的问题。
JuiceFS 4.4.6 (2020/08/14)
新特性
使用 Go 实现的 FUSE 模块,性能更快,通过 GOFUSE=1 来切换使用。
支持 copy_file_range() 系统调用,文件系统内部拷贝速度更快。
增加挂载参数控制随机读过的数据块的预热并发数。
支持 MIPS64EL 架构(龙芯处理器)。
客户端统计数据中增加各种性能指标,比如元数据或者对象存储操作的耗时等。
支持七牛云的内网访问。
改进
当文件系统的使用量低于 64KB 时,显示为 64KB (之前显示为 0)
容忍系统内存不足的情况,避免 Crash
检查缓存盘的 inodes 使用率,确保不会超过 80% 或指定的比例。
在 macOS 挂载时,在 Finder 里显示文件系统的名字。
删除数据时及时释放缓存空间。
Bug 修正
修复元数据缓存未及时清除的问题,24 小时后 inode 被复用时可能导致文件信息错误。
修正 Hadoop SDK 跟 Presto 的兼容性问题
让七牛存储的 PUT 操作幂等。
修复谷歌云的挂载。
JuiceFS 4.4.5 (2020/07/2)
新特性
Windows 客户端支持大小写不敏感。
Hadoop SDK 支持符号链接到其他存储系统,比如链接到 hdfs://nm1:8080/xxxx
Hadoop SDK 可指定全局的用户组信息,每 10 分钟定时刷新。
改进
在 hadoop fs -du 中显示文件大小总和,而非计费大小,跟 HDFS 保持一致。
挂载时检查所用的 prefix 的权限,便于给 AK/SK 设置更细粒度的权限控制。
Bug 修正
修正 Hadoop SDK 读取失败时异常不准确的问题。
修正兼容模式下可能导致死锁的问题。
JuiceFS 4.4.4 (2020/06/14)
新特性
新增 –ioretries 参数,指定在出现服务或者网络故障时元数据操作的重试次数。 如果 ioretries 小于 5,当元数据访问失败后不会立即清空缓存,已有缓存数据可以读。 在元数据不可用期间,写操作以及后续的close可能返回 IOError,但写入的数据仍然保留在客户端内存中,待服务恢复后继续持久化(不丢失)。
增加 –cache-partial-only 参数,只缓存小文件和随机读的部分,适合对象存储的吞吐比缓存盘还高的情况。
改进
改进随机写的性能。
改进碎片合并的性能。
改进持续追加多个文件时的性能,将新数据合并写入对象存储以减少 PUT 请求的数量。之后会按照文件再合并碎片以改进读的性能。
改进数据写入时对元数据故障的容忍能力,减少元数据故障导致写入失败的可能性。
Bug 修正
解决客户端碎片合并太慢导致内存暴增的问题。
修正 Hadoop SDK 在某些情况下不能更新集群节点列表的问题。
修正挂载时不能使用 DNS 更新初始 IP 的问题。
使用 us-east-1 作为 S3 兼容后端存储的 Region。
修正文件被删除后客户端的缓存没有被正确失效的问题,它会导致不必要的对象存储请求(404)。
JuiceFS 4.4.3 (2020/05/20)
新特性
新增 Windows 客户端,支持 Windows Server 2012、Windows 10 等,目前仅开放给企业版客户。
支持 ARM64 架构。
支持全内存的数据缓存方式,通过挂载参数 –cache-dir memory 启用。
Hadoop SDK 支持分布式缓存。
改进
改进分布式缓存的随机读支持,减少读放大。
改进随机读的性能。
Bug 修正
解决读阿里云 OSS 时如果 Range 越界被忽略,导致结果不对的问题。
解决当阿里云 OSS 启用了多版本支持后,遍历时返回空结果导致遍历不完整的问题。
解决客户端频繁尝试清理残余的上传碎片导致后端存储过载的问题。
解决挂载时如果没有对象存储的 PUT 权限却尝试去创建 Bucket 的问题。
解决 Hadoop SDK 跟 CDH 5.8 的兼容性。
JuiceFS 4.4.2 (2020/04/22)
Bug 修正
- 修复当使用 writeback 模式并且有很高的写入压力时,后台的异步合并任务可能导致数据丢失的问题, 受影响的版本包括 4.3.14 到 4.4.1 (发布日期在 2020/2/28 到 2020/04/09 之间) , 建议使用 writeback 模式的用户升级(已经升级服务端禁止使用有bug 的客户端做碎片合并)。
JuiceFS 4.4.1 (2020/04/12)
新特性
支持使用 TiKV 作为存储后端。
增加后台任务的控制权限,可以创建访问规则来禁止后台任务(删除、合并和同步等)。
支持使用 LZ4 算法来压缩数据,压缩比比 Zstandard 低,但速度更快。
支持 fallocate 的所有模式。
改进
改进顺序读大文件的性能。
改进 writeback 模式下读数据的性能,不再需要等上传完成。
调整了多缓存目录时的 hash 算法,使得分布更均衡。但它更之前的不兼容,会导致之前缓存的数据失效。
在客户端日志中显示进程 ID,方便区分多个不同的挂载进程。
改进 Hadoop SDK 的缓存调度机制,增加参数控制副本数。
Bug 修正
修正使用通配符来匹配缓存目录时,只匹配到已经创建了子目录的部分目录的问题。
修正 Hadoop SDK 列目录时碰到长度超过 127 个字符时出错的问题。
修正 Hadoop SDK 在读写失败时错误码不对的问题。
JuiceFS 4.4.0 (2020/03/12)
新特性
允许挂载子目录,挂载时通过 –subdir 参数指定,默认为根目录。可以在网站控制台设置允许挂载的子目录。
允许指定读写数据的内存大小,通过参数 –buffer-size 指定(默认为 300 MiB)。当对象存储比较慢时,增大缓存可以提升读写性能。
允许指定缓存盘的剩余空间比例来避免缓存数据把磁盘写满,通过参数 –free-space-ratio 来指定(默认 0.2)。
增加挂载参数来禁用 POSIX 锁和 BSD 锁,–no-posix-lock 和 –no-bsd-lock。
改进
大幅改进读数据的预读机制和内存管理,大幅减少客户端在读写数据时的内存占用(一般不会超过 500MB)。
改进写数据的重试,减少超时导致的 IO 错误。
改进磁盘缓存的性能,减少系统调用次数。
Bug 修正
- 修正 Hadoop SDK 在某种随机读模式下数据可能错误的问题。
JuiceFS 4.3.14 (2020/02/20)
新特性
支持更改文件系统的存储格式(兼容模式或者优化模式的相互转换)。
新增 benchmark 命令 (juicefs benchmark),方便做基本的性能测试。
改进
- 降低写入数据时的内存使用量。
Bug 修正
修复 warmup 不能预热整个大文件的情况。
修复第一次挂载基于 GCS 的文件系统时不能创建存储桶的问题。
JuiceFS 4.3.13 (2020/01/20)
新特性
mount 命令增加 –max-space 参数(默认不启用),限制挂载点的总空间。
mount 命令增加 –put-timeout 参数(默认为 60秒),超时后自动重试。
改进
将给腾讯云 COS 的请求的 UserAgent 改为 JuiceFS。
支持金山云 KS3 低版本的 API。
支持包含 . 的 S3 桶名称。
Hadoop SDK 中增加超级用户的配置项:juicefs.superuser。
遍历超过一千万文件的目录时卡住的问题。
Hadoop SDK 不再产生 syslog。
Bug 修正
修正文件锁返回 EIO 的问题。
修正某些情况下文件的 nlink 的缓存不更新的问题。
修正使用 Aliyun OSS 的临时 Token 时不能及时刷新的问题。
修正 Hadoop SDK 写入文件时 mtime 不能实时更新的问题。
JuiceFS 4.3.12 (2019/11/14)
新特性
支持 Hadoop File System 的 POSIX ACL。
支持 Hadoop File System 的 getFileChecksum API,使得 DistCp 能够使用跟 HDFS 完全一样的算法来校验 JuiceFS 中数据完整性, 需要设置 juicefs.file.checksum 来启用(会影响数据写入性能)。
增加 Java 客户端的各种统计计数。
改进
改进 Java 客户端 rename() 方法的性能,减少正常情况下的检查请求次数。
改进 Java 客户端在读数据时的内存使用。
Bug 修正
修复可能导致客户端卡住的 Bug: 当中断一个超过 300ms 仍未完成的元数据请求时,该请求的锁没有释放, 之后收到该请求的回应时会死锁。
修复导入对象时数据大小可能不对的问题(4.3.11 引入)。
JuiceFS 4.3.11 (2019/10/17)
新特性
支持使用 Beansdb 做为对象存储。
Hadoop 客户端中支持扩展属性(xattr)。
按照文件系统的回收站时间清理 Hadoop 的回收站(/user/name/.Trash)。
新增挂载参数 –get-timeout, 指定下载对象时的最长时间(秒),避免个别慢请求导致的性能抖动。
改进
改进元数据缓存未建立时的性能。
关闭文件时中断超时的读写操作。
写入数据到 S3/OSS/COS 时增加校验,读取时用于检测对象存储中的数据是否损坏。
允许 writeback 模式中缓存更多数据到本地盘(提高在网络受限时的写入性能)。
限制删除对象存储中数据的速度,避免短时间内删除请求过多导致同期的写入或者下载请求被限速。
自动创建缓存目录(尤其是在使用通配符时),Hadoop 客户端可以通过参数(auto-create-cache-dir=false)改成手动创建。
可根据剩余空间的比例来清理缓存数据(默认 20%)。
Bug 修正
修正全局 UID 映射的 Bug(部分情况下会映射两次导致歧义)。
修正恢复压缩后的分块的 Bug(导致解压缩失败)。
JuiceFS 4.3.10 (2019/9/2)
新特性
支持同时从多个机器对同一个文件的进行并发写入(不同位置)。
支持通过任意的 schema 来使用 JuiceFS,比如 s3://volume/path 。
增加挂载参数 –opencache,以提高打开文件的性能。
对启用数据复制的文件系统,如果主要的对象存储不可用,它会自动切换到备份的对象存储。
实现故障重试时的请求的幂等性。
改进
改进元数据缓存的一致性保证。
改进兼容模式的写入性能和大文件的读性能。
改进 JuiceFS SDK 的兼容性和性能。
改进在 Hadoop 中使用挂载方式访问 JFS 的性能(也需要使用 JuiceFS SDK 来加速)
Bug 修正
解决兼容模式下多次 Flush 导致数据可能出现错误的情况。
解决不能自动创建 Digital Ocean 对象存储 Bucket 的问题。
JuiceFS 4.3.9 (2019/6/24)
新特性:
发布 Hadoop 客户端,兼容 Hadoop 生态的各个数据分析工具。
新增客户端性能分析工具 juicefs profile。
改进:
改进写入性能,减少客户端到元数据服务器的请求数量。
识别客户端所在机器上新创建的用户。
JuiceFS 4.3.7 (2019/5/17)
新特性:
使用多个目录做缓存,在 –cache-dir 中使用
:
来分隔目录,也可以使用通配符(需要加引号)。支持 FUSE 参数
-o writeback_cache
以在 3.15+ 的内核中启用写入缓存,极大提高随机写入和碎片写入的性能。支持 Wasabi。
改变
改进随机写的性能(尽量合并相邻的写入)。
更改挂载点的子类型为 fuse.juicefs (之前是 fuse), 方便在 mlocate 等中禁止索引 JuiceFS 中的文件,将 fuse.juicefs 加入到 PRUNEFS 中。
改进混合读写时的元数据缓存,大幅提高性能。
改进预读机制,提高顺序读的性能。
改进访问 OSS 的连接池。
减少 GC 时 Head 请求的调用。
减少客户端碎片合并以及数据同步的并发度,减低内存占用。
Bug 修正:
修正导入单个对象时反复调用 List 的问题。
兼容 3.1- 的内核不会在 release 时 unlock 的问题。
JuiceFS 4.3.6 (2019/4/1)
新特性:
支持华为云 OBS
支持 Minio
Bug 修正:
修复发送给元数据服务的数据量的计数器。
修复元数据服务故障切换时可能导致正在追加的文件因重试失败(已在 4.3.1 中修复)导致文件损坏的问题。强烈建议升级 4.3.1 之前的客户端。
JuiceFS 4.3.5 (2019/2/20)
新特性:
支持 32 位 Linux 操作系统。
新增 lsof 功能:列出最近 10 分钟打开过的文件。
新增缓存预热功能 (warmup): 可以将一个目录下的所有文件的数据并行加载到缓存,以之后的访问提速。
支持 阿里云的 ECS 的 RAM 规则,在给 ECS 绑定了有 OSS 访问权限的 RAM 规则后,挂在时不再需要提供 AK(用空字符串代替)。
改变:
改进异步写入性能(对超过 4MB 的文件也使用异步上传到对象存储)。
改进启用元数据缓存时的小文件读取性能。
Bug 修正:
修正启用异步写入 (–writeback) 时缓存数据大小计算不准确导致空间占用过多的问题。
修正启用元数据缓存(–metacache)时文件权限可能错误的问题。
修正批量上传模式下可能导致 IO 错误的问题。
JuiceFS 4.3.3 (2018/11/20)
新特性:
增加参数调整内核中的元数据缓存:–attrcacheto, –entrycacheto, –direntrycacheto。
通过 –passphrase 来记住密码(可以为空字符串),也可直接添加到配置文件中,避免要求手动输入。
改变:
改进 .stats 中对象存储访问计数,增加 head 和 error, 更加准确。
调整命令行下目录大小的显示,去掉浮点数编码,直接显示该目录下所有数据大小总和。这是服务端变更,不需要升级客户端。
在客户端的版本号中显示编译的时间和 Git Revision。
允许通过 –cache-size 0 来禁用缓存。
停用检查挂载是否正常的机制。
使用兼容 S3 的访问入口来访问 JSS,并优先尝试 HTTPS。
不使用 HTTP/2 来访问 Azure 以提高并发度。
Bug 修正:
支持以 HTTP 方式访问七牛云存储(默认为 HTTPS)。
解决兼容模式下清理碎片时会退出的问题。
解决并发加载缓存时可能会加载失败的问题。
修正 juicefs grep 的 反向查找 (-v 参数)。
解决 COS 的 AppID 问题。
JuiceFS 4.3.2 (2018/10/07)
新特性:
数据压缩变成可选:默认使用 Zstandard 压缩,可以调整为不压缩以获得更好的随机读性能。
通过 API 提供客户端的统计计数:每个客户的统计信息(/.stats)也可以通过 JSON API 或者 Prometheus API 拿到。
客户端统计信息新增:read_bytes、write_bytes、uptime、cpuusage、memusage
新增 Append Only 访问模式:该模式下允许读取和写入新数据,但不允许删除或者修改已有数据。
JuiceFS 4.3.1 (2018/09/14)
新特性
- 文件的分块大小可配置:默认为4MB,可以调整为最小 64K、最大 16MB,可以配置使用更小的分块大小改进随机读的性能,降低时延,提高 IOPS。
改进:
改进挂载的速度,尤其是 DNS 不稳定或者比较慢的情况下。
改进对金山云的支持,可自动创建对象存储的 bucket。
改进当使用无效命令时的错误信息显示。
Bug 修正:
修正升级后不能正常显示版本号的 Bug。
修正连接到元数据服务的重试间隔,避免可能出现的 IOError。
修正挂载到相对路径的问题。
JuiceFS 4.3.0 (2018/08/22)
新特性:
存储数据加密:使用随机生成的对称密钥使用 AES-256-GCM 对每个对象进行加密,再用 RSA 加密对象密钥,一起保存到对象存储中。 RSA 私钥(可选密码保护)可在挂载时提供(自行管理),也可由我们统一管理(设置密码)。
增加限制对象存储删除操作 QPS 的参数,减少突发的大量删除操作对对象存储的压力。
增加限制对象存储写入速度的参数,对网络带宽的使用进行更有效的控制。
支持百度云。
支持 Digital Ocean.
改进:
juicefs 不再自动更新,需要手动运行 juicefs version –upgrade 来更新到最新版。
支持 FUSE fallocate(): 在使用 fio 测试时不再需要加 –fallocate=none 参数。
改进导入对象时的性能,增加缓存,更快地跳过已经导入的对象。
Bug修正:
当频繁的 read/write/truncate 操作时,可能因为竞争使用了失效的文件长度导致 IO 错误。
解压超预期长度的对象时的 IO 错误,避免产生过长的对象。
解决兼容模式下并发 Open() 操作导致 fd 泄露的问题。
解决兼容模式下潜在的竞争冲突。
限制腾讯云 COS 的 List 操作的 limit 为 1000。
修正 localhost 不能被解析为 IPv4 地址时客户端CPU消耗过高的问题。
解决导入文件时不能正确处理结尾的 “/” 的问题。
JuiceFS 4.2.7 (2018/03/24)
新特性:
新增对象存储 List 操作的统计。
兼容模式下支持硬链接。
兼容模式下允许修改文件(比较慢)。
改进:
取消兼容模式下的回收站功能(可能导致数据被误删)。
提升遍历大目录时的性能。
兼容模式下同步删除文件,避免异步删除时可能的误删。
改进写入缓存的效率,降低内存使用。
Bug修正:
修正可用空间和可用 inode 数不准确的问题。
修正递归删除时的权限检查问题(非 root 删除时)。
数据写入时可能出现死锁的问题。
JuiceFS 4.2.6 (2018/03/05)
新特性:
新增兼容模式,文件会以完整路径为名原样地保存到对象存储,可以用对象存储的 API 直接访问。 功能上有一些限制,文件一但写入完成就不能修改,不支持硬链接和快照。
合并小文件成大的对象再上传,降低对象存储的 PUT 请求的调用以降低成本提高性能,通过 –writeback 和 –batch 参数启用。
支持 Backblaze B2.
改进:
- 运行到前台时,DEBUG 日志不进 syslog。
JuiceFS 4.2.5 (2018/01/31)
新特性:
快速删除一个目录里面的所有文件和子目录,详情见 juicefs rmr。
新增挂载选项,让客户端为文件提供 HTTP 访问方式,可作为 NGINX 等 Web 服务器的后端。
在 .stats 中增加了对象存储访问的统计计数。
支持迅达云。
改进:
- 改进客户端性能,降低内存使用。
JuiceFS 4.2.4 (2017/12/10)
新特性:
支持文件系统镜像,可以在全球的任何云的任何区域设立只读镜像,实现近实时数据复制(秒级别延时)。
支持以组为单位的缓存共享。挂载时指定一个组名(–group-name),所有相同组名的客户端之间(且内网互通)可以实现缓存共享,大概提高热点数据的访问性能。
开放回收站的 Web UI, 用户可以自行在网站上恢复被误删的文件,也可以永久删除文件以清理回收站空间。
支持京东云。
支持美团云。
改进:
- 改进缓存共享的性能,降低 CPU 和内存使用。
JuiceFS 4.2.3 (2017/11/15)
新特性:
垃圾回收机制:默认每周会扫描一次对象存储中的数据,清理因为各种意外导致的小量残留对象。
增加一个命令行选项 –gc 来立即执行垃圾垃圾回收操作。
实现客户端的缓存共享机制,处于统一内网的客户端之间可以共享内存和磁盘缓存,大大提高缓存利用率, 改进热点数据的访问性能,降低对象存储的访问成本(请求数)。
JuiceFS 4.2.2 (2017/11/08)
新特性:
支持快速合并文件,无需拷贝数据,使用方法请看 juicefs merge -h ,读取合并后的文件也需要将客户端需要升级到 4.2.1。
允许挂载到非空目录。
改进:
改进多区域异步复制,带宽不够时不影响写入性能。
给 UFile 增加进程内 DNS 缓存,提高性能和稳定性。
当客户端持续追加写入数据但没有 fsync 或 close 时,每 5 秒强制更新,降低其他客户端读这个文件的更新延时。
错误修正:
- 解决启用目录缓存时,根目录的文件缓存不能被正确失效的问题。
JuiceFS 4.2.1 (2017/11/02)
新特性:
调整了元数据的数据结构和写入数据的算法,大大提高了随机写的性能(几倍到几十倍的提升),也为快速文件合并提供了支持。
支持 Kubernetes 的 Flex 存储卷,juicefs 可以作为它的驱动使用,实现了 init, mount 和 unmount 调用。
支持微软 Azure。
增加网易云支持。
默认禁用 xattr, 可以用个 –enable-xattr 启用它。
默认启用到元数据服务和对象存储的传输加密。
在客户端中自动同步复制的对象存储,每周一次,不需要再手动运行 juicefs heal。
改进:
异步将文件中的碎片重写成更大的数据块。
改进文件查询时的数据块缓存,提高小文件读取的性能。
去掉文件不存在的缓存,它不能被及时失效。
复用 HTTP 连接,有助于改善性能和稳定性。
改进 UFile 的错误日志。
延长出错重试时的时间间隔,能够容忍对象存储更长时间的不稳定。
错误修正:
- 修正升级时覆盖符号链接的问题。
JuiceFS 4.1.26 (2017/10/5)
新特性:
根据文件系统的名字,自动生成对象存储的桶名(Bucket),并在首次挂载时创建存储桶。
支持非 Root 用户挂载
改进:
使用 musl 编译和静态链接,不再依赖 glibc,它的静态编译有严重Bug。
大大降低随机写时的内存使用。
改善 UFile 的 Copy 操作,提高性能,降低带宽需求。
juicefs 自动适应 Python2 或者 Python3 环境,支持绝大多数 Linux 发行版。
JuiceFS 4.1.25 (2017/9/16)
新特性:
juicefs version 显示客户端版本号。
根据客户的版本限制同时使用的客户端数量,免费版最多 10 个并发挂载,标准试用版 100 个,标准 1000 个,企业版无限制。
支持腾讯云 COS(V5 API)。
增加对象存储的慢请求的日志(超过10秒)。
改进:
juicefs 出错退出时使用非 0 退出码。
提高对象存储的并发上传请求数到 50,提高写入性能。
及时清理本地缓存,并监控所在分区的空间使用率,避免写满。
JuiceFS 4.1.24 (2017/9/3)
新特性
使用文件夹的 nlink 属性来表示它的内部 Inode 的数量。
将文件数量调整为 Inode 数量限制,文件夹和符号链接按 256K 计算,避免客户写入大量空文件夹影响服务质量。
在 oplog 增加操作用时,并在日志中记录超过 10 秒的慢操作。
允许用户中断所有文件系统操作,当某个操作很慢或者被卡主时不会影响应用正常退出。
错误修正:
- 解决写入失败时客户端异常退出的 Bug。
JuiceFS 4.1.23 (2017/8/4)
改进:
在本地缓存未压缩的数据块,大大提升随机读性能(不需要解压缩整个数据块)。
对象存储的出错重试次数从 3 增加到 10。
挂载时等待挂载成功再退出。
JuiceFS 4.1.21 (2017/7/17)
改进:
改进加密传输。
改进中国区的客户端下载速度。
JuiceFS 4.1.20 (2017/7/14)
改进:
- 改进写入本地缓存的性能。
JuiceFS 4.1.18 (2017/7/3)
改进:
- 提升元数据服务的性能,支持 300K QPS 以上。
JuiceFS 4.1.17 (2017/6/20)
新特性:
- 支持七牛云存储。
问题修正:
- 修正导入文件的 Bug。
JuiceFS 4.1.15 (2017/6/2)
新特性:
- 自动管理用户的 uid/gid, 实现基于用户名的权限管理,不同机器上相同用户名的用户被正确识别为同一个用户。
改进:
支持将对象存储中的数据块分区写入,可以避免新数据集中写入导致的性能瓶颈(需要创建文件系统时单独设置,不可更改)。
改进元数据写入的性能,实现每秒1万以上的写操作。
问题修正:
- 修正 untar 时文件的修改时间不对的问题。
JuiceFS 4.1.13 (2017/5/24)
新特性:
增加金山云支持。
支持从对象存储快速导入对象,无需拷贝数据,可每秒导入超过 1 万个对象,请参考 juicefs import -h
改进:
实现基于目录的一致性缓存,一旦发生变更会自动失效,大幅提升频繁文件访问时的性能。需要在挂载时使用 –dircache 来启用,默认缓存时间是 5 分钟。
当 syslog 不可用时,不打印日志,而不是退出。
客户端大小从 18MB 缩小到 4MB,缩小下载客户端的时间。
改进复制到另一个对象存储时的效率,降低它对写入性能的影响。
问题修正:
- 解决客户端在连不上元数据服务后异常退出的问题。
JuiceFS 4.1.11 (2017/4/26)
新特性:
支持自动复制数据到另外一个对象存储,它可以是不同公有云或是同一个公有云的不同区。
检查并修复被复制的两个对象存储的差异(需要手动运行 juicefs heal)。
调整文件夹的大小统计,改用计费数据使用量而不是文件的逻辑大小,用 nlink 表示文件夹中文件的数量。
问题修正:
- 解决高并发写入时计数器溢出导致卡主的问题