CentOS 硬盘扩容后 df -h 显示大小没变,是因为物理磁盘扩容后,分区表、LVM 结构、文件系统都没同步更新,系统仍按旧容量识别。下面按最常见场景给出完整修复步骤。

一、先确认现状(必做)

bash

运行

# 1. 看物理磁盘总大小(确认底层已扩容)

lsblk

# 或

fdisk -l

 

# 2. 看当前挂载与文件系统类型

df -Th

若 lsblk 显示磁盘总容量已变大,但分区 / 逻辑卷没变 → 走下面流程。

若 lsblk 也没变大 → 先让系统重新扫描磁盘(见文末)。

二、场景 1:标准分区(非 LVM)扩容(最常见)

1. 安装 growpart(如未装)

bash

运行

yum install -y cloud-utils-growpart

2. 扩展分区(把新增空间并入原分区)

bash

运行

# 格式:growpart 磁盘名 分区号(注意是空格,不是 /)

# 例:/dev/vda 第1分区 → growpart /dev/vda 1

growpart /dev/sda 2

3. 刷新内核分区表

bash

运行

partprobe /dev/sda

4. 扩展文件系统(按类型选)

ext4:

bash

运行

resize2fs /dev/sda2

XFS(CentOS 7+ 默认):

bash

运行

# 挂载点是 / 时直接用

xfs_growfs /

# 或指定分区

xfs_growfs /dev/sda2

5. 验证

bash

运行

df -h

三、场景 2:LVM 逻辑卷扩容(云服务器 / 虚拟机常用)

1. 扩展物理卷(PV)

bash

运行

pvresize /dev/sda2

2. 扩展逻辑卷(LV)

bash

运行

# 查看卷组与逻辑卷名

vgdisplay

lvdisplay

 

# 扩展到最大可用空间

lvextend -l +100%FREE /dev/mapper/centos-root

3. 扩展文件系统(同上)

ext4:resize2fs /dev/mapper/centos-root

XFS:xfs_growfs /