如何在openstack中实现节点亲和性?

如何在openstack中实现节点亲和性?

例如,我有 3 台计算服务器,并且我希望每台服务器上都有 1 个特定实例,并且我希望它们具有节点亲和性。

  • instance_1 --> compute_node_1 (始终在此节点上)
  • instance_2 --> compute_node_2 (始终在此节点上)
  • instance_3 --> compute_node_3 (始终在此节点上)

我知道有“Senlin”服务。但是具体如何使用呢?或者还有其他解决方案吗?

答案1

您不需要 Senlin。您可以创建一个具有反亲和性策略(即,将服务器分布在计算节点上的策略)的服务器组,然后在该组中启动您的实例。

必须启用 Nova-Scheduler 反亲和性过滤器。请注意,无法保证实例以所需的方式进行调度;例如,如果计算节点没有剩余容量,则不会使用它。

https://docs.openstack.org/nova/victoria/admin/configuration/schedulers.html#servergroupantiaffinityfilter了解详情。

还有另一种选择:在最近的 Nova 版本(Xena、Wallaby 或 Victoria)中,管理员可以在启动实例时请求特定的计算节点。请参阅发行说明了解更多详细信息。

答案2

不。

当您想将计算实例和虚拟机管理程序视为老式的传统 IT 并尝试使负载/ VM 的行为完全确定时,您不应该使用云平台。

话说回来 :

向 OpenStack 租户开放的常规方法:具有反亲和性规则的服务器组将确保在负载允许的情况下,调度程序将确保它们的计算实例在不同的虚拟机管理程序上运行。

作为 OpenStack 管理员,您可以将每个虚拟机管理程序放置在其自己的可用区域中。然后,租户可以将其计算实例放置在特定的可用区域中,以创建比反亲和性规则能够实现的更强的分离。

我不熟悉 Senlin

相关内容