VMware 扩展 CentOS 7 虚拟磁盘后扩容根分区

环境

  • Windows 10专业版22H2、
  • VMware® Workstation 专业版 26H1
  • CentOS 7 x86_64
  • 虚拟磁盘:/dev/sda
  • 根分区:/dev/sda3
  • 文件系统:XFS
  • 未使用 LVM
  • 虚拟磁盘由 200G 扩展至 300G

现象

在 VMware 中将虚拟磁盘从 200G 扩展到 300G,但是进入 CentOS 后,根目录 / 的容量仍然只有约 192G。

查看磁盘结构:

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

输出类似:

NAME     SIZE TYPE FSTYPE MOUNTPOINT
sda      300G disk
├─sda1   300M part xfs    /boot
├─sda2   7.9G part swap   [SWAP]
└─sda3 191.9G part xfs    /

可以看到整块磁盘 /dev/sda 已经是 300G,但根分区 /dev/sda3 仍然只有 191.9G。

解决方法

根分区是磁盘最后一个分区 /dev/sda3,文件系统是 XFS,并且没有使用 LVM。

  1. 切换到 root 用户
su -
  • su:Substitute User,切换用户。
  • -:加载目标用户的完整登录环境。
  1. 安装 growpart 工具
yum install -y cloud-utils-growpart
  • yum install:使用 YUM 安装软件包。
  • -y:Yes,自动确认安装。
  • growpart:Grow Partition,用于扩大分区。
  1. 扩大第三个分区
growpart /dev/sda 3
  • /dev/sda:需要操作的整块虚拟磁盘。
  • 3:第三个分区,即 /dev/sda3

正常情况下会看到包含 CHANGED 的输出。

  1. 检查分区容量
lsblk
  • lsblk:List Block Devices,列出磁盘和分区。

此时 /dev/sda3 应该从约 192G 增加到约 292G。

  1. 扩大 XFS 文件系统
xfs_growfs /
  • xfs_growfs:XFS Grow File System,扩大 XFS 文件系统。
  • /:根文件系统的挂载位置。

XFS 支持在线扩容,通常不需要卸载根目录或重启系统。

  1. 检查最终容量
df -hT /
  • df:Disk Free,查看文件系统容量。
  • -h:Human-readable,使用 GB、MB 等易读单位。
  • -T:Type,显示文件系统类型。
  • /:只查看根文件系统。

扩容后输出类似:

Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sda3      xfs   292G   17G  275G   6% /

原因

VMware 扩展的只是虚拟硬盘本身,不会自动扩大 Linux 系统中的分区和文件系统。

扩容前的结构是:

虚拟磁盘 /dev/sda:300G
根分区 /dev/sda3:约 192G
未分配空间:约 100G

因此还需要完成两个步骤:

扩大 /dev/sda3 分区
        ↓
扩大分区中的 XFS 文件系统

growpart 负责扩大分区,xfs_growfs 负责让 XFS 文件系统使用新增空间。

最终根分区约为 292G,而不是完整的 300G,是因为 /boot 分区、swap 交换分区以及容量计算方式会占用一部分空间。

posted @ 2026-07-31 07:24  Litt_R  阅读(14)  评论(0)    收藏  举报