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。
- 切换到 root 用户
su -
su:Substitute User,切换用户。-:加载目标用户的完整登录环境。
- 安装 growpart 工具
yum install -y cloud-utils-growpart
yum install:使用 YUM 安装软件包。-y:Yes,自动确认安装。growpart:Grow Partition,用于扩大分区。
- 扩大第三个分区
growpart /dev/sda 3
/dev/sda:需要操作的整块虚拟磁盘。3:第三个分区,即/dev/sda3。
正常情况下会看到包含 CHANGED 的输出。
- 检查分区容量
lsblk
lsblk:List Block Devices,列出磁盘和分区。
此时 /dev/sda3 应该从约 192G 增加到约 292G。
- 扩大 XFS 文件系统
xfs_growfs /
xfs_growfs:XFS Grow File System,扩大 XFS 文件系统。/:根文件系统的挂载位置。
XFS 支持在线扩容,通常不需要卸载根目录或重启系统。
- 检查最终容量
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 交换分区以及容量计算方式会占用一部分空间。

浙公网安备 33010602011771号