JuiceFS 社区版 v1.1- Beta 发布,新增五个实用功能

这篇具有很好参考价值的文章主要介绍了JuiceFS 社区版 v1.1- Beta 发布,新增五个实用功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们很高兴地宣布 JuiceFS v1.1-Beta 版本正式发布啦!这是一个功能丰富的版本,带来了许多实用的新功能和改进。在这个版本中我们新增了以下功能:

  • 目录配额:为目录设置配额限制,控制其大小和文件数
  • 目录克隆:快速地复制目录及其内容,节省时间和空间
  • 一键恢复回收站文件:一次性地恢复某段时间内所有被删除的文件,无需逐个操作
  • 一键收集诊断信息:一键生成诊断报告,方便排查问题和反馈意见
  • 快速查看用量信息:快速查看存储空间和文件数的统计信息

此外,我们还新增了一个元数据引擎 FoundationDB,一个支持分布式事务的 Key-Value 存储。

本次版本,共有 57 位社区贡献者参与贡献了 726 次提交,感谢每一位的付出。

下面,我们将详细介绍这个版本的新功能和变化。

目录配额

配额可以用来限制文件系统中存储空间的最大可用量,防止因个别用户占用过多而影响整个系统的稳定性。在之前版本中,JuiceFS 只支持文件系统级别的配额。这样一来,当这个文件系统被多用户共享使用时,管理员就无法有效地控制每个用户的使用量。因此,在 v1.1 版本中,我们为 JuiceFS 增加了目录配额的功能。具体来说,管理员可以根据需要为任意目录设置一个配额阈值(硬限制),之后如果此目录的使用量达到或超过该阈值,任何试图新建或扩展文件的请求都将失败,直到用户删除部分已有文件或管理员提高配额阈值。另外,为目录设置配额还有一个好处,就是可以让 JuiceFS 跟踪并记录它的使用情况,并在需要时快速获取此目录及其子目录下所有文件的用量统计信息。

目录配额的管理需要借助于新的 juicefs quota 命令,其设置参数与现有的文件系统配额一致,通过 --capacity <val> 来限制容量和通过 --inodes 来限制文件数。例如:

$ juicefs quota set $METAURL --path /test --capacity 1
+-------+---------+---------+------+-----------+-------+-------+
|  Path |   Size  |   Used  | Use% |   Inodes  | IUsed | IUse% |
+-------+---------+---------+------+-----------+-------+-------+
| /test | 1.0 GiB | 1.6 MiB |   0% | unlimited |   314 |       |
+-------+---------+---------+------+-----------+-------+-------+

以上命令为 /test 目录设置了 1 GiB 的容量配额,且同时可以看到该目录下已使用量为 1.6 MiB。由于为目录新建配额时,需要递归统计该目录下当前的使用量,因此为已有的大目录设置配额可能需要等待较长时间。如果想查询某个目录的配额及其当前用量,可以使用 quota get 子命令,如:

$ juicefs quota get $METAURL --path /test
+-------+---------+---------+------+-----------+-------+-------+
|  Path |   Size  |   Used  | Use% |   Inodes  | IUsed | IUse% |
+-------+---------+---------+------+-----------+-------+-------+
| /test | 1.0 GiB | 1.6 MiB |   0% | unlimited |   314 |       |
+-------+---------+---------+------+-----------+-------+-------+

此外,也可以使用 quota ls 子命令来查看所有已经设置的配额。

值得注意的是,目录配额的统计并不是实时更新的,而是有一定的延迟。这样做是为了尽量减少对业务性能的影响。因此,可能出现这样的情况:目录用量已经达到配额阈值,但部分客户端在短时间(10 秒级别)内仍然可以写入。同时,如果客户端进程异常退出,其临时记录的用量信息可能还没有同步给元数据引擎,导致信息不准确。为了解决这个问题,JuiceFS 提供了 quota check 子命令,可以在必要时检查并修复配额中的统计值,如:

$ juicefs quota check $METAURL --path /test --repair
+-------+---------+---------+------+-----------+-------+-------+
|  Path |   Size  |   Used  | Use% |   Inodes  | IUsed | IUse% |
+-------+---------+---------+------+-----------+-------+-------+
| /test | 1.0 GiB | 3.2 MiB |   0% | unlimited |   317 |       |
+-------+---------+---------+------+-----------+-------+-------+

文件数的限制与其类似,在此不再赘述,具体使用可参考:https://juicefs.com/docs/zh/community/guide/quota/#目录配额。

目录克隆

有时候,用户可能需要将一些文件复制出来用于其他目的。如果文件量不大,可以直接用 cp 命令来完成。但是,如果文件量很大,这样做就会耗费很长时间,并且涉及到大量的对象存储数据复制。为了解决这个问题,JuiceFS 新增了目录克隆的功能,可以快速复制指定目录下的所有文件。新复制出来的文件有自己的元数据,但是和原文件共享数据块,只是将其引用计数加一。克隆完成后,两边的文件都是独立的,可以各自修改而不会相互影响。由于克隆过程只涉及到元数据操作,而不需要复制数据,因此速度会比普通的 cp 命令快很多。执行克隆的命令示例如下:

