VMware虚拟机CentOS磁盘扩容完整指南(解决growpart报错 & LVM扩容)

作者:Microi风闲日期:2026/3/19

文章目录

  • 前言✨
  • 一、环境与背景
  • 二、第一阶段:VMware 层面扩容
  • 三、第二阶段:CentOS 系统内部扩容
    • 方法一:标准LVM扩容流程(推荐)
    • 方法二:解决 growpart 报错方案(备用)
  • 四、总结与注意事项

在这里插入图片描述

前言✨

在日常开发和运维中,我们经常遇到 VMware 虚拟机磁盘空间不足的问题。本文记录了如何为一台正在运行的 CentOS 7 虚拟机安全地扩容磁盘空间的全过程。本次操作不仅涵盖了标准的扩容步骤,还重点解决了实际操作中可能遇到的两个关键问题:

  1. growpart 工具报错:unexpected output in sfdisk --version
  2. 在标准的 LVM (Logical Volume Manager) 结构下如何正确扩容

本文提供两种方法:推荐的标准LVM流程 和 备用方案,成功解决了从 VMware 层面到操作系统内部的完整扩容。最终成功将系统根目录从 26G 扩容至 76G。

一、环境与背景

  • 虚拟化平台: VMware Workstation 16/17 (ESXi 步骤类似)
  • 客户机系统: CentOS 7.x
  • 初始磁盘: 20G
  • 目标磁盘: 80G
  • 问题现状: 根目录 (/) 空间不足,需将其扩容。
  • 关键特征: 系统采用 LVM 分区结构。

扩容前使用 lsblkdf -h 查看磁盘情况:

1$ sudo lsblk
2NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
3sda               8:0    0   80G  0 disk 
4├─sda1            8:1    0    1G  0 part /boot
5└─sda2            8:2    0   29G  0 part 
6  ├─centos-root 253:0    0   26G  0 lvm  /
7  └─centos-swap 253:1    0    3G  0 lvm  [SWAP]
8

二、第一阶段:VMware 层面扩容

⚠️警告:操作前请务必对虚拟机创建快照或备份,以防数据丢失!

1.✅ 关闭虚拟机: 确保目标 CentOS 虚拟机已完全关机(Power Off),而不是挂起(Suspend)。
2. ✅编辑虚拟机设置: 在 VMware 中,右键点击 虚拟机 -> “设置” (Settings)。
3. ✅扩展磁盘: 选择 “硬盘” (Hard Disk) -> 点击 “扩展” (Expand) 按钮。
4. ✅设置新容量: 在弹出的窗口中,输入大于当前值的容量(例如从 20G 扩展到 80G)。点击确定,等待 VMware 完成磁盘文件的扩容。

至此,虚拟硬盘已变大,但操作系统还无法使用新空间。

三、第二阶段:CentOS 系统内部扩容

启动 CentOS 虚拟机并登录。以下是操作的核心步骤。

方法一:标准LVM扩容流程(推荐)

这是最正确、最安全的流程,适用于标准的 LVM 分区结构。

步骤 1: 查看磁盘情况
首先确认 VMware 扩容是否成功,并看清磁盘结构。

1sudo lsblk
2sudo parted /dev/sda print
3

从输出可以清晰看到:

  • /dev/sda 磁盘已变为 80G。
  • 但分区 /dev/sda2 仍为 31.1G,这意味着有大量空闲空间位于 sda2 分区之后。
  • /dev/sda2 的类型是 lvm,我们的根文件系统实际在逻辑卷 centos-root 上。

结论:我们需要将磁盘末端的空闲空间 -> 加入到 sda2 分区 -> 被 LVM 物理卷识别 -> 将新空间加入到 centos 卷组 -> 最后扩展 centos-root 逻辑卷及其文件系统。

步骤 2: 扩展 sda2 分区
使用 parted 工具将 sda2 分区扩展到磁盘末尾。

1sudo parted /dev/sda
2

parted 交互式命令行中执行:

1(parted) resizepart 2 -1 # 将第2个分区扩展到所有剩余空间
2(parted) quit            # 退出
3

⚠️注意:-1 表示扩展到最大可用空间。如果 resizepart 命令不可用(极旧版本),需使用 rmmkpart 重建分区,但风险极高,不推荐。

