服务器组¶
服务器组提供了一种机制,用于指示服务器相对于其他服务器的本地性。它们允许您指示服务器是否应在同一主机上运行(亲和性)或不同主机上运行(反亲和性)。如果希望最小化网络延迟,则亲和性是有利的,而反亲和性可以提高容错性和负载分布。
注意
服务器组对于分离或分组工作负载很有用,但通常不应依赖它们来提供 HA(高可用性)。相反,请考虑使用可用区。与服务器组不同,可用区只能由管理员配置,但它们通常用于模拟故障域,尤其是在大型部署中。有关更多信息,请参阅 可用区。
服务器组可以配置策略和规则。目前支持四种策略
亲和性将属于服务器组的实例限制在同一主机上。
反亲和性将属于服务器组的实例限制在不同的主机上。
软亲和性尝试将属于服务器组的实例限制在同一主机上。如果无法在一个主机上调度所有实例,它们将在尽可能少的几个主机上一起调度。
注意
需要 API 微版本 2.15 或更高版本。
软反亲和性尝试将属于服务器组的实例限制在不同的主机上。如果无法将所有实例调度到不同的主机上,它们将在尽可能多的独立主机上调度。
注意
需要 API 微版本 2.15 或更高版本。
目前支持一种规则
max_server_per_host指示在使用
反亲和性策略时,可以调度到任何给定主机的最大实例数。此规则与其它策略不兼容。注意
需要 API 微版本 2.64 或更高版本。
用法¶
服务器组可以由最终用户配置和使用。例如
$ openstack --os-compute-api-version 2.64 server group create \
--policy POLICY --rule RULE NAME
一旦创建了服务器组,您就可以在创建服务器时使用它。这是通过使用 --hint 选项来实现的。例如
$ openstack server create \
--hint group=SERVER_GROUP_UUID ... NAME
创建后,服务器组无法修改。此外,服务器无法在服务器组之间移动。在两种情况下,这是因为这样做可能需要将服务器移动以满足服务器组策略。