1.6. 选择本地文件系统

要选择一个满足应用程序要求的文件系统,您需要了解要在其上部署文件系统的目标系统。您可以使用以下问题来说明您的决定:

  • 您有一个大的服务器吗?
  • 您有大的存储要求或一个本地的慢速的 SATA 驱动器吗?
  • 您所期望的应用程序存在哪一种 I/O 工作负载?
  • 您对吞吐量和延迟的要求是什么?
  • 您的服务器和存储硬件稳定性如何?
  • 您的文件和数据组的典型大小是什么?
  • 如果系统失败,您可以承受多少停机时间?

如果您的服务器和存储设备都很大,那么 XFS 是最佳选择。即使存储阵列较小,当平均文件大小较大(例如,几百兆字节)时,XFS 也表现良好。

如果您的现有工作负载在 ext4 上表现良好,则继续使用 ext4 会为您和您的应用程序提供一个非常熟悉的环境。

ext4 文件系统在 I/O 能力有限的系统上往往表现更好。它在有限带宽(小于 200MB/s)上性能更好,最高可达到 1000 IOPS 的能力。对于较高能力的任何事情,XFS 往往会更快。

与 ext4 相比,XFS 消耗大约两倍的每个元数据所使用的 CPU ,因此如果您有一个很少并发的 CPU 绑定工作负载,则 ext4 将更快。通常,如果应用程序使用单个读/写线程和小文件,则 ext4 更佳;而当应用程序使用多个读/写线程和较大的文件时,XFS 会更出色。

您无法缩小 XFS 文件系统。如果您需要缩小文件系统,请考虑使用 ext4 ,其支持离线缩小。

通常,红帽建议您使用 XFS,除非您有 ext4 的特定用例。您还应衡量目标服务器和存储系统上特定应用的性能,以确保您选择了合适的文件系统类型。

表 1.2. 本地文件系统建议概述

场景推荐的文件系统

没有特殊用例

XFS

大服务器

XFS

大存储设备

XFS

大文件

XFS

多线程 I/O

XFS

单线程 I/O

ext4

有限 I/O 功能(在 1000 IOPS 下)

ext4

有限带宽(在 200MB/s 下)

ext4

CPU 绑定工作负载

ext4

支持离线缩小

ext4