步骤 3: 刷新内核分区表
让系统在不重启的情况下识别新的分区大小。

1sudo partprobe /dev/sda
2

步骤 4: 扩展 LVM 物理卷 (PV)
/dev/sda2 本身是一个物理卷,我们需要调整其大小。

1sudo pvresize /dev/sda2
2

执行后,使用 sudo pvdisplay 查看,会发现 Free PE 空间增加了。

步骤 5: 扩展逻辑卷 (LV)
将卷组中的空闲空间全部分配给 centos-root 逻辑卷。

1# 查看卷组空闲空间
2sudo vgdisplay
3
4# 将所有空闲空间扩展到 centos-root 逻辑卷
5sudo lvextend -l +100%FREE /dev/mapper/centos-root
6

步骤 6: 扩展文件系统 (XFS)
最后一步,扩展逻辑卷上的文件系统,才能真正使用空间。

1# CentOS 7 默认使用 XFS 文件系统
2sudo xfs_growfs /
3
4# 如果是 Ext4 文件系统,请使用以下命令:
5# sudo resize2fs /dev/mapper/centos-root
6

步骤 7: 验证结果
运行命令检查最终成果:

1df -h
2lsblk
3

✅✅✅输出应显示根目录 / 的挂载点大小已变为 76G 左右,扩容成功!

方法二:解决 growpart 报错方案(备用)

如果在非LVM系统上使用传统方法,可能会遇到 growpart 报错。

错误信息:

1sudo growpart /dev/sda 2
2unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]
3

原因: CentOS 7 自带的 util-linux 版本过低,与 growpart 脚本不兼容。

解决方案:

直接使用 parted 替代(如上文方法一所示),这是最佳解决方案。

或尝试更新 cloud-utils-growpart 包:

1sudo yum update cloud-utils-growpart
2

四、总结与注意事项

  • 核心要点: 操作前一定要用 lsblkdf -T 命令搞清楚磁盘和文件系统结构。识别 LVM 是关键,它决定了后续完全不同的操作流程。
  • 推荐流程: 对于现代 CentOS/RHEL 系统,标准 LVM 扩容流程 ( parted -> pvresize -> lvextend -> xfs_growfs ) 是唯一正确路径。
  • 备份!备份!备份!: 任何磁盘分区操作都有极高风险,操作前务必为虚拟机创建快照。
  • 工具选择: 放弃陈旧的 growpartfdisk 脚本,parted 是更强大、更现代的命令行分区工具。

VMware虚拟机CentOS磁盘扩容完整指南(解决growpart报错 & LVM扩容)》 是转载文章,点击查看原文


相关推荐


OpenClaw实战-NAS配置从0到1详细教程及踩坑记录
可夫小子2026/3/11

💡 大家好,我是可夫小子,关注AI编程、AI自动化和自媒体。 背景 我去年在自己Macbook上就已经安装了Openclaw了,当时基本就是一行命令,比较顺利。经过这两个月,Openclaw版本经历了很多更新,当时的安装教程有些过时了。最近,我需要在一台群晖的Nas部署Openclaw,硬是花了两天时间才完成。我把整个详细的部署过程,一些踩坑经历用图文记录下来,就有这篇包含30多张截图的图文。 方案说明 在Nas安装Openclaw,主要有三种方案来实现 直接通过官方脚本,安装到Nas物


NineData 迁移评估功能正式上线
NineData2026/3/3

做过数据库迁移的人,应该都有过类似经历:明明方案写得挺好,时间排得也挺满,但心里一直不踏实。因为真正的问题,往往不是工具能不能迁,而是迁过去以后还能不能跑。 NineData 这次做的迁移评估功能,本质上就只做一件事:提前把不确定性拆开,摊在你面前。 NineData 的一份体检报告,把风险摊在桌面上 异构迁移真正需要关注的是:要改多少?哪些能改?哪些根本不能动? 下面来列一列 NineData 能做哪些事情。 一、对象兼容性评估:哪些能直接迁,哪些一定要改 系统会自动分析源库和目标库的对象差异


AI 系统架构
lizhongxuan2026/2/23

