今天聊一个关于 vCenter Server 备份和恢复的重要话题,虚拟机快照的最佳实践。其实对于VMware官方来说,对 vCenter Server的虚拟机进行快照操作其实是有一些特殊的考虑因素的,特别是在 vCenter HA 或增强型链接模式 (ELM) 配置中。(老实讲,VCHA是最没必要而且经常出问题的配置)
核心最佳实践概览
1. vCenter HA (VCHA) 配置
# 在 vCenter HA 配置中,严禁直接对 vCenter VMs 进行快照
# 必须先销毁 VCHA 配置,修复问题后重新部署
# 检查当前是否处于 vCenter HA 配置中
/usr/lib/vmware-vcha/bin/vcha-cli state get
2. 增强型链接模式 (ELM)
# 对于 ELM 配置的 vCenter,必须使用脱机快照
1. 使用 ESXi 主机 UI 连接到运行 vCenter VM 的 ESXi 主机
2. 关闭 vCenter VM
3. 拍摄脱机快照
4. 对 ELM 环境中的所有 vCenter 重复这些步骤
5. 确认所有脱机快照均已完成后,再分别打开每个 vCenter VM 的电源
# 验证 vCenter 的 ELM 状态
/usr/lib/vmware-vmdir/bin/vdcrepadmin -f showpartnerstatus -h localhost -u administrator
3. 独立 vCenter Server
# 对于独立的 vCenter Server,可以直接进行在线快照
# 但建议在低负载时段进行
# 在 PowerCLI 中拍摄在线快照
Connect-VIServer -Server -User -Password
Get-VM -Name | New-Snapshot -Name "Before_Change" -Description "Snapshot before making configuration changes" -Memory -Quiesce
详细操作步骤
检查 vCenter 的配置类型
# 检查 vCenter 是否处于 HA 配置中
/usr/lib/vmware-vcha/bin/vcha-cli state get
# 检查是否处于 ELM 模式
/usr/lib/vmware-vmdir/bin/vdcrepadmin -f showpartnerstatus -h localhost -u administrator
脱机快照流程
# 对于 ELM 配置的 vCenter
1. 使用 ESXi 主机 UI 连接到运行 vCenter VM 的 ESXi 主机
2. 在 vSphere Client 中关闭 vCenter VM 的电源
3. 拍摄快照,确保选择“电源状态: 关机”
4. 对所有 ELM 节点重复这些步骤
5. 等待所有快照完成后,分别启动每个 vCenter VM
# 验证快照是否成功
Get-VM -Name | Get-Snapshot
恢复快照流程
# 在 ELM 环境中恢复快照
1. 再次关闭所有 vCenter VM 的电源
2. 在每个 ESXi 主机上分别恢复快照
3. 确保所有 vCenter VM 都恢复到相同的快照时间点
4. 同时启动所有 vCenter VM
5. 检查 vmdird (VMware Directory Service) 同步状态
/usr/lib/vmware-vmdir/bin/vdcrepadmin -f showpartnerstatus -h localhost -u administrator
重要注意事项
脱机快照的重要性
# 在 ELM 配置中,必须使用脱机快照
# 在线快照可能导致 vmdird 同步问题,影响 SSO 服务的正常运行
# 检查同步状态(恢复后)
Get-AdvancedSetting -Entity (Get-VMHost) -Name "Config.HostAgent.log.level"
单个 vCenter 快照的风险
# 只在一个 ELM vCenter 上恢复快照会严重破坏 vmdird 状态
# ELM 依赖于 SSO 域中所有 vCenter 服务器的 vmdir 数据库同步
# 检查 vmdird 状态
Get-VMHost | Get-VM | Where-Object {$_.Name -like "*vcenter*"} | Get-Snapshot
故障排查
同步失败
# 如果 vmdird 同步失败
# 检查防火墙规则
Get-VMHostFirewallException | Where-Object {$_.Name -like "*vmdird*"}
# 重启 vmdir 服务
service-control --restart vmdir
# 检查服务状态
service-control --status vmdir
快照恢复后无法启动
# 如果恢复快照后无法启动
# 检查磁盘空间
df -h
# 检查虚拟机配置
Get-VM -Name | Get-VMGuestNetworkInterface
# 尝试使用恢复模式启动
总结
建议:
1. vCenter HA 配置:禁止直接快照,必须先销毁 HA 配置
2. 增强型链接模式 (ELM):必须使用脱机快照,并对所有节点执行相同操作
3. 独立 vCenter:可以使用在线快照,但建议在低负载时段进行
4. 恢复快照:在 ELM 中,必须恢复所有 vCenter 的快照,而不仅仅是一个
记住,vCenter Server 的虚拟机快照操作需要格外谨慎,因为它们可能会影响整个 vSphere 环境的稳定性和数据一致性。严格遵循最佳实践可以显著减少失败风险。







