在日常运维或开发过程中,我们经常会遇到磁盘空间不足的问题。如果你的 Ubuntu 系统使用的是 XFS 文件系统,那么可以使用 xfs_growfs 命令来在线扩展文件系统容量,而无需卸载分区!本文将手把手教你如何安全、高效地完成这一操作,即使你是 Linux 小白也能轻松上手。
XFS 是一种高性能的日志型文件系统,最初由 SGI 开发,现广泛用于 Linux 系统中,尤其适合处理大文件和高吞吐量场景。Ubuntu 从较新版本开始也支持 XFS,并常用于数据库服务器、视频存储等对 I/O 性能要求较高的环境。
请注意:xfs_growfs 只能扩展现有 XFS 文件系统,不能缩小。而且它依赖于底层存储设备(如分区、LVM 逻辑卷或云磁盘)已经扩容。也就是说,在运行 xfs_growfs 之前,你必须先扩展物理设备的空间。
常见场景包括:
首先,使用 df -T 命令查看挂载点及其文件系统类型:
$ df -TFilesystem Type 1K-blocks Used Available Use% Mounted on/dev/sdb1 xfs 20971520 5242880 15728640 25% /data 可以看到 /dev/sdb1 是 XFS 类型,挂载在 /data 目录下。
假设你是在云服务器上操作,已经将磁盘从 20GB 扩容到 50GB。但操作系统可能还未识别新空间,需要刷新设备大小。
对于普通磁盘,可使用以下命令(以 /dev/sdb 为例):
# 刷新磁盘大小(适用于 SCSI 设备)echo 1 > /sys/class/block/sdb/device/rescan# 或使用 blockdevsudo blockdev --getsize64 /dev/sdb 如果是 LVM,则需先扩展逻辑卷:
sudo lvextend -L +30G /dev/mapper/vg0-data_lv 现在,关键一步来了!xfs_growfs 的参数是 挂载点,而不是设备路径。
sudo xfs_growfs /data 执行后你会看到类似输出:
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1data = bsize=4096 blocks=5242880, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0, ftype=1log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 5242880 to 13107200 注意最后一行:data blocks changed from ... to ...,说明扩展成功!
再次运行 df -h 查看新容量:
$ df -h /dataFilesystem Size Used Avail Use% Mounted on/dev/sdb1 50G 5.0G 45G 10% /data 恭喜!你的 XFS 分区已成功扩容。
xfs_growfs 必须作用于已挂载的目录,不能对未挂载设备操作。growpart 工具扩展分区表。通过本教程,你已经掌握了在 Ubuntu 系统中使用 xfs_growfs 命令安全扩展 XFS 文件系统的方法。无论你是管理云服务器还是本地 Linux 主机,这项技能都能帮助你灵活应对磁盘空间不足的问题。记住关键词:Ubuntu XFS文件系统扩容、xfs_growfs命令使用、XFS分区扩展教程 和 Linux磁盘空间管理,它们是你后续搜索相关问题的好帮手!
如有疑问,欢迎在评论区留言交流!
本文由主机测评网于2025-12-22发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251211655.html