内核空间:两个用于Linux的新文件系统

用于Linux的新文件系统技术包括高容量、快照、写时复制和动态损坏检测。

几乎就在一年前,当开发人员讨论对古老的ext3文件系统的更改时,Andrew Morton是听到说:

所有这一切是说,Linux的文件系统都看起来越来越这些混沌我们得到的地方,我们会从绿地启动一个全新的,一个受益的时间。这种新的一个,甚至可能是基于Reiser4的 - 有没有人看?它已经围坐了一两年。

Reiser4看起来还会继续闲置一段时间。但这并不意味着人们对创建有趣的新文件系统不感兴趣。LogFS是这里讨论但它并不是文件系统领域中唯一的新来者。

也许,最有趣的新竞争者是btrfs,它曾经是宣布作者Chris Mason, 6月12日。它是一个全新的文件系统,用于标准的旋转存储,具有许多有趣的特性。这些包括:

  • Btrfs是一个完全基于盘区的文件系统,这意味着它可以更有效地存储大文件比EXT3(开发中的EXT4文件系统有程度上的支持)。基于扩展区的文件系统摒弃指针包含在文件内的各个块的长列表;相反,连续的块(“区段”)的基团跟踪一起。其结果是远不如元数据开销,尤其是对于大型文件。对于非常小的文件,将BTRFS本身存储该文件的内容的程度结构内,消除了对单独的块分配的需要。
  • 文件系统可以划分为“子卷”,每个子卷都有自己的目录结构和磁盘配额。子卷可以用于对btrfs文件系统进行细分,但是它们还有另一种有趣的用法……
  • Btrfs可以在任何给定的时间冻结文件系统的状态。快照只是子卷;它们成为一个独立的、独立的目录树,可以独立于“活动”文件系统导航。有趣的是,btrfs快照也是实时的,并且可以在拍摄和快照之后进行修改。
  • 支持子卷和快照迫使btrfs采用即写即拷结构。如果将给定的区段写入,则将复制该区段并将新数据写入该副本。区段有参考计数;例如,创建快照将导致引用计数增加。当同时包含在快照和“真实”文件系统中的区段被修改时,它将被复制到正在被修改的子卷中,但是它将保持在原来的位置,在另一个子卷中保持不变。如果快照最终被删除,那么所有相关的引用计数将减少,任何未使用的区段将被回收。
  • 子卷和快照机制消除了单独日志记录特性的需要。对文件系统的更改可以通过简单的快照使其成为事务性的,该快照只持续到事务完成。
  • 这个文件系统校验的一切 - 数据和元数据两者。其结果是,它能够探测到在飞行多种类型的文件系统损坏的。

快速文件系统检查,也是btrfs的一个重要的设计目标。数据和元数据的方式,允许离线文件系统检查到近依次读取磁盘的布局。这应该大大加快这一进程;文件系统检查,通常涉及寻道操作的广大。在线文件系统检查,也是在计划,尽管它尚未实现;一旦工作时,此功能可以消除对完全独立的,安装的时候文件系统检查的需要。

此文件系统处于非常早期的状态——不推荐用于实际想要保存的数据。还没有完成大量的基准测试,而且可能还有很多优化工作要做。例如,整个文件系统目前由一个互斥锁保护,这种解决方案不太可能在那些先进的4096处理器系统上执行得很好。小细节——比如当文件系统空间不足时不检查,直接I/O,写viammap (),扩展属性,异步I / O,和更多 - 还没有得到照顾。但是BTRFS已经获得了大量的利益;如果它不辜负其最初的承诺,我们可以在未来使用基于BTRFS系统发现自己。

(有关更多信息,请参见该项目的btrfs页面)。

另一个最近发布的文件系统是NILFS,它现在的版本是2.0。NILFS是一种日志结构的文件系统,因为存储介质被当作循环缓冲区对待,新的块总是写到最后。这些文件系统在度量写性能的基准测试中表现得很好,因为所有写操作都在一组连续的块中进行;阅读性能并不总是那么好。日志结构的文件系统经常用于flash媒体,因为它们会自然地执行耗损平衡;不过,NILFS似乎并不针对flash设备。

相反,NILFS强调快照。日志结构的方法是一种特定形式的即写即拷行为,因此它自然适合于文件系统快照的创建。NILFS开发人员说话关于创作其可以被用于从用户发起的文件系统的问题中恢复“连续快照” - 那些的“rm - r”品种。NILFS声称可以通过64位数据结构实现可伸缩性,但有趣的是,对x86_64架构的支持仍然在“TODO列表”中。The filesystem does not yet have support for extents.

更多关于NILFS的信息可以在nilfs.org

了解有关此主题的更多信息

BTRFS项目页面

nilfs.org

有评论的LWN文章

本文“内核空间:Linux的两个新文件系统”最初由LinuxWorld——(美国)

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对那些顶级心态的话题发表评论。

©2007Raybet2

工资调查:结果在