社区编辑申请
注册/登录
下一代Linux文件系统前瞻:是BTRFS还是ext4
系统 Linux
Linux文件系统进来发展迅速。从前景看,Linux开发的两个前沿中,ext4的发展不如BTRFS那么显著。BTRFS可能最终会给ZFS和其他文件系统带来更大的威胁,不过该文件系统目前还尚未完成。

最近两年,Linux文件系统得到了很大的发展。Sun有开源的ZFS以及收购的Lustre文件系统。Quantum、Panasas、IBM、惠普、NetApp和Red Hat也都增强了文件系统开发力度。NFS(网络文件系统)正在经历大的变动,主要代表就是pNFS(并行网络文件系统)。毫不奇怪的是,所有这些开发行动促使开源社区推出针对Linux的更高性能的文件系统。

现在我们看看Linux开发的两个前沿:BTRFS文件系统--也被称为Butter FS或B-tree FS--以及ext4。

Illuminata的分析师Gordon Haff表示:"Ext4是对广泛使用的ext3的升级,它从诸多方面提高了功能,并改善了性能。在相对近期,ext4将可能成为下一个在Linux上广泛部署的新的文件系统。"

虽然ext4的开发时间始于2006年,但是ext4直到最近一年才开始真正稳定,而且现在才刚刚开始看到有批量部署。例如,最近发布的ext4版本有Fedora。这种Linux文件系统提高了存储容量上限(容量增加至1EB),同时还有其他各种性能上的调整。

Ext4很大程度上是对流行的ext3文件系统的演进。Ext3限制于16TB的存储,而ext4的设计可以处理更大的存储。Ext4增加了数据完整性功能,支持针对内部日常事务的校验和,这使得它在面临存储错误的时候拥有更强的稳定性。

但是至少从潜能上来看,ext4的发展不如BTRFS那么显著。BTRFS可能最终会给ZFS和其他文件系统带来更大的威胁,不过该文件系统目前还尚未完成。该文件系统拥有在线碎片整理功能,针对固态驱动器(SSD)的运行模式,写时复制日志,以及各种压缩、镜像、条带和快照功能。

Haff表示:"BTRFS是下一代文件系统,这意味着它使用的管理模式和传统的文件系统有所不同。"

他的意思是BTRFS的管理和可用性模式不同于现有文件系统所使用的模式。他举了一个例子:BTRFS基本上将卷管理--过去是单独的产品--整合进了该文件系统本身。该文件系统还拥有各种可靠性和可用性功能,比如快照。

从数据存储的角度来看,BTRFS前进的步伐要比ext4大。BTRFS的一些功能过去通常是由逻辑卷管理器(LVM)和RAID(独立磁盘冗余阵列)硬件所执行的。该系统可以同时为其内部元数据和用户数据进行校验和检验,而且该系统还内置了对快照的支持(就像一个LVM)。Ext4也可拥有其中一些功能,但是需要文件系统和逻辑卷管理器之间的互动。

有趣的是,BTRFS最初是Oracle开发的--该公司正在收购Sun--但现在是以GPL(GUN通用公共许可证)的形式发放许可证,而且完全融入开源社区,接受任何人的代码贡献。在BTRFS项目主页上对自己是这么描述的:"一个新的针对Linux的写时复制文件系统,致力于实施高级的功能,同时关注容错、修复和管理方便性。"

BTRFS是否做好企业级应用准备?

那么BTRFS是否可以成为Linux领域梦寐以求的企业级文件系统,并对ZFS形成竞争呢?一些人表示,比起Sun同等的文件系统,BTRFS包含了更多功能,拥有更好的性能。不过,这很大程度上还是假设。ZFS在许多企业都得到了成功的部署和运行,而BTRFS还没有做好企业级应用的准备。

Haff表示:"BTRFS和ZFS是有一些类似的概念,但是BTRFS仍然还处于发展阶段。有可能在几年以后,BTRFS会做好企业级部署的准备。"

那么BTRFS现在的表现如何?早期标杆显示该文件系统还需要提高性能,不过现在该系统已经可以在读取和写入上提供和ext4同样水准的性能。人们希望BTRFS可以在快照和校验和功能上与ZFS一较长短。ZFS在每次数据发生变化时进行写时复制快照,新的数据还要进行校验和操作以检验有效性并防止数据损坏。BTRFS拥有所有这些功能,而且已经整合进Linux内核。

但是Sun不会因此而感到担忧。BTRFS可能还要几年以后才能从开发阶段进入主流部署。

Haff表示:"鉴于文件系统推出的速度一般比较慢,即使到2011年或2012年BTRFS才得以生产部署,那也是乐观的估计了。虽然ZFS名义上已经做好了准备,Sun还是有两年时间可以认真地推广ZFS。"