$ juicefs clone /mnt/jfs/dir1 /mnt/jfs/dir2

一键恢复回收站文件

JuiceFS 的回收站中,文件按照被删除的时间归类,并且附加了原来父目录的索引号,用于在需要时找回其原来的位置。但是,在实际使用中,我们发现利用这些信息重新构建目录结构比较麻烦,只适合手动恢复少量的文件。为了解决这个问题,JuiceFS 在这个版本中新增了 juicefs restore 命令来帮助整理这些文件,例如:

$ juicefs restore redis://localhost/1 2023-05-10-01 --put-back

以上命令可以将 .trash/2023-05-10-01 中的所有文件按其被删除时的目录结构放回原位置。如果原父目录不存在或者遇到有冲突的文件名,则会打印告警日志并跳过,用户后续可以再手动将其恢复到想要的位置。

一键收集诊断信息

当 JuiceFS 在运行中出现故障时,新接触的用户往往不知道该如何分析问题原因。因此,在这个版本中 JuiceFS 增加了 juicefs debug 命令来帮助一键收集关键的现场信息,包括主机环境、软件版本和进程运行时状态等,如:

$ juicefs debug /mnt/jfs --out-dir /tmp/jfs-debug 

待命令完成退出后,用户可以在 /tmp/jfs-debug 中找到一个以挂载点名称和时间戳命名的 .zip 文件,里面即包含此次收集的诊断信息。

快速查看用量统计

在生产环境中,管理员经常需要定期查看文件系统的使用量情况,或者找出当前系统中最占用空间的目录等。在 JuiceFS 之前版本中,这需要管理员手动统计多个目录的用量(比如执行 du 命令),然后进行排序筛选,这样做既麻烦又可能耗时很长。为了解决这个问题,在这个版本中,JuiceFS 新增了 juicefs summary 命令来快速查看指定目录下的用量统计。例如:

$ juicefs summary /mnt/jfs --depth 1 --entries 5
+------+---------+------+-------+
| PATH |   SIZE  | DIRS | FILES |
+------+---------+------+-------+
| /    | 176 MiB |    9 |    20 |
| d2/  |  43 MiB |    1 |     5 |
| d4/  |  40 MiB |    3 |     4 |
| d5/  |  40 MiB |    1 |     4 |
| d3/  |  23 MiB |    1 |     4 |
| d1/  |  20 MiB |    1 |     2 |
| ...  |  10 MiB |    1 |     1 |
+------+---------+------+-------+

上述命令会统计 /mnt/jfs 下所有一级目录的使用量,并根据 SIZE 从大到小排序后显示最高的 5 项。

其他新功能

在这个版本中,JuiceFS 还增加了一些其他功能来提高系统的安全性与易用性,包括:

  1. 在 mount 时通过 --root-squash 选项来将 root 用户映射为一个非特权用户,以此来减少权限安全隐患和防止误操作
  2. 在 mount 时通过 --enable-ioctl 选项来使能对 ioctl 的部分支持,目前能用来设置一些特殊标记位来控制文件的行为,如 append only (a)immutable (i)
  3. 在使用 juicefs sync 工具时,新支持了 jfs:// 前缀,可以在不挂载的情况下就直接将对象存储与 JuiceFS 内文件同步

新的元数据引擎

在此版本中,JuiceFS 还引入了一种新的元数据引擎 FoundationDB。这是一款由 Apple 公司开源的分布式数据库,能够在多个集群服务器上高效地存储和管理大规模的结构化数据。它具有高性能、高可扩展性和高容错性的特点。要使用 FoundationDB 作为 JuiceFS 的元数据引擎,只需将 Meta-URL 设置为:fdb://<cluster_file_path>?prefix=<prefix>。其中 cluster_file_path 是 FoundationDB 的配置文件路径,用于连接其服务端。而 prefix 是一个用户自定义的字符串(与使用 TiKV 类似),可以在多个文件系统或者应用共用一个 FoundationDB 集群时,区分不同的元数据空间。示例如下:

$ juicefs format \
    --storage s3 \
    ... \
    "fdb:///etc/foundationdb/fdb.cluster?prefix=jfs" \
    pics

具体使用细节可以参考文档

v1.1-Beta 下载地址:https://github.com/juicedata/juicefs/releases/tag/v1.1.0-beta1

希望这些变化能够让你在使用 JuiceFS 时感到更加轻松、便捷和高效。我们也期待你提供宝贵的反馈和意见。如果你还没有开始使用 JuiceFS,可以关注我们的公众号,或者访问官网 ,我们为开发者准备了详细的文档和博客。文章来源地址https://www.toymoban.com/news/detail-479997.html

