部署 Overcloud(生产云)失败,如何分层排查?
2026-08-11 09:19:15 # 云服务

使用 TripleO(OpenStack on OpenStack) 部署生产环境 Overcloud 失败时,应采用三层排查法,体现清晰的分层思路。

第一层:编排层(Heat / Nova)

1
2
3
openstack stack list                 # 看栈状态
openstack stack resource list <stack> # 定位失败的具体资源
heat resource-list <stack>

Heat 栈若卡在 CREATE_FAILEDresource-list 能指出是哪一个资源(如某台裸机、某个网络)没起来。

第二层:裸机部署层(Ironic)

1
2
openstack baremetal node list        # ironic node-list
openstack baremetal node show <uuid> # 看 last_error

重点看 Provision StateMaintenance 标志:

  • 若节点被设为 manageable,通常意味着电源管理凭证(IPMI/Redfish)错误
  • 若为 error,用 node-show 查看 last_error 字段定位原因。

第三层:配置层(Puppet)

若裸机已成功上线(Provision State 为 active),问题则出在后续 Puppet 配置阶段。此时应登录故障节点:

1
2
journalctl -u os-collect-config
less /var/log/puppet.log

os-collect-config 日志能暴露配置应用失败的具体步骤。

小结

Overcloud 部署失败 = 编排层(Heat 栈)→ 裸机层(Ironic 状态/凭证)→ 配置层(Puppet 日志)逐层下钻,每一层都有明确的”失败信号”。