1.5. XFS 和 ext4 的比较


XFS 是 RHEL 中的默认文件系统。本节比较 XFS 和 ext4 的用法和功能。

元数据错误行为
在 ext4 中,当文件系统遇到元数据错误时您可以配置行为。默认的行为是继续操作。当 XFS 遇到不可恢复的元数据错误时,它会关闭文件系统,并返回 EFSCORRUPTED 错误。
配额

在 ext4 中,您可以在创建文件系统时启用配额,或稍后在现有文件系统上启用配额。然后您可以使用挂载选项配置配额强制执行。

XFS 配额不是一个可重新挂载的选项。您必须在初始挂载中激活配额。

在 XFS 文件系统上运行 quotacheck 命令没有效果。当您第一次打开配额记帐时,XFS 会自动检查配额。

文件系统重新定义大小
XFS 没有工具来缩小文件系统的大小。您只能增大 XFS 文件系统的大小。而 ext4 支持扩展和缩小文件系统大小。
内节点(inode)号

ext4 文件系统不支持超过 232 内节点。

XFS 支持动态内节点分配。XFS 文件系统上空间索引节点的大小计算为总文件系统空间的百分比。要防止系统耗尽 inode,管理员可以在文件系统创建后调整这个百分比,假设文件系统上剩余的可用空间。

某些应用程序无法正确处理 XFS 文件系统上大于232 的 inode 数。这些应用程序可能会导致 32 位 stat 调用失败,返回值为 EOVERFLOW 。在以下情况下,inode 数超过 232:

  • 文件系统大于 1 TiB,其 inode 为 256 字节。
  • 文件系统大于 2 TiB,其 inode 为 512 字节。

如果您的应用程序由于 inode 数太大而失败,请使用 -o inode32 选项挂载 XFS 文件系统,来强制inode 数低于 232。请注意,使用 inode32 不会影响已分配了 64 位数的 inode。

重要

除非特定环境需要,否则 请勿 使用 inode32 选项。inode32 选项可改变分配行为。因此,如果没有可用空间在较低磁盘块中分配 inode ,则可能会出现 ENOSPC 错误。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.