在决定在我们的服务器上使用 LVM2 作为卷管理器之后,还希望有一个在线可调整大小的文件系统。在阅读了几篇文章后,我决定使用 JFS 来代替 XFS。
今天我的办公室服务器停电了,我发现 JFS 卷上的一个文件已完全损坏。虽然这可能会发生,但系统通过在电源故障后的启动过程中没有指示任何文件系统问题来欺骗我相信一切都很好。重播日志后,所有文件系统都是干净的。
这给我留下了不好的味道。我不想要一个在断电后无法很好恢复的文件系统,但我真的不想要一个不会告诉我可能有问题的文件系统。
所以我想我试一试,问你更喜欢哪个文件系统?你喜欢哪一个,为什么?我正在寻找以下功能:
- 强大的
- 在线可增长
- 正常工作负载的良好性能(正常文件大小 - 没有什么特别的,比如数百万个小文件等)
- 在 CentOS 5.4 发行版中可用,但这是可选的
我还想知道您是否使用过 JFS 并且有过不好的体验——当然还有使用 JFS 的成功案例。最终:您是否更喜欢 XFS 而不是 JFS,反之亦然(如日常使用所述,而不是特定工作负载)
XFS。
JFS 现在基本上已经死了/无人维护。
大多数/所有 XFS 开发人员现在都在 Redhat 工作,并且对 XFS 的内核支持在 RHEL 5.4 中开箱即用。
重放日志只是意味着元数据恢复到干净的状态。它不保证数据本身。任何日志文件系统都是如此,至少任何不执行其他技巧(如 COW(写入时复制))的系统都是如此。因此,无论您选择哪种文件系统,只要服务器不干净地关闭,就有可能发生这样的数据损坏。您的文件系统完成了它的工作,并且能够使文件系统恢复到干净状态,从而最大限度地减少数据丢失/损坏。
因此,从中吸取的教训应该是始终将您的服务器安装在 UPS 上,该 UPS 可以指示服务器在电池电量不足时干净地关闭。并且总是有很好的备份。
如果您真的担心数据完整性,您将不得不迁移到更强大的文件系统,例如 OpenSolaris 或 BSD 上的 ZFS。这是我目前所知的唯一可用于生产的免费解决方案。一旦成熟并经过测试,Linux 上的 BTRFS 将在几年内成为一个不错的解决方案。但我现在真的不建议在生产环境中使用它。即使是这些更强大的文件系统也不能替代备份。
与布拉德在这里的经历相同。
JFS 在性能和功能方面都非常出色,但在强制关闭后我只丢失了 3 个分区的数据。
因此,我将 JFS 扔进了垃圾箱,将来会使用 XFS(并在 Linux 上等待 ZFS 以及 BTRFS)。
我想知道上述“失败者”中是否有人在放弃 JFS 之前尝试过使用 fsck?JFS@Linux 没有内核内置日志恢复代码,因此需要为此使用适当的用户空间工具。
标准的 Linux ext3 文件系统支持在线增长,也满足您的其他需求。除非您有其他特殊需求,否则这确实是正确的答案。尽管 XFS 有着悠久的历史和良好的声誉,但使用它仍然会让您陷入特殊情况,这很好,但伴随着复杂性增加的内在成本——为什么要为您不需要的东西“付费”?
我在大型专业环境中使用 JFS,结果被烧坏了。不会立即出现的大量损坏问题,有时所有文件都会在重新启动后丢失+找到。
改用 XFS,再也没有回头。现在在数百个兆兆字节系统上使用了 5 年。