文件系统:它们不是世界上最激动人心的技术,但是仍然很重要。本文我们将细数那些流行的Linux文件系统-它们是什么,它们能够做什么,以及它们的目标用户。
Ext4
如果你曾经安装过Linux,你可能在安装过程中看到过“Ext4”字样。用它有一个不错的理由:它是当前每个可用的Linux发行版所选择的文件系统。当然,还有其他的一些选择,但是不可否认的是,Ext4(Extended4)几乎是所有Linux用户都会选择的文件系统。
它能做什么?Ext4拥有之前的文件系统(Ext2/Ext3)中你所期待的所有优点,同时还带来了一些改进。还有很多内容可以发掘,这里列举出了Ext4为你带来的最好的部分:
日志型文件系统日志校验多重块文件分配向后兼容Ext2&&Ext3持续的空闲空间预分配改进的文件系统校验(相比于之前的版本)当然,同时支持更大的文件目标用户Ext4针对那些寻找超级可靠的基础环境或者那些只需要能工作就行的用户。这个文件系统不会对你的系统做快照;它甚至没有最好的SSD支持,但是如果你不是太挑剔的话,你会觉得它也还不错。
BtrFS
B树(B-tree)文件系统(也被当做是butterFS,黄油文件系统)是Oracle为Linux研发的一款文件系统。它是一个全新的文件系统,而且正处于主要开发阶段。Linux社区认为其有时候使用上还有些不稳定。BtrFS的核心原则是围绕着写时复制(copy-on-write)原则展开的。写时复制基本上意味着在写入数据完成前,这份数据的每一比特都有单独的一份副本。当数据写入完毕后,相当于它做了一份副本。
它能做什么除了支持写时复制之外,BtrFS也能够胜任许多其他的事务-事实上,它可以不断列出各种特性。这里列举最值得一提的特性:支持只读快照、文件克隆、子卷、透明压缩、离线文件系统校验、从ext3&4原地转换到BtrFS、在线碎片整理,还支持RAID0,RAID1,RAID5,RAID6和RAID10。
目标用户BtrFS的开发者们许诺过,该文件系统是当前其他文件系统的新一代替代者。非常正确,虽然目前其处于开发中。它有很多面向高级用户的杀手级特性,对于基本用户也是这样(包括SSD上面的更佳性能)。这个文件系统针对那些想要从文件系统中获取更多(特性),以及那些想尝试用写时复制机制做一些事情的用户。
XFS
由SiliconGraphics公司创造开发,XFS是一个高端文件系统,定位于速度和性能方面。处于对性能方面的专注,使得在并行IO方面,XFS表现的尤其出色。XFS文件系统能够处理数量庞大的数据,事实上某些XFS用户的数据接近300TB以上。
它能做什么XFS是一个经历良好测试的数据存储文件系统,它是为了高性能操作而诞生的。其特性包括:
RAID阵列的条带化分配日志型文件系统块大小可变直接I/O指定速率(guaranteed-rate)I/O快照在线碎片整理在线调整文件系统大小目标用户XFS针对那些想要一个坚如磐石的文件系统方案的用户。它始于1993年,并且随着时间的变迁它变得越来越好。如果你有一台家庭服务器,而且你苦恼于如何部署存储环境,那么可以考虑下XFS。它拥有的众多特性(比如快照)能够有助于你的文件存储系统。尽管如此,它不局限于服务器端。如果你是一个相对高级一点的用户或者你对BtrFS所承诺的很多特性感兴趣的话,尝试一下XFS。它实现了很多与BtrFS相似的特性,并且没有稳定性方面的问题。
Reiser4
Reiser4是ReiserFS的继任者,由Namesys公司创造研发。它的诞生可以追溯到Linspire项目和DARPA。它与众不同的地方在于众多的事务模式。并不止于单一的一种写入数据的方式;取而代之的是,有很多方式(来写入)。
它能做什么Reiser4拥有着使用多种不同事务模式的独特能力。它能够使用写时复制模式(像BtrFS),任意位置写入(write-anywhere),日志,以及混合事务模式。它在ReiserFS的基础上做了许多的改进,包括更好的基于漫游日志的文件系统日志,对较小文件的支持更好,以及更快速的目录处理。Reiser4提供了许多功能特性。还有更多的特性可以探讨,不过简单来讲,相比于ReiserFS它不但做了非常大的改进,而且增加了众多特性。
目标用户Resier4适合那些想要将一个文件系统应用到多种场景下的用户。可能你想在一台机器上使用写时复制机制,在另一台机器上使用任意位置写入机制,还会在另一台机器上使用混合事务,而你又不希望使用多种不同类型的文件系统来完成这项任务。Reiser4是适合这种情况的完美方案。
结论Linux上有许多可用的文件系统。每个文件系统都有其特定的用途,以便于特定用户解决不同的问题。本文的焦点集中在Linux平台上文件系统的主流选择。毫无疑问,其它的场景下还有一些别的选择。
你在Linux上最喜欢的文件系统是什么?在下面的评论区告诉我们吧!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。