4.6. 对 No Valid Host Errors 进行故障排除
如果计算调度程序找不到合适的裸机置备节点,在其上引导实例时可在 /var/log/nova/nova-conductor.log 中看到 NoValidHost 错误,或者在仪表板中启动失败时立即看到 NoValidHost 错误。这通常是由于资源 Compute 期望和裸机置备节点提供的资源不匹配造成的。
检查可用的 hypervisor 资源:
nova hypervisor-stats
# nova hypervisor-statsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此处报告的资源应与裸机置备节点提供的资源匹配。
检查 Compute 是否将裸机置备节点识别为虚拟机监控程序:
nova hypervisor-list
# nova hypervisor-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 由 UUID 标识的节点应当会显示在列表中。
检查裸机置备节点的详情:
ironic node-list ironic node-show NODE_UUID
# ironic node-list # ironic node-show NODE_UUIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证节点的详细信息是否与计算报告的不同。
检查所选类别是否不超过裸机置备节点的可用资源:
nova flavor-show FLAVOR_NAME
nova flavor-show FLAVOR_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 ironic node-list 的输出,以确保 Bare Metal Provisioning 节点没有处于维护模式。如果需要,删除维护模式:
ironic node-set-maintenance NODE_UUID off
# ironic node-set-maintenance NODE_UUID offCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 ironic node-list 的输出,以确保 Bare Metal Provisioning 节点处于
available状态。如果需要,将节点移至可用:ironic node-set-provision-state NODE_UUID provide
# ironic node-set-provision-state NODE_UUID provideCopy to Clipboard Copied! Toggle word wrap Toggle overflow