到了这里,关于JuiceFS 社区版 v1.1- Beta 发布,新增五个实用功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JuiceFS v1.0 正式发布,首个面向生产环境的 LTS 版本

    今天,JuiceFS v1.0 发布了 🎉 经过了 18 个月的持续迭代和大量生产环境的广泛验证,此版本将成为第一个被长期维护的稳定版(LTS)。同时,该版本提供完整的向前兼容,所有用户可以直接升级。 JuiceFS 是为云环境设计的分布式文件系统,同时兼容 POSIX、HDFS、S3 访问协议,也

    2024年01月18日
    浏览(50)
  • 苹果macOS 14开发者预览版Beta 7发布 新增超过100款视频壁纸和屏保

    8 月 31 日,苹果向 Mac 电脑用户推送了 macOS 14 开发者预览版 Beta 7 更新(内部版本号:23A5337a),本次更新距离上次发布隔了 8 天。 苹果发布 Beta 7 更新的同时,还发布了第 6 个公测版,正式版预估在 9 月中旬或者 10 月份发布。 macOS Sonoma 引入了桌面小工具、新的视频通话增强

    2024年02月10日
    浏览(31)
  • 开源进展 | WeBASE v3.1.0发布,新增多个实用特性

    WeBASE是一个友好、功能丰富的区块链中间件平台,通过一系列通用功能组件和实用工具,助力社区开发者更快捷地与区块链进行交互。 目前WeBASE已更新迭代至v3.1.0版本,本次更新中,WeBASE带来了最新的合约Java脚手架导出功能,完成达梦数据库适配,新增WeBASE CRUD预编译接口代

    2024年02月14日
    浏览(23)
  • 新增守护进程管理、支持添加MySQL远程数据库,支持PHP版本切换,1Panel开源面板v1.5.0发布

    2023年8月14日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.5.0版本。 在这个版本中,1Panel新增了守护进程管理功能;支持添加MySQL远程数据库;支持添加FTP/S和WebDAV的SFTP服务;支持PHP版本切换。此外,我们进行了40多项功能更新和问题修复。1Panel应用商店也新增了

    2024年02月13日
    浏览(35)
  • NineData发布企业级多人协作能力,新增智能SQL功能

    NineData 新发布了企业级多人协作能力,SQL 窗口和 SQL 任务分别接入了开发规范和审批流程;同时发布了智能 SQL,提供自然语言转换 SQL 的能力。 其中,企业级多人协作能力,解决了企业级日常业务的以下痛点: 权限安全管控: 避免普通用户直接接触数据源账号密码,可按需

    2024年02月08日
    浏览(39)
  • 夜莺项目发布 v6.4.0 版本,新增全局宏变量功能

    大家好,夜莺项目发布 v6.4.0 版本,新增全局宏变量功能,本文为大家简要介绍一下相关更新内容。 像 SMTP 的配置中密码类型的信息,之前都是以明文的方式在页面展示,夜莺支持全局宏变量之后,可以在变量管理配置一个 smtp_password 的密码类型的变量,在 SMTP 配置页面,密

    2024年02月05日
    浏览(33)
  • ONLYOFFICE 文档 7.5 现已发布:新增 PDF 编辑器、屏幕朗读器等功能

    我们已推出最新版的在线编辑器,整个套件具备多项增强功能。敬请继续阅读,了解所有更新。 PDF 是工作中很常见的文件格式。 我们经常需要打开各种PDF格式的宣传册,签署协议和合同等等。 我们一直记得这一点,一直正在开发原生 PDF 编辑工具,方便万千用户。而现在,

    2024年02月08日
    浏览(43)
  • 开源的OA办公系统——勾股OA2.0发布,新增审批模块、工作上报等功能模块

    勾股OA是一款基于ThinkPHP6 + Layui + MySql打造的简单实用的开源的企业OA办公系统。可以帮助解决企业办公项目80%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。使用勾股OA可以简单快速地开发出企业级的Web应用系统。

    2023年04月08日
    浏览(26)
  • Apache IoTDB v1.3.0 发布|增加客户端服务器 SSL 通讯加密、写入负数时间戳等功能...

    Release Announcement   Version 1.3.0   Apache IoTDB v1.3.0 已经发布,主要新增 SSL 通讯加密、数据同步监控项统计等新特性,优化了原有权限模块的语法和逻辑、metrics 算法库性能、Python 客户端写入性能以及在部分查询场景下的查询效率,修复部分产品 bug 和性能问题。 欢迎在我们的网

    2024年01月17日
    浏览(43)
  • 关于边缘计算的五个实用案例与优势

    在数据传输、实时应用和低延迟需求的推动,边缘计算和云计算已经逐渐取代了传统的计算机架构模式。边缘计算作为云计算的延申,是在边缘侧布置数据计算功能,筛选过滤数据,从而达到降低延迟、提高性能的作用,其作用是拉近用户设备与数据的距离。 边缘计算的四个

    2024年01月21日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包