需先在VMware关机状态下扩展磁盘,再于系统内通过fdisk新建分区(设为8e类型)、pvcreate初始化、vgextend扩展卷组、lvextend扩展逻辑卷、resize2fs调整文件系统,最终df -h验证扩容成功。

如果您在VMware中为CentOS虚拟机扩展了磁盘容量,但系统内未识别新增空间,则说明仅完成了底层硬件扩容,尚未在操作系统层面完成分区、LVM和文件系统层面的扩展。以下是实现完整扩容的多种方法:
一、新增分区并挂载为独立目录
该方法将扩容空间创建为新分区(如/dev/sda3),格式化后挂载至指定目录(如/disk3),不改变原有根分区结构,操作风险低且可逆。
1、关闭虚拟机,在VMware设置中选中硬盘,点击“Utilities”→“Expand”,输入目标总容量(例如从40G扩至80G),执行扩展。
2、启动虚拟机,以root身份执行fdisk -l确认/dev/sda总容量已更新,但分区表仍只显示sda1和sda2。
3、运行fdisk /dev/sda进入分区工具:
4、输入m查看帮助菜单。
5、输入n创建新分区。
6、输入p选择主分区类型。
7、输入分区号3(因已有sda1、sda2)。
8、连续两次回车,使用默认起始与结束扇区,占满剩余空间。
9、输入t修改分区类型,输入分区号3,再输入83设为Linux文件系统类型。
10、输入w写入分区表并退出。
11、执行reboot重启系统,使内核重新读取分区表。
12、重启后执行ls /dev/sda*确认/dev/sda3已存在。
13、执行mkfs.ext4 /dev/sda3对新分区进行ext4格式化。
14、创建挂载点:mkdir /disk3。
15、临时挂载:mount /dev/sda3 /disk3。
16、编辑/etc/fstab,追加一行:/dev/sda3 /disk3 ext4 defaults 0 0,实现开机自动挂载。
二、扩展LVM逻辑卷至根分区
该方法适用于使用LVM管理的CentOS系统(默认安装通常启用),直接将新增空间合并进/dev/mapper/centos-root逻辑卷,从而扩大根文件系统容量,无需额外挂载点。
1、确认系统使用LVM:执行lsblk,若看到sda2下挂载centos-root和centos-swap,则属于LVM架构。
2、同方法一,先在VMware中完成磁盘扩展,并重启虚拟机。
3、执行fdisk /dev/sda,新建主分区sda3,但分区类型ID必须设为8e(Linux LVM),而非83。
4、输入w保存后,执行partprobe /dev/sda或重启使分区生效。
5、将新分区初始化为物理卷:pvcreate /dev/sda3。
6、扩展卷组(VG名称通常为centos):vgextend centos /dev/sda3。
7、查询空闲PE数量:vgdisplay centos | grep "Free",记录Free PE / Size值(如7679)。
8、扩展逻辑卷(LV):lvextend -l +7679 /dev/mapper/centos-root。
9、调整文件系统大小(ext4):xfs_growfs /(若为XFS)或resize2fs /dev/mapper/centos-root(若为ext4)。
10、执行df -h验证/挂载点容量是否已增加。
三、使用parted工具非交互式扩容分区
当fdisk在大容量磁盘(如>2TB)上受限于MSDOS分区表时,parted支持GPT分区表,可直接扩展现有分区边界,避免新建分区步骤,适合sda2为LVM物理分区且后续无空闲分区号的场景。
1、确保虚拟机关机后完成VMware磁盘扩展,并重启进入系统。
2、执行parted /dev/sda启动交互式工具。
3、输入print查看当前分区布局及空闲空间范围。
4、输入resizepart 2(假设需扩展的是第二个分区sda2)。
5、提示输入结束位置时,输入100%表示扩展至磁盘末尾。
6、输入quit退出parted。
7、执行pvresize /dev/sda2通知LVM物理卷已增大。
8、执行lvextend -l +100%FREE /dev/mapper/centos-root将全部空闲空间分配给根逻辑卷。
9、执行resize2fs /dev/mapper/centos-root同步扩展文件系统。
10、执行df -h确认根分区可用空间已更新。











