首页/云/云平台与虚拟化速查/VMware 快照日常操作(PowerCLI)
虚拟化操作94 条

VMware 快照日常操作(PowerCLI)

PowerCLI 把快照操作脚本化:New-Snapshot 创建、Get-Snapshot 查询、Set-VM 回滚、Remove-Snapshot 删除并合并;删除与回滚都涉及 delta 磁盘处理,避开高峰执行。

云平台与虚拟化速查云更新于 2026-10-13

快照脚本化运维

PowerCLI 把 VMware 快照操作脚本化:New-Snapshot 创建、Get-Snapshot 查询、Set-VM 回滚、Remove-Snapshot 删除并合并 delta 磁盘。快照适合作为变更前后的短期护栏,它保存的是增量 delta 链,不能替代真正的备份产品。

基本信息

创建New-Snapshot -VM web01 -Name before-patch -Description "补丁窗口"
查询Get-Snapshot -VM web01 | Select Name,Created,SizeGB
回滚Set-VM -VM web01 -Snapshot $s -Confirm:$false
删除Remove-Snapshot -VM web01 -Snapshot $s
前提条件先 Connect-VIServer 连上 vCenter,账号具备快照相关权限
代价快照存在期间写入落到 delta 文件,长期保留影响性能与空间

典型使用场景

  • 补丁与升级前打快照,出问题快速回退
  • 变更验证期间保留还原点,验证通过立即删除
  • 批量巡检发现长期未清理的快照,提前处理空间与性能隐患
  • 交付验收前确认虚机没有残留快照
  • 演练回滚流程,摸清实际恢复耗时

创建、回滚与删除快照

创建、回滚与删除快照
Connect-VIServer -Server vcsa.example.com                # 先连上 vCenter
New-Snapshot -VM web01 -Name before-patch -Description '补丁窗口'
$s = Get-Snapshot -VM web01 -Name before-patch
Set-VM -VM web01 -Snapshot $s -Confirm:$false    # 回滚到快照
Remove-Snapshot -VM web01 -Snapshot $s           # 删除并合并 delta
Get-Snapshot -VM web01 | Select Name,Created,SizeGB   # 列出全部快照,便于定期清理

操作与代价

操作行为代价
创建快照生成 delta 磁盘,后续写入进入 delta磁盘链路变长,写入性能下降
回滚丢弃快照之后的写入不可撤销,先确认数据取舍
删除快照把 delta 合并回基础盘大快照合并耗时长且占用大量 I/O
含内存快照额外保存内存状态生成慢、占用空间大
快照保留时间越长,delta 链越长,回滚与删除都更慢;把快照当临时护栏,变更验证结束就删掉,长期留存交给备份产品。巡检脚本可以按创建时间列出超期快照,形成固定的清理节奏。
回滚是不可撤销的写入丢弃动作:快照之后产生的数据会一并消失,执行前必须与业务确认取舍。删除大快照期间避免再对同一虚机创建或回滚快照。

易错点

  • 回滚会丢弃快照后的写入:执行前未与业务确认数据取舍
  • 删除大快照需要合并耗时:期间重复创建或回滚同一虚机,任务互相冲突
  • 把快照当备份长期保留,delta 链膨胀导致性能下降与存储写满
  • 脚本里用 -Confirm:$false 批量删除快照,误删了仍需保留的还原点
  • 多台虚机在同一数据存储上同时删快照,集中 I/O 把存储打满拖慢业务
  • 在已有快照的虚机上继续叠加快照,链条过深后回滚与合并的结果都难以预期

数据来源与参考

  • VMware PowerCLI 文档:Snapshot cmdlets
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