服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-20 简米科技 3,464 字 8 分钟阅读

vm虚拟机盘如何扩容不丢失数据?,虚拟机磁盘扩容怎么不丢数据

导读VMware 虚拟机的“扩容”分两层,虚拟磁盘文件扩容不会动数据,但系统内的分区和文件系统必须手动扩一次,否则你在设置里改了容量,系统里看到的还是老大小,真正会丢数据的不是“加容量”这个动作,而是分区重建、快照回滚和没做备份的误操作,按“先备份—删快照—扩磁盘—扩分区—扩文件系统”这个顺序走,99% 的场景都能……

VMware 虚拟机的“扩容”分两层,虚拟磁盘文件扩容不会动数据,但系统内的分区和文件系统必须手动扩一次,否则你在设置里改了容量,系统里看到的还是老大小。

真正会丢数据的不是“加容量”这个动作,而是分区重建、快照回滚和没做备份的误操作,按“先备份删快照扩磁盘扩分区扩文件系统”这个顺序走,99% 的场景都能在不丢数据的前提下完成扩容。

为什么在 VMware 里加了容量,系统里还是原来的大小

很多人第一次扩容都遇到过这种状况:在 VMware Workstation 或 vCenter 里把硬盘从 100GB 改成 200GB,开机进系统,df -h 还是 100GB,于是怀疑没扩成功。

其实扩容只是把虚拟磁盘文件(.vmdk)的上限撑大了,磁盘尾部的空间还处于“未分配”状态,分区表里那一行记录没变,文件系统更不会自己长大。

层级 操作位置 操作后效果 是否丢数据
虚拟磁盘文件 VMware 设置界面 vmdk 容量变大,系统内是未分配空间 不会
分区表 系统内 fdisk/parted/磁盘管理 分区覆盖到新空间 正常操作不会,删除重建有风险
文件系统 resize2fs/xfs_growfs/磁盘管理扩展卷 真正可用空间变大 在线扩容一般安全
快照 快照管理器 快照链影响扩展按钮 回滚会丢数据

行业共识认为,虚拟化层面的扩容本质是“容量供给”,Guest OS 里的分区调整才是“容量生效”,两步必须都做才算完成。

VMware虚拟机磁盘扩容后分区没变大怎么办

这是搜索量最高的疑问,答案就是上面那张表:虚拟磁盘变了,分区没变,需要进系统再扩一次,下面分平台说操作路径。

扩容前必须做的三件事

  • 备份:有条件的先做虚拟机快照只用于临时回退,正式备份仍用 Veeam、NBU 或直接复制 vmdk,快照不能替代备份,这点务必分清。
  • vm虚拟机盘如何扩容不丢失数据?,虚拟机磁盘扩容怎么不丢数据

  • 删掉已有快照:存在快照时,“扩展”按钮多数情况下是灰的,或者提示无法扩展,快照链里的 delta 文件会让容量计算变得复杂。
  • 确认剩余空间:Workstation 要检查宿主机磁盘够不够;ESXi 要检查数据存储剩余容量,精简置备磁盘扩容后实际占用会逐步增长。

VMware Workstation 图形界面路径

  1. 关闭虚拟机,必须完全关机,不能挂起。
  2. 右键虚拟机 → 设置 → 硬件 → 硬盘 → 磁盘实用工具 → 扩展。
  3. 输入新的最大磁盘大小,单位 GB,点扩展,等待进度条走完。
  4. 开机,进系统继续做分区扩展。

扩展”按钮是灰的,先看快照管理器里有没有快照,再看虚拟机是不是处于挂起或运行状态。

ESXi / vCenter 路径

  1. 关闭虚拟机电源(部分场景支持热扩容,但为了稳妥建议关机)。
  2. 编辑设置 → 虚拟硬盘 → 磁盘大小,直接填新值。
  3. 确认后,进入 Guest OS 执行分区和文件系统扩展。
  4. 对于厚置备磁盘,扩容会立即占用数据存储空间;精简置备则按写入逐步增长。

Linux虚拟机扩容根分区具体操作步骤

以常见的 /dev/sda 两块分区、根分区在 LVM 上的 CentOS/RHEL 为例,先把命令备好,再动手。

第一步:看清楚现状

lsblk
df -hT
parted /dev/sda print

重点看三样:磁盘总容量是否已经是新的大小、分区结束扇区在哪、根分区是不是 LVM,如果是 /dev/mapper/centos-root 这类路径,说明走 LVM,后面的步骤会多一层。

第二步:扩展分区

推荐用 growpart,比手工 fdisk 删分区重建安全得多:

