例如,我有 3 台计算服务器,并且我希望每台服务器上都有 1 个特定实例,并且我希望它们具有节点亲和性。
- instance_1 --> compute_node_1 (始终在此节点上)
- instance_2 --> compute_node_2 (始终在此节点上)
- instance_3 --> compute_node_3 (始终在此节点上)
我知道有“Senlin”服务。但是具体如何使用呢?或者还有其他解决方案吗?
答案1
您不需要 Senlin。您可以创建一个具有反亲和性策略(即,将服务器分布在计算节点上的策略)的服务器组,然后在该组中启动您的实例。
必须启用 Nova-Scheduler 反亲和性过滤器。请注意,无法保证实例以所需的方式进行调度;例如,如果计算节点没有剩余容量,则不会使用它。
还有另一种选择:在最近的 Nova 版本(Xena、Wallaby 或 Victoria)中,管理员可以在启动实例时请求特定的计算节点。请参阅发行说明了解更多详细信息。
答案2
不。
当您想将计算实例和虚拟机管理程序视为老式的传统 IT 并尝试使负载/ VM 的行为完全确定时,您不应该使用云平台。
话说回来 :
向 OpenStack 租户开放的常规方法:具有反亲和性规则的服务器组将确保在负载允许的情况下,调度程序将确保它们的计算实例在不同的虚拟机管理程序上运行。
作为 OpenStack 管理员,您可以将每个虚拟机管理程序放置在其自己的可用区域中。然后,租户可以将其计算实例放置在特定的可用区域中,以创建比反亲和性规则能够实现的更强的分离。
我不熟悉 Senlin