Red Hat已完成整合

Red Hat已经将这些新的文件系统整合进自己的产品。Fedora就是Red Hat支持的开源Linux系统,该系统可以免费下载。Red Hat上个月发布了Fedora 11。Fedora 11是Red Hat Red Hat Enterprise Linux(RHEL)的技术基础。BTRFS和ext4都包含在Fedora 11内。

Red Hat文件系统内核经理Ric Wheeler表示:"ext4是Fedora 11缺省的文件系统,所有新用户都会自动成为ext4用户,除非他们选择非缺省的文件系统。虽然Fedora 11也内置了BTRFS,但是由于BTRFS目前很大程度上还是实验性质的文件系统,因此需要专门的启动时间选项才能启用,而且该系统不用于用户的关键数据。"

Red Hat看起来乐意尝试实验性的文件系统,但是不会将赌注都押在一个文件系统上。虽然Fedora 11以ext4为基础,但是Red Hat Enterprise Linux缺省使用的是ext3。此外,Fedora还支持其他的文件系统,比如XFS--Wheeler称这个文件系统拥有丰富的功能而且经历了严格的测试。RHEL目前的技术预演是ext4,而现在则根本不支持BTRFS。

Wheeler表示:"RHEL采用了更为谨慎的步骤。Fedora的用户或许希望获得最新最前沿的功能,但是我们的RHEL客户群则要求更为成熟的技术。"

他同时指出ext4和BTRFS这两种新的Linux文件系统都不是Red Hat的Global File System(GFS:全局文件系统)的直接竞争对手。GFS为高可用性集群提供了构建基石,以便让多个服务器可以并行地读取和写入同一个文件系统。这样的并行操作通常是直接在共享的存储光纤架构上进行,比如光纤通道。BTRFS和ext4,甚至ZFS都不支持集群功能。因此RHEL将ext3用于非集群工作负荷,将GFS用于集群用户的工作负荷。

Wheeler表示:"选择哪种文件系统要根据不同情况而定。随着ext4和BTRFS的成熟,我们将逐步掌握这两种文件系统最适合哪种企业工作负荷。文件系统的用户都可以测试文件系统,并根据专门的工作负荷来调整文件系统,他们还可以参与文件系统的开发流程。"

他对BTRFS尤其热心,认为明年开始BTRFS就可以被一些专门用户用于生产用途。

Wheeler表示:"BTRFS的亮点在于这些新功能使得文件系统可以动态地自我调整,以适应各种类型的存储设备,比如SSD设备或大型RAID阵列。"

【编辑推荐】

  1. Linux未来猜想:被遗忘还是终结Windows?
  2. Linux下Ext3和Reiserfs文件系统优劣分析
  3. Linux日志文件系统面面观
责任编辑:赵宁宁 来源: IT实验室
相关推荐

2022-06-15 11:02:40

网络安全运营

2022-06-16 17:02:49

微软智能云混合云Azure

2022-05-05 09:27:31

Linux服务器优化

2022-06-22 09:19:55

HDC鸿蒙ADB命令

2022-06-28 09:26:25

Python配置文件

2022-06-16 15:42:16

攻击面管理ASM

2022-06-28 12:35:21

DockerPython

2022-06-07 11:16:51

云原生人工智能运维

2022-06-27 23:44:37

云原生云存储云计算

2022-06-28 14:47:43

数据中心服务器科技

2022-06-20 13:34:46

漏洞网络攻击

2022-05-17 11:06:44

数据库MySQL系统

2022-06-28 10:58:35

勒索软件攻击事件

2022-06-28 09:34:24

可视化Python代码

2022-06-14 23:34:10

Linux安全服务器

2022-05-26 18:06:29

华为数据中心

2022-06-23 11:42:22

MySQL数据库

2022-06-27 17:46:53

PythonFlask

2022-06-27 09:54:38

编程语言JavaC++

2022-06-09 09:27:16

前端行业生存

同话题下的热门内容

用这些开源工具在 Linux 上编辑 PDF 文件Linux 网络性能的 15 个优化建议Docker Compose:搭建开发环境的好方式在 Linux 上玩电子游戏的三种方式为什么命令行在 Linux 生态系统中如此重要Docker 暴重大安全漏洞:外部网络可直接访问映射到 127.0.0.1 的本地服务Linux 之父发话:Rust 将合并到 Linux 5.20 内核中去CentOS 替代方案:AlmaLinux 构建系统向所有人开放

编辑推荐

Linux系统下安装MySQL的步骤详解CentOS与Ubuntu有什么不同?Linux下如何使用minicom USB串口为什么你可能想要略过Ubuntu 17.04?Linux中7个判断文件系统类型的方法
我收藏的内容
点赞
收藏

51CTO技术栈公众号