JuiceFS v1.0.0 Beta1 发布,加强数据安全能力
在 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 新版的更多内容,欢迎了解详情。
JuiceFS v1.0.0 Beta1 发布,加强数据安全能力的更多相关文章
- JuiceFS v1.0 beta3 发布,支持 etcd、Amazon MemoryDB、Redis Cluster
JuiceFS v1.0 beta3 在元数据引擎方面继续增强,新增 etcd 支持小于 200 万文件的使用场景,相比 Redis 可以提供更好的可用性和安全性.同时支持了 Amazon Memor ...
- JuiceFS V1.0 RC1 发布,大幅优化 dump/load 命令性能, 深度用户不容错过
各位社区的伙伴, JuiceFS v1.0 RC1 今天正式发布了!这个版本中,最值得关注的是对元数据迁移备份工具 dump/load 的优化. 这个优化需求来自于某个社区重度用户,这个用户在将亿级数 ...
- RapidJSON v1.1.0 发布简介
时隔 15.6 个月,终于发布了一个新版本 v1.1.0. 新版本除了包含了这些日子收集到的无数的小改进及 bug fixes,也有一些新功能.本文尝试从使用者的角度,简单介绍一下这些功能和沿由. P ...
- 浏览器端类EXCEL表格插件 版本更新 - 智表ZCELL产品V1.1.0.1版本发布
智表(ZCELL),浏览器下纯JS表格控件,为您提供EXCEL般的智能体验! 纯国产化.高性价比的可靠解决方案. 更新说明 让大家久等了.因为最近忙其他项目,发布时间稍有延迟. 下次版本更新 ...
- FineUIMvc v1.4.0 发布了(ASP.NET MVC控件库)!
FineUIMvc v1.4.0 已经于 2017-06-30 发布,FineUIMvc 是基于 jQuery 的专业 ASP.NET MVC 控件库,是我们的新产品.由于和 FineUI(专业版)共 ...
- 阿里云 Serverless 应用引擎(SAE)发布 v1.2.0,支持一键启停、NAS 存储、小规格实例等实用特性
近日,阿里云 Serverless 应用引擎(SAE)发布 v1.2.0版本,新版本实现了以下新功能/新特性: 一键启停开发测试环境:企业开发测试环境一般晚上不常用,长期保有应用实例,闲置浪费很高.使 ...
- 后台框架 FastAdmin V1.0.0.20200228 发布,为疫情防控作贡献
后台框架 FastAdmin V1.0.0.20200228 发布,为疫情防控作贡献 https://www.oschina.net/news/113694/fastadmin-1-20200228- ...
- 基于swoole框架hyperf开发的纯API接口化的后台RBAC管理工具hyperfly@v1.0.0发布
hyperfly@v1.0.0发布 本文地址http://yangjianyong.cn/?p=323转载无需经过作者本人授权 github地址:https://github.com/vankour/ ...
- QuantumTunnel:v1.0.0 正式版本发布
经过一段时间运行,代码已经稳定是时候发布正式版本了! v1.0.0 正式版本发布 对核心能力的简要说明: 支持协议路由和端口路由:QuantumTunnel:端口路由 vs 协议路由 基于Netty实 ...
随机推荐
- JSONP是个嘛玩意?解决跨域问题?
浏览器同源策略 限制js向 其他域名发起请求,浏览器调试报错如下 JSONP 是一种解决方法 浏览器不会阻止带有src属性的标签发请求.所以可以常用的 <script src="xxx ...
- .Net Core 项目发布在IIS上 访问404 问题对应
对策: 1.进入线程池画面,将当前程序的线程池设为"无托管代码" 2.修改配置文件 Web.config,加上配置 原因: 因为.NetCore 5.0 自带集成了Swag ...
- Qt5绘制仪表盘dashboard
说明 本文演示Qt版本: Qt5.14. 本文将使用QPainter一步一步绘制仪表盘:刻度.指针.刻度值 注意: 绘制顺序,如果先绘制,则后来绘制的将会覆盖住先前绘制的. 如果需要绘制半透明, 请设 ...
- Android NDK开发篇:Java与原生代码通信(数据操作)
虽然说使用NDK可以提高Android程序的执行效率,但是调用起来还是稍微有点麻烦.NDK可以直接使用Java的原生数据类型,而引用类型,因为Java的引用类型的实现在NDK被屏蔽了,所以在NDK使用 ...
- 【LeetCode】556. Next Greater Element III 解题报告(Python)
[LeetCode]556. Next Greater Element III 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人 ...
- 【剑指Offer】二叉树的镜像 解题报告(Python)
[剑指Offer]二叉树的镜像 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题 ...
- Fast Matrix Operations(UVA)11992
UVA 11992 - Fast Matrix Operations 给定一个r*c(r<=20,r*c<=1e6)的矩阵,其元素都是0,现在对其子矩阵进行操作. 1 x1 y1 x2 y ...
- Lucky Substrings
而在26以内且属于fibonacci数列的数为1,2,3,5,8,13,21时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 A string s is LUCKY if ...
- matplotlib 高阶之Transformations Tutorial
目录 Data coordinates Axes coordinates Blended transformations 混合坐标系统 plotting in physical units 使用off ...
- Java EE数据持久化框架 • 【第3章 MyBatis高级映射】
全部章节 >>>> 本章目录 3.1 一对一映射 3.1.1 自动化一对一映射 3.1.2 标签配置一对一映射 3.1.3 标签配置一对一映射 3.1.4 实践练习 3.2 ...