Linux 命令速查
文件管理 man mkfs.xfs

mkfs.xfs

创建 XFS 文件系统(高性能 64 位日志文件系统)。

返回

补充说明

mkfs.xfs 来自 xfsprogs,用于创建 XFS 文件系统。XFS 由 SGI 开发,擅长处理大文件、大目录和高并发 I/O,是 RHEL/CentOS/Rocky 等发行版的默认文件系统。

XFS 的分配组(allocation group)设计让多个 CPU 可以并行分配空间,适合大容量存储与数据库场景。它支持在线扩容,但不支持缩小,规划分区时要把未来增长考虑进去。

默认情况下,如果目标设备上已经存在文件系统,mkfs.xfs 会拒绝执行;必须加 -f 才会覆盖。格式化会立即破坏原有数据,操作前请卸载设备并再次核对设备路径。

语法

mkfs.xfs [选项] 设备

选项

  • -f:强制覆盖已存在的文件系统
  • -L 标签:设置卷标,最长 12 个字符
  • -b 大小:块大小,默认 4096
  • -d 参数:数据区参数,如 agcount=4、agsize=...、su=、sw=
  • -l 参数:日志区参数,如 size=、internal、logdev=
  • -n 参数:命名区参数,如 ftype=1、size=
  • -m 参数:元数据参数,如 crc=1、reflink=1
  • -i 大小:inode 大小
  • -N:只打印计算出的参数,不写入设备
  • -K:创建时不发送 discard 请求
  • -r 参数:实时设备(realtime)参数

实例

# 覆盖创建并设置卷标
sudo mkfs.xfs -f -L data /dev/sdb1

# 指定 4 个分配组,适合中等容量磁盘
sudo mkfs.xfs -f -d agcount=4 /dev/sdb1

# 查看将要使用的参数,不实际写入
sudo mkfs.xfs -N /dev/sdb1

# 查看现有 XFS 的几何信息
sudo xfs_info /mnt/data

# 扩容(先扩分区,再对新空间执行)
sudo xfs_growfs /mnt/data

注意事项

  • XFS 不能缩容,只能扩容;分区规划应留有余量。
  • 极小分区(早期版本要求约 300MB 以上)可能无法创建,先用 -N 验证。
  • 异常断电后 XFS 依靠日志恢复,通常无需手动 fsck;严重损坏时用 xfs_repair。
  • -K 可避免在老旧 SSD 上触发不必要的 TRIM,但一般无需手动指定。

参考链接