当前位置:首页 > 系统教程 > 正文

VMware虚拟机CentOS磁盘扩容实战(解决growpart报错与LVM分区管理全流程)

在使用 VMware虚拟机 运行 CentOS 系统时,随着业务增长,初始磁盘空间往往会不足。本文将为您提供一份详尽的 CentOS磁盘扩容 教程,重点解决在执行 growpart 命令时常见的报错问题,并完成 LVM分区扩容,确保数据安全且在线完成。

第一步:在VMware控制台增加磁盘容量

1. 关闭虚拟机(非必须,但建议小白操作)。
2. 右键点击虚拟机 -> 设置 -> 硬盘 -> 扩展
3. 输入您想要扩展到的总容量(例如从20GB改为50GB),点击扩展。

第二步:系统识别新磁盘空间

进入系统后,我们需要让内核识别新增的空间。输入以下命令:

lsblk# 如果没有看到容量变化,可以执行扫描命令echo 1 > /sys/class/block/sda/device/rescan
VMware虚拟机CentOS磁盘扩容实战(解决growpart报错与LVM分区管理全流程) VMware虚拟机  CentOS磁盘扩容 growpart报错 LVM分区扩容 第1张

第三步:解决growpart报错并扩容分区

通常我们会使用 growpart 命令来扩容物理分区。常见命令如下:

# 安装工具包yum install -y cloud-utils-growpart# 扩容sda的第2个分区growpart /dev/sda 2

⚠️ 常见 growpart报错 解决:

如果报错 unexpected output in sfdisk --version [sfdisk from util-linux 2.23.2],通常是因为语言环境变量导致的编码问题。请执行:

LANG=en_US.UTF-8 growpart /dev/sda 2

第四步:完成 LVM分区扩容

分区扩容后,我们需要通知LVM逻辑卷管理系统:

1. 扩展物理卷 (PV):

pvresize /dev/sda2

2. 查看逻辑卷名称:

lvdisplay# 假设你的根目录逻辑卷是 /dev/mapper/centos-root

3. 扩容逻辑卷 (LV):

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

第五步:同步文件系统

最后一步,根据文件系统类型执行同步命令(CentOS 7 默认是 XFS):

# 如果是XFS文件系统xfs_growfs /dev/mapper/centos-root# 如果是Ext4文件系统resize2fs /dev/mapper/centos-root

总结: 通过以上步骤,我们成功完成了 VMware虚拟机CentOS磁盘扩容。关键点在于使用 growpart 扩容物理分区,并利用 lvextend 完成 LVM分区扩容,最后同步文件系统即可实现无损扩容。