在 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 我们就增加了备份和恢复元数据的 dumpload 命令,让用户可以根据实际需要定期备份元数据,从而在基础的数据库备份层面之上又增加了一重对元数据的安全保障。

今天,我们又增加了一重保障——元数据自动备份。

从 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 发布,加强数据安全能力的更多相关文章

  1. JuiceFS v1.0 beta3 发布,支持 etcd、Amazon MemoryDB、Redis Cluster

    JuiceFS v1.0 beta3 在元数据引擎方面继续增强,新增 etcd 支持小于 200 万文件的使用场景,相比 Redis 可以提供更好的可用性和安全性.同时支持了 Amazon Memor ...

  2. JuiceFS V1.0 RC1 发布,大幅优化 dump/load 命令性能, 深度用户不容错过

    各位社区的伙伴, JuiceFS v1.0 RC1 今天正式发布了!这个版本中,最值得关注的是对元数据迁移备份工具 dump/load 的优化. 这个优化需求来自于某个社区重度用户,这个用户在将亿级数 ...

  3. RapidJSON v1.1.0 发布简介

    时隔 15.6 个月,终于发布了一个新版本 v1.1.0. 新版本除了包含了这些日子收集到的无数的小改进及 bug fixes,也有一些新功能.本文尝试从使用者的角度,简单介绍一下这些功能和沿由. P ...

  4. 浏览器端类EXCEL表格插件 版本更新 - 智表ZCELL产品V1.1.0.1版本发布

    智表(ZCELL),浏览器下纯JS表格控件,为您提供EXCEL般的智能体验! 纯国产化.高性价比的可靠解决方案. 更新说明     让大家久等了.因为最近忙其他项目,发布时间稍有延迟.  下次版本更新 ...

  5. FineUIMvc v1.4.0 发布了(ASP.NET MVC控件库)!

    FineUIMvc v1.4.0 已经于 2017-06-30 发布,FineUIMvc 是基于 jQuery 的专业 ASP.NET MVC 控件库,是我们的新产品.由于和 FineUI(专业版)共 ...

  6. 阿里云 Serverless 应用引擎(SAE)发布 v1.2.0,支持一键启停、NAS 存储、小规格实例等实用特性

    近日,阿里云 Serverless 应用引擎(SAE)发布 v1.2.0版本,新版本实现了以下新功能/新特性: 一键启停开发测试环境:企业开发测试环境一般晚上不常用,长期保有应用实例,闲置浪费很高.使 ...

  7. 后台框架 FastAdmin V1.0.0.20200228 发布,为疫情防控作贡献

    后台框架 FastAdmin V1.0.0.20200228 发布,为疫情防控作贡献 https://www.oschina.net/news/113694/fastadmin-1-20200228- ...

  8. 基于swoole框架hyperf开发的纯API接口化的后台RBAC管理工具hyperfly@v1.0.0发布

    hyperfly@v1.0.0发布 本文地址http://yangjianyong.cn/?p=323转载无需经过作者本人授权 github地址:https://github.com/vankour/ ...

  9. QuantumTunnel:v1.0.0 正式版本发布

    经过一段时间运行,代码已经稳定是时候发布正式版本了! v1.0.0 正式版本发布 对核心能力的简要说明: 支持协议路由和端口路由:QuantumTunnel:端口路由 vs 协议路由 基于Netty实 ...

随机推荐

  1. 【cs231n笔记】assignment1之KNN

    k-Nearest Neighbor (kNN) 练习 这篇博文是对cs231n课程assignment1的第一个问题KNN算法的完成,参考了一些网上的博客,不具有什么创造性,以个人学习笔记为目的发布 ...

  2. worksocket使用Nginx进行反向代理

    配置文件 map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream weoskceturl{ serv ...

  3. 【LeetCode】1041. Robot Bounded In Circle 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 找规律 日期 题目地址:https://leetco ...

  4. SOFA 数据透析

    数据透传: 在 RPC调用中,数据的传递,是通过接口方法参数来传递的,需要接口方定义好一些参数允许传递才可以,在一些场景下,我们希望,能够更通用的传递一些参数,比如一些标识性的信息.业务方可能希望,在 ...

  5. 【操作系统】bat文件 系统找不到文件路径

    我直接使用bat文件发现我要删除的文件夹还在 在bat文件最后添加pause指令查看发现报错:系统找不到文件路径 原因:路径包括中文,显示乱码(因为txt另存为bat时用量utf-8编码) 解决方法: ...

  6. Spurious Local Minima are Common in Two-Layer ReLU Neural Networks

    目录 引 主要内容 定理1 推论1 引理1 引理2 Safran I, Shamir O. Spurious Local Minima are Common in Two-Layer ReLU Neu ...

  7. [算法笔记-题解]问题 D: 习题4-4 三个整数求最大值

    问题 D: 习题4-4 三个整数求最大值 [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 12 MB 题目描述 有3个整数a, b, c,由键盘输入,输出其中最大的数. 输入 ...

  8. 使用 JavaScript 中的 document 对象的属性,根据下拉框中选择的属性,更改页面中的字体颜色和背景颜色

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的 document 对象的属性,根据下拉框中选择的属性,更改页面中的字体颜色和背景颜色 实现思路: 在页面的 <body&g ...

  9. HTML5 +Java基础 大一结业认证考试试题 - 云南农业职业技术学院 - 互联网技术学院 - 美和易思校企合作专业

     第1题 [单选题][0.33分][概念理解] 关于java中的逻辑运算符,下列说法正确的是 逻辑运算符||.&&.!都是用于连接两个关系表达式</p> 当&&am ...

  10. MySQL数据操作与查询笔记 • 【第7章 连接查询】

    全部章节   >>>> 本章目录 7.1 内连接查询 7.1.1 交叉连接(笛卡尔积) 7.1.2 内连接查询概要 7.1.3 内连接案例 7.1.4 自然连接 7.2 多表连 ...