Linux磁盘扩容后容量未变是因分区表和文件系统未同步更新:先用growpart扩展分区并partprobe刷新,再用resize2fs或xfs_growfs扩展文件系统,最后df -h验证。

Linux磁盘扩容后容量没变,不是扩容失败,而是操作系统还没“认出”新空间。关键在两步:先让分区表识别新增容量,再让文件系统用上这部分空间。顺序不能错,跳过任一环节都会显示旧大小。
确认扩容是否已到底层
登录服务器,执行以下命令查看真实状态:
- fdisk -l /dev/vda(替换为你的磁盘名,如vdb、sda)→ 看“Disk /dev/vda”行的总容量是否已增大
- lsblk → 对比磁盘(如vda)和其分区(如vda1)大小:若磁盘变大但vda1没变,说明分区未扩展
- df -h → 查看挂载点实际使用情况,确认是否仍显示旧容量
扩展分区表(针对MBR/GPT主分区)
多数云服务器或虚拟机扩容后,只是物理磁盘变大,分区边界还卡在旧位置。需用 growpart 调整:
- 若提示
growpart: command not found,先安装:
CentOS/RHEL:yum install -y cloud-utils-growpart
Ubuntu/Debian:apt install -y cloud-guest-utils - 扩展分区(以系统盘第一分区为例):
growpart /dev/vda 1(注意:空格分隔磁盘名与分区编号,不是/dev/vda1) - 刷新内核分区表:
partprobe /dev/vda 或重启(不推荐首选)
扩展文件系统(按类型选命令)
分区扩大后,文件系统仍按旧尺寸管理数据,必须主动通知它“可用了”:
- 查文件系统类型:
blkid /dev/vda1 或 df -T / - ext2/ext3/ext4(最常见):
resize2fs /dev/vda1(支持在线操作,无需卸载) - XFS(CentOS 7+/Alibaba Cloud默认):
xfs_growfs /(填挂载点,如/、/www,不是设备路径) - LVM环境额外步骤(如centos-root):
先 lvextend -l +100%FREE /dev/mapper/cl-root,再按上述对应文件系统命令扩展
验证与收尾
执行完上述操作后,立即验证:
- df -h → 挂载点容量应已更新
- lsblk → vda 和 vda1 大小应一致(或接近)
- 宝塔面板中「网站」→「磁盘使用情况」会自动同步,稍等1–2分钟刷新即可
- 如仍不生效,检查 /etc/fstab 是否挂载了错误设备,或是否存在只读挂载(
mount | grep "ro,")










