fdisk不能直接扩容分区,需删除旧分区并重建,关键保持起始扇区不变以保障数据安全;前提是云平台已扩展磁盘容量,再执行fdisk操作、partprobe刷新分区表,最后根据文件系统类型运行xfs_growfs或resize2fs完成扩容。

fdisk 不能直接扩展分区,必须删旧建新——但只要起始扇区不变,数据就安全。
确认扩容前提:云平台或虚拟机已扩容磁盘
操作系统看到的磁盘容量不会自动变大。先去阿里云/华为云/VMware 控制台把 /dev/sdb 从 20G 改成 50G,再进系统操作。否则 fdisk /dev/sdb 里看到的仍是旧大小,后续所有步骤都无效。
用 fdisk 删除并重建分区(关键:起始扇区必须一致)
这是最容易出错的一步。误改起始扇区 = 数据全丢。
- 运行
fdisk /dev/sdb,输入p查看当前/dev/sdb1的 Start 值(比如2048) - 输入
d删除分区(只是删分区表项,不碰数据) - 输入
n→p→1→ 回车(接受默认分区号)→ 输入刚才记下的2048(必须手动敲,不能回车)→ 回车(用默认结尾扇区,占满新增空间) - 输入
p再核对:Start 值应与之前完全一致,End 明显变大 - 输入
w写入,此时内核可能未重读分区表
强制内核重读分区表并扩展文件系统
partprobe /dev/sdb 或 echo 1 > /sys/class/block/sdb/device/rescan 强制刷新。否则 lsblk 仍显示旧大小。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 若文件系统是
xfs:直接运行xfs_growfs /data(挂载点路径,不是设备名) - 若文件系统是
ext4:运行resize2fs /dev/sdb1(必须用设备名) - 切勿对未卸载的
ext4分区跳过umount直接resize2fs—— 多数情况会失败并报错The filesystem is mounted; resize2fs refuses to operate on a mounted filesystem
为什么不用 parted?
parted 对 GPT 磁盘支持更好,但 CentOS 7 默认用 MBR + fdisk。如果 fdisk -l 显示 Disk label type: dos,就别硬切 parted —— 它在 MBR 上 resizepart 可能 silently 错位,且不提示警告。
真正需要 parted 的场景只有一种:fdisk -l 输出含 Disk label type: gpt,且提示 Backup GPT table is not at the end of the disk —— 此时先 parted /dev/sdb → fix → resizepart,再走文件系统扩展。

















