7.3. 文件系统
7.3.1. Ext4 文件系统
ext4 文件系统是红帽企业版 Linux 5 中默认的 ext3 文件系统的扩展。现在最红帽企业版 Linux 6 中默认黑色用 Ext4,同时支持到最大文件系统为 16TB,单一文件最大值为 16TB。它还去除了 ext3 中最多只能有 32000 个子系统的限制。
注意
对于超过 16TB 到文件系统,我们建议您使用弹性高容量文件系统,比如 XFS。详情请查看 第 7.3.2 节 “XFS 文件系统”。
ext4 文件系统默认是大多数负载的最佳系统,但如果性能分析显示文件系统行为影响到性能,则可以使用以下几个调节选项:
内节点表初始化
对于超大文件系统,mkfs.ext4
进程要花很长时间初始化文件系统中到所有内节点表。可使用 -E lazy_itable_init=1
选项延迟这个进程。如果使用这个选项,内核进程将在挂载文件系统后继续初始化该文件它。可使用 mount
命令的 -o init_itable=n
选项控制发生初始化到比例,其中执行这个后台初始化的时间约为 1/n。n
的默认值为 10
。
Auto-fsync 行为
因为在重命名、截取或者重新写入某个现有文件后,有些应用程序不总是可以正确执行 fsync()
,在重命名和截取操作后,ext4 默认自动同步文件。这个行为与原有到 ext3 文件系统行为大致相同。但 fsync()
操作可能会很耗时,因此如果不需要这个自动行为,请在 mount
命令后使用 -o noauto_da_alloc
选项禁用它。这意味着该程序必须明确使用 fsync()
以保证数据一致。
日志 I/O 优先权
默认情况下,日志注释 I/O 比普通 I/O 的优先权稍高。这个优先权可使用 mount
命令的 journal_ioprio=n
选项控制。默认值为 3
。有效值范围为 0-7,其中 0 时最高优先权 I/O。
其他
mkfs
和调节选项详情请参考 mkfs.ext4(8)
和 mount(8)
man page,同时 kernel-doc 软件包的 Documentation/filesystems/ext4.txt
文件也有它到信息。