观点/反驳 - Ext3 vs. XFS
与上一专栏的 Twitter 狂欢不同,这次 Bill 将能够用完整的句子说话——即使它们超过 140 个字符!请继续关注 Kyle 对 XFS 的热爱(以及 Bill 对 XFS 的焦虑)。
Kyle: 好的,我承认我在很多系统中使用 ext3。它是一个全面的优秀文件系统,但是当我需要高性能,尤其是处理大型文件时,我总是转向 XFS。
Bill: 当你运行 Debian 或 Ubuntu 时,这很好,但是 Red Hat 盒子呢?而且,不,CentOS 虽然很酷,但在这里不算数。我说的是真正的 Crimson Fedora——Red Hat。它根本不支持内核中的 XFS,不是吗?所以,你被迫构建自己的东西,然后你就会陷入管理员的头痛之中。
Kyle: 嗯,你已经排除了 CentOS,但是如果你陷入类似 Red Hat 的环境并想要像 XFS 这样的高性能,你可能不得不偏离受支持软件包的列表,要么使用 CentOS,要么使用自定义存储库。无论如何,这不会是管理员第一次不得不弥补 Red Hat 中有限的受支持软件包集。
Bill: 突击测验,高手:这会让你脱离 Red Hat 的支持矩阵吗?
Kyle: 我的理解是,只有当问题直接与文件系统或内核相关时,您才会脱离支持。不过我会诚实地说,在我获得 Red Hat 支持的所有年中,我想不出有哪一次我真正需要它。但是,我有很多情况,开发人员希望将文件系统用作数据库,并将数百万个文件存储在巨大的嵌套目录中——XFS 可以很好地处理这种情况。
Bill: 嘘。你会激怒一个可能的广告商。我们不是曾经在 dm-mapper 或 ocfs 问题上与他们接触过吗?但是,是的,那是一个题外话——仅仅因为你不使用支持并不意味着你不需要它。你继续支付这笔费用是有原因的。关于开发人员将文件系统用作数据库,我们都见过这种情况。XFS 在这里有所帮助,但是重新设计你的整个文件系统不一定是解决糟糕的软件架构设计的方案。(我在那里使用了“架构”这个词——给我加分!)
Kyle: 是的,是的,收起你的绘图桌,建筑师先生。我们都知道系统管理员很少能决定开发人员如何解决问题。无论如何,没有什么大的重新设计。在基于 Red Hat 的系统中,这只是一个不同的内核包(包含在 CentOS 中)和重新格式化文件系统的问题。在基于 Debian 的系统中,该能力已经存在。无论如何,您不必使用 XFS 格式化所有内容,只需格式化那些从中受益的文件系统即可。
Bill: 没错。说到能力,当事情变得糟糕时,恢复系统的能力如何?我从来没有运气修复 XFS 文件系统——它们总是吞噬我的数据。Ext3 可能很慢,但我总是能够从损坏的文件系统中保存一些东西。
Kyle: 瞧,我的经历正好相反。在我看来,XFS 的一个巨大优势是恢复工具的工作效果非常好。我基本上在所有主要文件系统上都丢失过数据,从 ReiserFS(我们不要去那里)到 ext2 和 ext3,是的,甚至 XFS,但是每当我需要进行恢复时,XFS 恢复工具总是很成功,即使问题与坏硬盘控制器有关。
Bill: 嗯,我可能有偏见,因为几年前我在你的要求下用 XFS 格式化了我的笔记本电脑,并眼睁睁地看着一个有趣的 bug 吞噬了我所有的数据。如果你还记得,我从未恢复过。
Kyle: 就像我说的那样,我经历过每个文件系统吞噬数据的情况。我还要指出,我从来没有真正被那个 bug 咬过,但我确实记得几年前的一个非常糟糕的 ext3 bug,它非常糟糕,以至于他们事后实际上将内核标记为有缺陷。我一直在我的个人系统上使用 XFS,既用于大型文件存储,甚至用作我现在个人笔记本电脑上的 /home 目录的文件系统,没有任何问题。事实是,当我转移到 XFS 时,我注意到了系统速度的明显差异。
Bill: 我知道你有。你在这些事情上有一种光环效应。我...有相反的效果。如果它会坏,我就会弄坏它。我一直能够从 ext3 爆炸中恢复过来。对我来说,这不是速度的问题。Ext3 文件系统和工具是众所周知的,并且已在所有东西中发布。我知道如果我的机器坏了,我可以将磁盘移动到另一台 Linux 机器上并能够读取文件系统,或者我可以使用“标准”恢复盘。哎,甚至还有其他操作系统的插件可以读取 ext3。用 XFS 试试看。
Kyle: 我的标准恢复光盘一直是 Knoppix [在此处插入插件],它始终可以很好地与 XFS 文件系统配合使用。我并不是说 XFS 应该用于所有事情。Ext3 是大多数发行版的默认文件系统是有原因的。毕竟,它为各种文件系统提供了良好的全面性能。但是,当您需要千兆字节大型文件或数百万个小型文件的高性能时,XFS 很难被击败。即使格式化 XFS 文件系统也比 ext3 快得多。
Bill: 我不争论 XFS 不更快——它确实更快,而且优势很大。但是,我认为它没有那么安全。
Kyle: 我认为如今任何系统上的最大风险都不是文件系统损坏。要么是硬盘驱动器故障,要么是用户错误。在任何一种情况下,如果您非常担心,您应该准备好一套可靠、经过测试的备份系统。
Bill: 没错,没有文件系统或 RAID 可以替代可靠的备份方法。这是我们确实同意的。
Kyle: 对我来说,最重要的是,每当我达到 ext3 的极限时,我知道我有一个可靠、快速的替代方案 XFS。XFS 恢复工具非常出色,而且根据我的经验,它们工作良好。此外,它在 Linux 中已经存在足够长的时间来消除任何重大错误,并且可以在从 CentOS 到 Debian 再到 Ubuntu 的任何系统中使用。当我想要一个普通的文件系统时,我选择 ext3,但是当我需要速度时,我选择 XFS。
Bill: 除非 Red Hat 没有提供 XFS,这是一个相当大的安装基础。仅仅因为某些东西更快并不一定意味着它是最好的长期解决方案。XFS 可能更强大,但是在企业级层面可能超出可支持配置的缺点使我无法在任何非必要设备上部署 XFS。
Bill 的最新说明: 就在我们准备付印时,Red Hat 宣布 XFS 将在 Red Hat Enterprise 5.4 beta 中提供。在 5.4 版本发布后,我的论点将被发送到 /dev/null。
Kyle Rankin 是旧金山湾区的高级系统管理员,也是许多书的作者,包括 O'Reilly Media 的 Knoppix Hacks 和 Ubuntu Hacks。他目前是北湾 Linux 用户组的主席。
Bill Childers 是硅谷的一位 IT 经理,他与妻子和两个孩子住在一起。他非常喜欢 Linux,而且他可能应该时不时地多晒晒太阳。在他的业余时间,他确实在 Gilroy 大蒜节工作,但他身上没有大蒜味。