AI 系统看起来很复杂,但核心可以压缩成三句话: 尽量少搬数据:很多时候不是算不动,而是数据搬运太慢。 尽量提高有效计算密度:让硬件更多时间在做有价值的乘加计算。 尽量重叠计算与通信:训练和推理都要避免“设备空等”。 换句话说,AI 性能问题本质上是 计算(Compute)+ 访存(Memory)+ 通信(Communication) 的协同问题。 1. AI 系统栈 层级主要职责典型问


Flutter三方库适配OpenHarmony【apple_product_name】异步调用与错误处理
淼学派对2026/2/14

前言 欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net 本文将围绕 apple_product_name 的实际 API,从 Future 基础到全局错误兜底,给出一套完整的异步调用与错误处理方案。 先给出结论式摘要: 所有 API 返回 Future:getMachineId()、getProductName()、lookup() 都是异步的,必须 await 或 .then()三类异常要分层捕获:PlatformExc


基于uview-pro的u-dropdown扩展自己的dropdown组件
LC同学479812026/2/6

基于uview-pro的u-dropdown扩展自己的dropdown组件 uview-pro的u-dropdown只能是菜单,且只能向下展开,当前组件采用它的核心逻辑,去除多余逻辑,兼容上/下展开,以及自定义展示的内容,不再局限于菜单形式 import type { ExtractPropTypes, PropType } from 'vue'; import { baseProps } from 'uview-pro/components/common/props'; /** * u-


🔥别再用递归了!WeakMap 的影子索引“让树不再是树!”
vilan_微澜2026/1/28

一、前言 大家好,我是微澜。今天来分享一个基于 WeakMap 实现的快速对树形结构数据进行增删改查操作的useTree hook函数,它是基于JavaScript 的 WeakMap 特性,在不改动原始数据的前提下,实现了一套 O(1) 查找的影子索引结构,这个影子其实就是对象的引用地址,让树形数据操作像操作数组一样简单! 二、为什么选择 WeakMap? 1. 非侵入性 (Non-invasive) 通过 WeakMap 在内存中构建了一套 Node -> Parent 的映射。原始数据对象


【Python爬虫实战】用 Flet 把爬虫做成手机 App
MoonPointer-Byte2026/1/18

有没有想过,把你写的爬虫装进手机里? 比如: 想听歌时,后台自动爬取音乐的资源并播放; 想搜图时,后台自动爬取 高清图接口并下载; 想看人时,一键聚合搜索社交用户数据。 今天我们将实战一个MoonMusic。它的核心不是 UI,而是强大的异步数据采集层。 🔧 核心技术栈 数据采集 (Crawler): httpx (异步 HTTP 请求), BeautifulSoup4 (HTML 解析) 并发控制 (Concurrency): asyncio (协程调度) 数据可视


Java是当今最优雅的开发语言
richxu202510012026/1/10

我认为Java是当今最优雅的开发语言! 天然成熟的生态 !! 项目内部代码都各种积木化(模块化) (离不开spring boot的加持) 我也曾用过Delphi ,C#,Python 开发 ! 随感而发,不喜勿喷        #嵌入式 #电子信息 #编程 #软件设计与开发 #找工作 #后端开发 #单片机 #小红书#Java


程序员副业 | 2025年12月复盘
嘟嘟MD2026/1/2

本文首发于公众号:嘟爷创业日记 。 我已经坚持日更600天+,欢迎过来追剧~ 大家好,我是嘟嘟MD,一个10年程序员,现在离职创业,有700天了,我每个月都会写一篇总结复盘,让大家可以近距离看看一个离职程序员都在干什么,今天这篇是十二月份的总结,大概2000字,略长,有空的可以翻翻,希望对大家有一丢丢的借鉴作用! 一、月度大事 今天先把12月的复盘写了, 改天再把25年的复盘整理哈,这一年还是经历了很多事情,需要好好总结复盘 1:公众号运营+B站视频运营 公众号和B站视频运营目前还是最高


OSPF协议
Suchadar2025/12/23

一、OSPF 协议概述         OSPF(Open Shortest Path First,开放式最短路径优先协议)是一种链路状态路由协议,隶属于内部网关协议(IGP,Interior Gateway Protocol)范畴,核心功能是实现自治系统(AS,Autonomous System)内部路由器之间的路由信息交换,为数据传输提供最优路径指引。         分层网络架构:通过 “区域(Area)” 和 “特殊角色路由器” 划分网络层级,有效解决单区域网络中路由信息泛滥、设备资

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客