Ironic

介绍

Ironic 超visor 驱动程序封装了 Bare Metal (ironic) API,使 Nova 能够使用与服务器管理相同的用户界面 API 来配置裸机资源。

这是 nova 中唯一一个一个计算服务可以映射到多个主机的驱动程序,这意味着一个 nova-compute 服务可以管理多个 ComputeNodes。由 ironic 驱动程序管理的计算服务使用 ironic node uuid 作为计算节点的 hypervisor_hostname (节点名) 和 uuid 字段。 instance:compute node:ironic node 的关系是 1:1:1。

裸机节点的调度基于自定义资源类,通过节点上的 resource_class 属性和风味上的相应资源属性指定(请参阅 风味文档)。风味上的 RAM 和 CPU 设置将被忽略,磁盘仅用于确定使用分区镜像时根分区的大小(请参阅 镜像文档)。

配置

伸缩性和性能问题

  • 单个 nova-compute 进程支持数百个 Ironic 节点是很常见的。即使 Ironic 能够将单个 conductor group 扩展到更大的规模,当您尝试支持与单个 nova-compute 进程关联的 1000 多个 Ironic 节点时,也存在已知问题。还有许多其他因素会影响部署中 conductor group 的最大实际大小。

  • update_available_resource 定期任务报告 Ironic 管理的所有资源。根据节点数量,这可能需要很长时间。当此任务运行时,nova-compute 将不会执行任何其他操作。您可以使用 conductor groups 来帮助通过设置 ironic.conductor_group 在多个 nova-compute 进程之间分片您的部署。

  • 使用 Ironic 驱动程序的 nova-compute 进程可以使用主动/被动故障转移在不同的物理服务器之间移动。但是,在执行此故障转移时,您必须确保 host 无论 nova-compute 进程在何处运行,都保持相同。同样,您必须确保每个 conductor group 运行的 nova-compute 进程最多只有一个。

  • 现在不推荐使用指向相同 conductor group 的多个 nova-compute 进程。请永远不要在 peer 列表中拥有超过一个主机:ironic.peer_list

已知限制 / 缺失功能

  • 迁移

  • Resize

  • 快照

  • 暂停

  • 搁置

  • 驱逐