vCenter 中孤立虚拟机记录的完美清理方案

vCenter 中孤立虚拟机记录的完美清理方案

故障场景与现象分析

在管理 vCenter Server 时,你是否遇到过这种情况?某个虚拟机显示为“孤立”状态,但在 ESXi 主机上根本看不到它。更令人抓狂的是,“从清单中移除”选项是灰色的,无法直接删除这个无效的记录。

这种现象在 vCenter Server 6.7、7.0.x 和 8.0.x 版本中都可能发生,特别是在虚拟机迁移、快照管理或 ESXi 主机故障恢复后。

孤立虚拟机的原因分析

孤立虚拟机记录通常由以下几种原因导致:

1. 虚拟机迁移或删除过程异常中断:在 vMotion 或 Storage vMotion 过程中,如果网络中断或主机故障,可能导致 vCenter 数据库中的记录与实际 ESXi 主机上的 VM 不一致。

2. 虚拟机快照管理问题:错误的快照操作或快照删除过程可能导致虚拟机在 vCenter 中的状态异常。

3. vCenter 与 ESXi 主机通信故障:如果 vCenter 与 ESXi 主机之间的通信中断时间过长,可能会导致虚拟机记录变成孤立状态。

解决方案一:使用 vSphere Client 图形界面

这是最简单的方法,无需命令行操作,适用于大多数场景:

1. 在 vSphere Client 中切换到“虚拟机和文件夹”视图。
2. 创建一个新的虚拟机文件夹。
3. 将孤立的虚拟机拖放到这个新文件夹中。
4. 删除这个包含孤立虚拟机的文件夹。

这种方法通过文件夹操作间接删除了孤立虚拟机记录,避免了直接操作 vCenter 数据库的风险。

解决方案二:直接操作 vCenter 数据库

如果第一种方法无效,或者你需要更彻底的解决方案,可以通过直接操作 vCenter 的 vPostgres 数据库来删除孤立虚拟机记录。

操作步骤

1. 首先,确保你已经对 vCenter Server Appliance (VCSA) 进行了完整的备份或关闭状态下的快照。

2. 使用 SSH 连接到 VCSA 并以 root 用户登录。

3. 停止 vCenter Server 服务:

service-control --stop vpxd

4. 连接到 vCenter 的 vPostgres 数据库:

/opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres

5. 识别需要删除的虚拟机 ID:

-- 方法一:通过 ID 查找
   select * from vpx_entity where id = '';

 

   -- 方法二:通过名称查找
   select * from vpx_entity where name like '%%';

6. 按照以下顺序执行删除语句(替换其中的 VM_ID 为实际值):

delete from  VPX_COMPUTE_RESOURCE_DAS_VM where VM_ID=9;
   delete from  VPX_COMPUTE_RESOURCE_DRS_VM where VM_ID=9;
   delete from  VPX_COMPUTE_RESOURCE_ORC_VM where VM_ID=9;
   delete from  VPX_VM_SGXINFO where VM_ID=9;
   delete from  VPX_GUEST_DISK where VM_ID=9;
   delete from  VPX_VM_VIRTUAL_DEVICE where ID=9;
   delete from  VPX_VM_DS_SPACE where VM_ID=9;
   delete from  VPX_NON_ORM_VM_CONFIG_INFO where ID=9;
   delete from  VPX_NORM_VM_FLE_FILE_INFO where VM_ID=9;
   delete from  VPX_VDEVICE_BACKING_REL where VM_ID=9;
   delete from  VPX_VIRTUAL_DISK_IOFILTERS where VM_ID=9;
   delete from  VPX_VM_STATIC_OVERHEAD_MAP where VM_ID=9;
   delete from  VPX_VM_TEXT where VM_ID=9;
   delete from  VPX_VM where ID=9;
   delete from  VPX_ENTITY where ID=9;

 

   delete from VPX_DVPORT where connectee='vm-name';

7. 重启 vCenter Server 服务:

service-control --start vpxd

操作风险与注意事项

