阅读更多

0顶
1踩

行业应用

原创新闻 TFS:新一代开源文件系统

2017-05-25 14:10 by 副主编 jihong10102006 评论(0) 有4864人浏览
引用

译者注:这篇文章主要对TFS的设计目标和一些常见的问题进行了描述,结尾部分提供了部分与TFS相关的资源供读者参考。

TFS是一款模块化,快速且功能丰富的新一代文件系统,采用现代技术使其具有高性能,高空间使用率和高扩展性,代码托管在Github上。

TFS是由于需要一个用于Redox OS的现代文件系统而被创建的,作为ZFS的替代品,由于其集成设计思想而被证明不会很快的实现。灵感来源于ZFS,同时它的目标是模块化和易于实现。

TFS与terminalcloud的同名文件系统无关。

设计目标

TFS 的设计目标如下:

并发

 TFS 包含很少的锁,目的是尽可能适用于多线程系统。它利用多个真正的并发结构来管理数据,并按核心的数量进行线性扩展。这也许是 TFS 最重要的特性。

异步

 TFS 是异步的:操作可以独立进行, 并且从磁盘写入和读取不需要阻塞。

全磁盘压缩

 TFS是第一个通过我们称之为RACC(随机访问集群压缩)的方案来集成的全盘压缩的文件系统。这意味着每个群集都被压缩, 只会略微影响性能。据估计,可以获得60-120%的可用空间。

修订记录

 TFS存储每个文件的修订历史记录,而不会增加额外的开销。 这意味着你可以将任何文件还原到较早的版本,自动备份系统,而不会造成复制的开销。
即写即拷语义(写时复制语义)

 与Btrfs和ZFS类似,TFS使用CoW语义,这意味着不会直接覆盖集群,而是复制并写入新的集群。

递归拷贝

 与一些文件系统一样,TFS 可以在不变的时间内执行递归拷贝,但是还有一个独特的补充: TFS 即使在突变之后也不会复制。 那是怎样工作的呢?它单独维护文件的各个部分, 这样只需要复制更新的段。

保证原子性

 系统永远不会进入不一致状态 (除非硬件出现故障), 这意味着意外断电不会损坏系统。

缓存改进

 TFS在缓存磁盘时提高了磁盘访问的速度。它使用机器学习方式来学习模式和预测未来的使用, 以减少缓存遗漏的数量。TFS 还压缩内存中的缓存,,减少了所需的内存量。

更好的文件监控

 CoW非常适合高性能,可扩展的文件监控,但不幸的是,只有很少的文件系统包含在内。 TFS是其中之一。

所有内存安全

 TFS只使用在Rust中编写的组件。 因此,内存不安全只能在标记为不安全的代码中进行,这是非常仔细的检查。

全面覆盖测试

 TFS旨在全面覆盖测试。 通过立即显示大类的错误,这对正确性提供了相对较强的保证。

SSD友好设计

 TFS试图通过重新定位死区来避免SSD中的写入限制。

改进的垃圾回收

 TFS使用Bloom过滤器进行空间高效和快速的垃圾回收。 TFS允许FS垃圾回收器在后台运行,而不会阻塞文件系统的其余部分。

常见问题

为什么使用SPECK作为默认密码?

 SPECK是一个相对较新的密码,但它已经受到了很多 (无效) 的密码分析,所以它是相对安全的。它有非常棒性能和简单的实现。可移植性是 TFS 设计的一个重要部分, 真正可移植的 AES 实现没有旁道攻击, 这比许多人想象的要难 (特别是,大多数便携实现中都存在 SubBytes 问题)。SPECK没有这个问题,因此可以通过最小的努力安全地实现移植。

TFS 和 ZFS 的相似程度?

 实际上并不那么相似,它们有许多基本的思想类似,但除此之外,它们本质上是不相干的。但ZFS的设计对TFS的形成起了很大的助推作用 。

TFS是否只有Redox-only?

 不,它从来没有计划仅仅是 Redox-only。

整个磁盘压缩如何工作?

 根据我的了解,全盘压缩是TFS专有的。它通过将多个“页面”(虚拟数据块)收集到“集群”(分配单元)中起作用。这样,可以通过简单地解压缩各个集群来读取页数据。

为什么 ZMicro 这么慢?它会影响 TFS 的性能吗?

 ZMicro这么慢的原因是因为它在一定程度上起作用,为性能提供了出色的压缩比。这种可怕的缓慢性能是由减少写入次数为代价的。事实上,ZMicro的50%以上的分配只会写入一个扇区,而不是3个。其次,无论磁盘的速度有多快,它都不会接近 ZMicro 的性能,因为磁盘操作本质上是缓慢的,从这点来看, 压缩的表现确实不重要。

可扩展哈希或B+树?

都不是。 TFS使用树和哈希表的组合:嵌套的哈希表,一种哈希树的形式。 其思想是,在Bucket(译者注:可理解为容器)中创建一个新的子表,而不是重新分配。

设计资源

一些关于 tfs 设计的文章:

规范

完整的规范可以在specification.tex中找到。若要呈现它,请安装 pdflatex, 然后运行。

pdflatex --shell-escape specification.tex 

