核心概念

XFS 是 SGI 开发的高性能 64 位日志文件系统,2001 年并入 Linux 内核,RHEL 7+ 将其作为默认文件系统。

关键特性

特性说明
分配组(Allocation Groups)将磁盘划分为多个独立 AG,支持并行 I/O
B+ 树索引所有元数据用 B+ 树管理,查找效率高
延迟分配类似 ext4,减少碎片
预分配fallocate() 提前分配连续空间,适合数据库
在线扩容xfs_growfs 支持在线扩容(不能缩小)
日志校验元数据日志带校验和,防止静默数据损坏

适用场景

  • 大文件存储(视频、数据库)
  • 高并发写入(日志服务器、消息队列)
  • 需要在线扩容而无法停机的场景

挂载示例

/dev/sda4 on /var type xfs (rw,noatime)

/var 目录存放日志、数据库、缓存等频繁写入的数据,使用 XFS 可发挥其高并发写入优势。

与 ext4 对比

维度XFSext4
并发写入优秀(AG 并行)一般
大文件优秀良好
缩小文件系统不支持支持
小文件性能一般良好
元数据操作略慢(B+ 树开销)更快

面试要点

  • RHEL/CentOS 7+ 默认文件系统为 XFS
  • XFS 只能扩容不能缩容,这是设计取舍
  • xfs_repair 用于修复 XFS 文件系统,类似 ext4 的 fsck

参考链接