You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

vCenter维护模式REST API调用成功但ESXi主机未进入维护模式求助

解决vSphere 8.0 REST API提交维护模式请求成功但主机未进入维护模式的问题

核心排查方向

1. 检查维护请求的实际执行状态

POST请求成功仅代表请求已被vCenter接收,不代表操作已完成。你需要通过GET请求查询该请求的详细状态:

  • 调用GET /api/vcenter/host/maintenance/requests-v1/{request-id}
  • 重点关注status字段:
    • 如果是FAILED,查看errors字段的具体错误信息,这是定位问题的关键
    • 如果是IN_PROGRESS,等待一段时间后再检查,部分操作可能需要几秒到几分钟完成
    • 如果是PENDING,可查看vCenter Web客户端的任务管理器(监控→任务),确认是否有后台任务阻塞

2. 验证API请求体参数的正确性

由于你的环境未配置集群、DRS/HA,必须显式指定疏散策略,否则API可能因默认逻辑尝试疏散虚拟机(即使无运行VM)而失败。正确的请求体示例:

{
  "host": "host-xxx", // 必须是vCenter分配的主机MoID(如host-101,而非主机名称/IP)
  "maintenance_spec": {
    "mode": "ENTER",
    "evacuation_spec": {
      "action": "NO_ACTION", // 明确指定不执行疏散操作
      "evacuate_powered_off_vms": false,
      "evacuate_suspended_vms": false
    }
  }
}
  • 可通过GET /api/vcenter/host查询所有主机的MoID,确保host参数正确

3. 检查ESXi主机的系统日志

登录目标ESXi主机,查看以下日志文件,搜索maintenance mode相关条目:

  • /var/log/vmkernel.log:记录内核级别的维护模式操作日志
  • /var/log/hostd.log:记录主机管理服务的操作日志
    常见错误原因包括:
    • 主机上有无法停止的系统服务
    • 存储挂载异常(如共享存储未正确卸载)
    • 主机存在未完成的后台任务

4. 确认API请求头的有效性

确保POST请求的请求头配置正确:

  • 必须携带有效的VMware-api-session-id(通过POST /api/session获取)
  • Content-Type和Accept均设置为application/json

内容的提问来源于stack exchange,提问作者Muthukkumaran Ramalingam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 12:15:13