Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
第 3 章 XFS 文件系统
XFS 是一个高度可扩展的高性能文件系统,最初设计于 Silicon Graphics, Inc。XFS 是红帽企业 Linux 7 的默认文件系统。
- XFS 的主要功能
- XFS 支持 元数据日志, 有助于更快速的崩溃恢复。
- XFS 文件系统可以在挂载和激活时进行碎片整理并扩大。
- 此外,红帽企业 Linux 7 支持特定于 XFS 的备份和恢复实用程序。
- 分配功能
- XFS 具有以下分配方案:
- 基于扩展的分配
- 条状化分配策略
- 延迟分配
- 空间预分配
延迟分配和其他性能优化会像 ext4 一样影响 XFS。也就是说,程序对 XFS 文件系统的写入无法保证为磁盘上,除非程序随后发出 fsync() 调用。有关延迟分配对文件系统(ext4 和 XFS)的影响的更多信息,请参阅 第 5 章 ext4 文件系统 中的 分配功能。注意即使磁盘空间似乎足够,创建或扩展文件偶尔会失败,并出现意外的 ENOSPC 写入失败。这是因为 XFS 面向性能的设计。实际上,它不会成为问题,因为仅当剩余空间仅仅是几个块时才会出现。 - 其他 XFS 功能
- XFS 文件系统还支持以下内容:
- 扩展属性 (
xattr
) - 这使得系统能够关联每个文件几个额外的名称/值对。它会被默认启用。
- 配额日志
- 这可避免在崩溃后进行冗长的配额一致性检查。
- 项目/目录配额
- 这允许对目录树的配额限制。
- 小于秒的时间戳
- 这允许时间戳进入子秒。
- 扩展属性 (
- 默认 atime 行为是 relatime
- 对于 XFS,relatime 默认为开启。与 noatime 相比,它几乎没有开销,同时仍然保持了健康的 atime 值。
3.1. 创建 XFS 文件系统
- 要创建 XFS 文件系统,请使用以下命令:
#
mkfs.xfs block_device- 使用到块设备的路径替换 block_device。例如:
/dev/sdb1
、/dev/disk/by-uuid/05e99ec8-def1-4a5e-8a9d-5945339ceb2a
或/dev/my-volgroup/my-lv
。 - 般情况下,默认选项是常见用途的最佳选择。
- 在包含现有文件系统的块设备中使用 mkfs.xfs 时,添加
-f
选项来覆盖该文件系统。
例 3.1. mkfs.xfs 命令输出
以下是 mkfs.xfs 命令的输出示例:
meta-data=/dev/device isize=256 agcount=4, agsize=3277258 blks = sectsz=512 attr=2 data = bsize=4096 blocks=13109032, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal log bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
注意
XFS 文件系统创建后,其大小不能缩小。但是,它仍然可以使用 xfs_growfs 命令放大。如需更多信息,请参阅 第 3.4 节 “增加 XFS 文件系统的大小”。
条状块设备
对于条状块设备(如 RAID5 阵列),可以在创建文件系统时指定条带几兆法。使用正确的分条地理测量可显著提高 XFS 文件系统的性能。
在 LVM 或 MD 卷上创建文件系统时,mkfs.xfs 选择最佳的 geometry。对于将 geometry 信息导出到操作系统的某些硬件 RAID,这可能也是如此。
如果设备导出分条地理测量信息,
mkfs
实用程序(ext3、ext4 和 xfs)将自动使用此几何。如果 mkfs
实用程序没有检测到条带 geometry,即使存储确实具有分条几metry,但在使用以下选项创建文件系统时可以手动指定它:
- su=值
- 指定条带单元或 RAID 块大小。该 值 必须以字节为单位,带有可选的
k
、m
或g
后缀。 - sw=value
- 指定 RAID 设备中数据磁盘的数量,或者条带中的条带单元数量。
以下示例在包含 4 个条带单元的 RAID 设备中指定了 64k 的块大小:
#
mkfs.xfs -d su=64k,sw=4 /dev/block_device
其它资源
有关创建 XFS 文件系统的详情,请参考:
- mkfs.xfs(8) man page
- 红帽企业 Linux 性能调优指南,调优 XFS一章