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
错误。