growpart /dev/sda 2

没装的话先 yum install cloud-utils-growpart,老系统没有 growpart,就用 parted /dev/sda 进入交互模式,resizepart 2 100%,提示确认时输入 Yes。

需要注意:

vm虚拟机盘如何扩容不丢失数据?,虚拟机磁盘扩容怎么不丢数据

MBR 分区表最大支持 2TB,单盘超过 2TB 必须用 GPT,否则扩到 2TB 就卡住了,这是很多老虚拟机的隐藏坑。

第三步:LVM 与文件系统

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

-r 参数会自动调用 resize2fs 或 xfs_growfs,省一步,如果系统不支持,就手动执行:

  • ext4:resize2fs /dev/mapper/centos-root
  • xfs:xfs_growfs /

df -h 验证,整个过程在线执行即可,不用进救援模式,业务中断时间接近零。

Windows虚拟机系统盘扩容遇到恢复分区挡路

Windows 下扩容看起来更简单:磁盘管理 → 右键 C 盘 → 扩展卷,但扩展卷是灰色的几乎是必定踩的坑。

扩展卷变灰的两个原因

  • C 盘后面没有紧邻的未分配空间,中间夹着恢复分区或 EFI 分区。
  • 那块未分配空间在磁盘末尾,不连续。

diskpart 命令方式

diskpart
list disk
select disk 0
list partition
select partition 3
extend size=51200

size 单位是 MB,不写 size 就是吃掉后面所有连续未分配空间。这里必须确认选中的分区号没错,选错分区执行清理会直接毁数据。

恢复分区挡路的处理

常见做法是把 WinRE 恢复到 C 盘,删掉恢复分区,扩展完再重建,命令涉及 reagentc /disable、reagentc /enable,操作前建议先导出 WinRE 镜像,不想折腾的话,用支持“移动分区”的第三方分区工具更省事,但一定先做完整备份,分区类工具出问题的概率明显高于系统自带命令。

虚拟机扩容前必须删快照吗

是的,多数情况下必须先删掉快照,快照不是备份,它记录的是磁盘状态差异;存在快照时,虚拟磁盘的容量扩展会被禁止,因为扩展会同时影响基础磁盘和所有 delta 文件的一致性。

正确做法:

  1. 确认快照里的数据不再需要,执行“删除全部”而不是“恢复到快照”。
  2. vm虚拟机盘如何扩容不丢失数据?,虚拟机磁盘扩容怎么不丢数据

    等整合(Consolidate)完成,快照文件完全合并进基础磁盘。

  3. 再执行磁盘扩容。

如果快照很多、链很长,整合可能耗时很久,磁盘空间也要留足,否则整合失败会更麻烦。

扩容要花钱吗,不同环境的成本差异

本地 VMware Workstation 扩容本身不产生费用,成本只是宿主机硬盘,企业 vSphere 环境取决于数据存储:扩的是已有 LUN 的剩余空间,就不额外花钱;需要新加存储卷,那就是硬盘采购或云盘费用。

云上环境按量计费,扩容相当于升级云盘规格,通常按 GB 按月计费,国内主流云厂商的系统盘和数据盘单价差异较大,具体以控制台价格页为准,自建机房或租用 IDC 机柜的场景,还要考虑存储阵列的扩容窗口和维保条款。

几个容易忽略的细节

  • 扩容后记得检查 inode:df -i,空间够了但 inode 满了照样写不进文件。
  • 精简置备磁盘不要一次扩太猛,先把分区扩到位,写入增长是渐进的。
  • 集群环境逐台操作,别一次性改完所有节点再验证。
  • 扩完更新监控阈值和备份策略,新容量没进备份计划等于白扩。

关于VMware虚拟机磁盘扩容的常见问题

虚拟机磁盘扩容会导致系统无法启动吗

正常流程不会,无法启动通常发生在手工用 fdisk 删除分区再重建时起始扇区填错,或者改了分区表却没更新 GRUB,用 growpart 和 parted resizepart 这类原地扩展工具,风险会低很多。

云服务器和本地VMware扩容流程一样吗

思路一致,都是先扩云盘或虚拟磁盘,再进系统扩分区和文件系统,差异在控制台入口和是否支持在线扩容:主流云厂商的系统盘多数要求关机后扩容,数据盘一般支持在线操作,具体看产品文档。

扩容后原有数据还在原来的位置吗

在,扩容只改变分区结束位置和文件系统边界,已有数据块的物理位置不变,文件系统元数据会相应更新,真正会动数据的是分区移动类操作,那种场景必须先完整备份。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