首页/系统/Linux 运维命令速查/xfs_growfs 在线扩容 XFS
磁盘与文件系统51 条

xfs_growfs 在线扩容 XFS

XFS 支持在线增长:底层块设备扩容后,对挂载点执行 xfs_growfs 即可把文件系统撑满;XFS 不能缩小,容量规划要一次到位。

Linux 运维命令速查系统更新于 2026-10-13

xfs_growfs 是什么

XFS 支持在线增长:底层块设备扩容之后,对挂载点执行 xfs_growfs 就能把文件系统撑满新容量,业务无需中断。它只能增长、不能缩小,所以容量规划要一次到位,生产上也应避免用 lvreduce 回收空间。一个容易混淆的细节是参数形态:xfs_growfs 接的是挂载点,而扩展 ext4 的 resize2fs 接的是设备路径。典型流程是先扩底层分区或逻辑卷,再 xfs_growfs,最后用 df 核对结果。

基本信息

适用平台Linux(xfsprogs;XFS 是 RHEL 系与多数云镜像的默认文件系统)
命令语法xfs_growfs [-D 大小] 挂载点
常用选项-D 指定目标数据区大小 -d 扩展数据区(默认行为)
前置条件文件系统已挂载,且底层设备容量已大于当前文件系统大小
不可逆性XFS 不支持缩小,无法通过工具回收已分配的容量

典型使用场景

  • LVM 扩容后:lvextend 扩完逻辑卷,紧接着扩大文件系统
  • 云盘扩容后:控制台调大云盘容量,系统内把数据盘撑满
  • 新增空间:把新加入的容量分配给已有挂载点
  • 验证核对:扩容后确认 df 输出与实际容量一致
  • 容量规划:为写入增长快的目录提前预留并扩展

LVM 扩容全流程

LVM 扩容全流程
vgs; lvs /dev/vg0/data                # 确认卷组与逻辑卷状态
lvextend -L +50G /dev/vg0/data        # 扩逻辑卷
xfs_growfs /data                      # 扩文件系统到设备大小
df -h /data                           # 核对结果
xfs_growfs -D 200g /data              # 扩到指定大小,不可超过底层设备
xfs_info /data | head                 # 查看块大小等文件系统信息

扩容命令分工

命令参数形态作用
lvextend逻辑卷路径扩大逻辑卷容量
xfs_growfs挂载点把 XFS 扩展到设备大小
resize2fs设备路径(ext4)扩展 ext4,参数形态与 xfs_growfs 不同
df 与 xfs_info挂载点核对扩容结果与文件系统参数
xfs_growfs 的参数是挂载点而不是设备名,可用 df 或 findmnt 确认挂载点;传设备路径会报错或作用到非预期对象。
顺序永远先扩底层再扩文件系统。反过来执行会报文件系统已达到上限而失败,容易让人误判为文件系统不支持扩容。

易错点

  • 顺序搞反:先扩文件系统再扩底层设备,直接报已达上限
  • 把设备路径当作参数传给 xfs_growfs,命令报错或行为不符预期
  • 试图缩小 XFS 回收空间:格式本身不支持,只能迁移数据后重建
  • 扩容后不核对结果就认为完成,容量告警依旧触发

数据来源与参考

  • man 8 xfs_growfs(xfsprogs)
  • XFS 官方文档 Growing XFS filesystems

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