在执行任何与数据库相关的操作时,必须谨慎并遵循以下原则:

1. 完整备份是必需的:在进行任何数据库修改之前,确保有完整且可恢复的备份。

2. 操作前确认隔离:如果是 Enhanced Linked Mode (ELM) 架构,必须对所有 ELM 节点进行离线快照。

3. 严格按照顺序执行 SQL 语句:SQL 语句的执行顺序非常重要,必须按照提供的顺序执行,以避免违反数据库约束。

4. 考虑专业支持:如果你对数据库操作不熟悉,或者是在生产环境中操作,建议联系 VMware 专业支持团队。

运维经验总结

定期检查 vCenter 清单中的虚拟机状态,及时清理孤立虚拟机记录,可以提高 vCenter 的管理效率。对于大规模部署环境,建议使用 PowerCLI 自动化脚本定期检查和清理孤立虚拟机记录。

同时,确保 ESXi 主机和 vCenter Server 的网络连接稳定,避免在虚拟机迁移过程中发生中断,从而减少孤立虚拟机记录的产生。

通过以上方法,你可以有效地清理 vCenter 数据库中的孤立虚拟机记录,恢复 vCenter 的正常管理功能。


Reference: VMware KB 382350

 

 

有VM问题需要协助?

免费试用VMware技术助理(已接Deepseek)!即时解答VM难题

→ 🤖VM技术助理

解析和诊断各类vCenter错误,ESXi日志,虚拟机vmware.log

→ 📕VMware日志分析器

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware技术助理(已接Deepseek)!即时解答VM难题 → 🤖VM技术助理

试试 📕VMware日志分析器 免费诊断各类vCenter错误,ESXi日志,虚拟机vmware.log等等

########

扫码加入VM资源共享交流微信群(请备注加群

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

Dell PowerProtect Data Manager 无法连接 vCenter 的凭据验证问题
运维必备

Dell PowerProtect Data Manager 无法连接 vCenter 的凭据验证问题

Dell PowerProtect Data Manager 无法连接 vCenter 的凭据验证问题。详细解析 Dell PowerProtect Data Manager (PPDM) 无法连接到 vCenter 的问题,重点说明无效凭据导致的身份验证失败,提供完整的故障排查步骤,帮助管理员快速恢复连接。 本文针对该问题提供了深度剖析与实测解决方案。

VMware Tools 升级失败 - VMXNet3 驱动安装超时问题
运维必备

VMware Tools 升级失败 – VMXNet3 驱动安装超时问题

VMware Tools 升级失败 – VMXNet3 驱动安装超时问题。详细解析 VMware Tools 从 12.3.0 升级到 12.5.2 时出现的 VMXNet3 驱动安装超时问题,重点说明 Windows 系统映像损坏的原因,提供故障排查方法,帮助管理员快速解决升级失败问题。 本文针对该问题提供了深度剖析与实测解决方案。

ESXi 8.x/9.x 主机物理网卡链路状态反复 Up/Down 问题
运维必备

ESXi 8.x/9.x 主机物理网卡链路状态反复 Up/Down 问题

ESXi 8.x/9.x 主机物理网卡链路状态反复 Up/Down 问题。详细解析 ESXi 8.x/9.x 主机中物理网卡反复出现 Up/Down 事件的问题,提供完整的硬件和软件排查步骤,帮助管理员快速定位和修复链路不稳定问题。 本文针对该问题提供了深度剖析与实测解决方案。

ESXi 主机 hpilo 驱动日志泛滥导致无响应问题
运维必备

ESXi 主机 hpilo 驱动日志泛滥导致无响应问题

ESXi 主机 hpilo 驱动日志泛滥导致无响应问题。详细解析 ESXi 主机中 hpilo 驱动日志泛滥导致主机无响应的问题,重点说明 HPE WBEM Provider 的工作机制,提供驱动和固件更新的解决方案,帮助管理员快速恢复主机可用性。 本文针对该问题提供了深度剖析与实测解决方案。

//omg10.com/4/9119499