共计 2067 个字符,预计需要花费 6 分钟才能阅读完成。
在 JuiceFS 开源一周年之际,咱们迎来了首个里程碑版本 JuiceFS v1.0.0 Beta1,并将开源许可从 AGPL v3 批改为 Apache License 2.0。
JuiceFS v1.0.0 Beta1 是一个在生产环境中充沛验证迭代的产物,在连续 JuiceFS 一贯凋谢、平安、稳固、牢靠的品质之上,进一步提供一系列紧贴用户需要的全新性能。
亮点一:回收站
数据误删这样的状况总是在你我身边一次又一次演出,周期性备份尚且无奈根治,咱们须要的是让删除操作能够有盘旋的余地。
明天,JuiceFS 正式解锁这项对于数据保护来说十分重要的性能——回收站。
从 JuiceFS v1.0.0 Beta1 开始,文件系统默认开启回收站,任何对文件的删除都会先被挪动到回收站,能够随时找回误删的文件。
如果你的 JuiceFS 文件系统常常产生删除操作,回收站可能会占据很多的空间(默认保留最近 1 天的删除数据),你能够调整设置让 JuiceFS 定期清理回收站中的文件。
对于新创建的文件系统,能够在 format
命令中指定 --trash-days
选项,比方 --trash-days 3
代表回收站主动清理寄存超过 3 天的文件。
对于曾经在用的文件系统,能够通过新增的 config
命令调整回收站清理规定,例如:
$ juicefs config "postgres://user:$PG_PASSWD@127.0.0.1:5432/jfs1" --trash-days 3
对于回收站的具体介绍,请查看 JuiceFS 官网文档。
亮点二:元数据主动备份
对于数据和元数据拆散存储的分布式文件系统,元数据的平安和残缺间接决定了整个存储系统的平安和残缺。
于咱们而言,数据安全绝不是指标,而是始终尽心保卫的底线。
早在 JuiceFS v0.15.2 咱们就减少了备份和复原元数据的 dump
和 load
命令,让用户能够依据理论须要定期备份元数据,从而在根底的数据库备份层面之上又减少了一重对元数据的平安保障。
明天,咱们又减少了一重保障——元数据主动备份。
从 JuiceFS v1.0.0 Beta1 开始,不管文件系统通过 mount
命令挂载,还是通过 JuiceFS S3 网关及 Hadoop Java SDK 拜访,每小时都会主动备份元数据并拷贝到对象存储。
备份文件存储在对象存储的 meta
目录中,它是一个独立于数据存储的目录,在挂载点中不可见,也不会与数据存储之间产生影响,用对象存储的文件浏览器即可查看和治理。
默认状况下,JuiceFS 客户端每小时备份一次元数据,主动备份的频率能够在挂载文件系统时通过 mount
命令的 --backup-meta
选项进行调整,比方 --backup-meta 8h
设置每八个小时执行一次主动备份。
尽管主动备份元数据成为了默认动作,但在多主机共享挂载同一个文件系统时也不会产生备份抵触,因为 JuiceFS 保护了一个全局的工夫戳,确保同一时刻只有一个客户端执行备份操作。当客户端之间设置了不同的备份周期,那么就会以周期最短的设置为准进行备份。
另外,JuiceFS 会依照以下规定定期清理备份:
- 保留 2 天以内全副的备份;
- 超过 2 天有余 2 周的,保留每天中的 1 个备份;
- 超过 2 周有余 2 月的,保留每周中的 1 个备份;
- 超过 2 个月的,保留每个月中的 1 个备份。
亮点三:新增 config 命令调整文件系统配置
因为元信息全副存储在数据库中,在过来,JuiceFS 文件系统一旦创立,若须要调整文件系统的配置要应用 format
命令进行批改,还须要带上之前格式化文件系统时的那些参数。再就是间接操作数据库,在相应的数据表中小心翼翼的批改,操作不当还有可能损坏数据库。毫无疑问,过来的几种批改形式既麻烦,又存在肯定危险。
为了解决这个问题,JuiceFS v1.0.0 Beta1 新减少了 config
命令,让你能够通过客户端就能批改文件系统的根本信息。
本次更新的 config
命令反对批改文件系统的容量配额、inodes 配额、对象存储及密钥、回收站清理规定。
亮点四:新增 destroy 命令销毁文件系统
在之前,如果决定停用一个 JuiceFS 文件系统,须要别离操作对象存储和数据库清理数据,如果数据量特地大时会非常消耗精力。
为此,JuiceFS v1.0.0 Beta1 特地新增了 destroy
命令,只需一条命令即可实现文件系统的销毁。
如上图,销毁操作除了要指定元数据存储的 URL 之外,还须要指定文件系统的 UUID,这能够在肯定水平上防止误操作。
留神:销毁文件系统是一项高风险操作,请务必审慎应用!
更多功能
除了上述几项性能之外,JuiceFS v1.0.0 Beta1 还减少了以下新性能:
- 新增
--max-deletes
选项,管制并行删除文件的线程数; - 新增
--consul
选项,将监控指标 API 注册到 Consul 中; - 新增
--keep-etag
选项,保留上传到 S3 网关的对象的 ETag; - 新增
--check-all
和--check-new
选项,容许通过sync
命令同步数据时校验数据的完整性; - sync 命令反对同步匿名拜访的对象存储的数据
无关 JuiceFS 新版的更多内容,欢送理解详情。