补充说明
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,但一般无需手动指定。