使用 Rust 语言编写,思科发布 PuzzleFS 文件系统内核驱动

[热点] 时间:2024-04-27 22:29:46 来源:蓝影头条 作者:探索 点击:74次
10 月 11 日消息,使用思科PuzzleFS 号称是编写“下一代 Linux 容器文件系统”,其采用 Rust 语言编写,发布具有“快速镜像构建”、文件“直接挂载支持”、系统“内存安全保证”等功能。内核

▲ 图源 PuzzleFS GitHub 页面

思科开发者 Ariel Miculas 今日在内核邮件列表中,驱动发布了用 Rust 写的使用思科 PuzzleFS 文件系统驱动,以征求其他开发者的编写意见,目前这一驱动程序处于“概念验证”阶段。发布

转录 Ariel Miculas 介绍 PuzzleFS 特性如下:

PuzzleFS 是文件一种“只读”的文件系统,与 Open Container Initiative (OCI) v2 image specification 的系统设计目标相符,它使用内容定义进行分块,内核并且使用内容寻址的驱动数据存储,旨在解决现有 OCI 格式的使用思科限制。

OCI 镜像规范的第一个版本存在许多问题,这些问题的根源都是来自依赖 tar 存档来保存文件系统中的层,事实上 tar 不适合解决容器文件系统问题。

PuzzleFS 旨在解决 tar 的问题。文件系统镜像本身由一组放置在底层文件系统上的文件组成。与 OCI 镜像格式一样,存在一个顶级 index.json 文件,其中包含一组标签,每个标签代表某一个版本的文件系统,并指向一个清单文件(manifest file)。清单文件又指向镜像配置和存储在实际镜像层中的数据。其他所有内容都存储为 blobs/sha256 目录中的一组 blob。

文件系统中的大多数数据都被分成可变大小的块(chunk),以内容的 SHA256 哈希作为文件名来存储为 blob。这个分块动作本身是使用 FastCDC 算法进行的,该算法查找 "切割点(cut points)",把数据流分为不同大小的 blob。任何一个特定的流(例如文件的内容)都可以分成五个或五十个块,这取决于如何确定这些切割点;然后,每个块都以不同的 blob 方式落在 blobs/sha256 下,并将其哈希添加到清单中。

参考

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,所有文章均包含本声明。

(责任编辑:探索)

    相关内容
    精彩推荐
    热门点击
    友情链接