然后打开名为 specification.pdf 的文件。
0
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 开源主流分布式文件系统简单介绍

    二、开源分布式文件系统 1.GFS (1)GFS与NFS,AFS的区别 (2)BigTable (3)Chubby (4)特点1 2.HDFS (1)HDFS与Ceph对比 (2)特点1 (3)特点2 3. Ceph (1)...

  • 分布式文件系统对比与选型参考

    MinIO文件存储系统被广泛应用于各种服务厂商,在中国大陆,包括阿里巴巴、腾讯、百度、中国联通、华为、中国移动等9000多家企业都也在使用MinIO产品。

  • Ceph 分布式文件系统

    Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开 发之中,使其能适用于生产环境。Ceph的主要目标...

  • TFS分布式文件系统应用

    TFS是淘宝开源的一套高性能文件存储系统,在阿里广泛应用,除了自建文件系统,在应用上云的大趋势下,还可以使用阿里云的对象存储OSS服务:阿里云对象存储OSS首页 一、关于TFS TFS(Taobao File System)是一个高可...

  • 分布式文件系统(Distributed File System,DFS)

    分布式文件系统(Distributed File System,DFS) 一、什么是分布式文件系统 1、文件系统的定义: ​ 硬盘是计算机最主要的存储设备,数据按扇区存放在硬盘上。硬盘属于硬件,用户无法直接对其进行操作,由操作系统...

  • 大数据时代——分布式内存文件系统:Tachyon

    Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件。把Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件。主要职责是将那些不需要落地到DFS里的...

  • TFS与其他分布式存储系统的对比分析

    TFS(Taobao File System),作为目前淘宝内部使用并开源的分布式文件系统,为淘宝提供海量小文件存储以及其他一些功能,被广泛地应用在淘宝各项应用中。其他分布式存储系统,这里主要指的是最近我通过读论文以及...

  • 分布式文件系统介绍

    当前比较流行的分布式文件系统包括:Lustre、Hadoop、MogileFS、FastDFS、NFS、OpenAFS、MooseFS、pNFS、GlusterFS、以及GoogleFS。

  • 开源分布式文件系统比较

    要使用分布式文件系统来降低成本,于是搜寻了开源的分布式文件系统。 经过安装部署和测试,把我使用中碰到的一些问题总结一下, 希望对大家有所帮助, 我也有一些问题没有搞懂,希望和大家一起交流,共同进步。 ...

  • 主流分布式文件系统对比:区块链分布式技术引发云存储革命?HDFS,GFS,GPFS,FusionStorage,IPFS

    概要:常见的分布式文件系统有GFS、HDFS等,也有新兴的基于区块链IPFS/Filecoin等。有的广泛应用,有的开始挑战,有的是闭源,有的开源。在不同的领域和不同的计算机发展阶段,它们都对数据存储起到了各自的作用。...

  • 分布式系统distributed-system资料

    分布式系统(Distributed System)资料 希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多. 《Reconfigurable Distributed ...

  • GitHub 优秀的 Android 开源项目

    APP示例:Google plus、Google Now卡片式进入、小米系统中应用商店、联系人、游戏中心、音乐、文件管理器的ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、...

  • 常见的分布式文件系统介绍

    该项目主要的目的就是开发下一代的集群文件系统,可以支持超过10000个节点,数以PB的数据量存储系统。 目前Lustre已经运用在一些领域,例如HP SFS产品等。 适合存储小文件、图片的分布文件系统研究 ================...

  • 2019/07/08 分布式文件系统概述(01)

    其实在google几年前就已经面临和解决了,后来google把上一代技术把开源了,发不了论文,照着整个论文进行山寨,hadoop就是这么来的,山寨了google第一代分布式存储和分布式计算的思想而来的。 在google内部很有可能...

  • 网络编程资源大集合(包含前端、java、linux、安卓、github开源项目、开发工具等)

    安卓各组件介绍一、ListView二、ActionBar三、Menu四、ViewPager 、Gallery五、GridView六、ImageView七、ProgressBar八、其他2.GitHub上优秀Android开源项目3. Android开发神器1.Xabber客户端2.oschina客户端3.手机...

  • 分布式文件存储相关概念

    分布式文件存储相关概念

  • 基于Qt开发的截图工具- 支持全屏截图, 支持自定义截图,支持捕获窗口截图,支持固定大小窗口截图,颜色拾取,图片编辑

    基于Qt开发的截图工具.zip 截图工具(QScreenShot) Qt编写的一款截图工具。 特点 - 支持全屏截图 - 支持自定义截图 - 支持捕获窗口截图 - 支持固定大小窗口截图 - 颜色拾取 - 图片编辑 - 图片上传到wordpress 环境 Qt6.2 QtCreate 8

  • 毕业设计&课设_ 校园活动管理系统,优化校园活动组织流程,涵盖多方面功能模块的便捷平台.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

  • 毕业设计基于ASP.NET技术的班级展示网站构建(源代码+论文).zip

    基于ASP.NET技术的班级展示网站构建资源,是一套针对教育机构或学生团体,旨在通过ASP.NET框架开发班级风采展示平台的指导资料或教程。此资源详细介绍了如何利用ASP.NET的强大功能,快速搭建一个功能完善、界面友好的在线班级展示平台。 该资源涵盖了从需求分析、数据库设计、前端页面制作到后端逻辑实现的全过程。通过实例演示,指导用户如何设置班级信息、学生风采展示、活动公告、图片上传与浏览等核心功能模块。同时,结合ASP.NET的MVC架构,实现了前后端分离,提高了代码的可维护性和可扩展性。 此外,该资源还提供了丰富的代码示例和注释,帮助开发者深入理解ASP.NET框架的工作原理,掌握如何运用其强大的数据库操作、用户认证与授权等特性。对于初学者来说,这是一份难得的入门教程;而对于有一定经验的开发者,则是一份提升技能的参考资料。 总之,基于ASP.NET技术的班级展示网站构建资源,是教育机构和学生团体实现班级风采在线展示的理想选择,也是开发者学习ASP.NET框架应用的宝贵资源。

Global site tag (gtag.js) - Google Analytics