通过在 OpenStack 中创建服务器组并将所需的筛选器应用为组策略,可以使用关联性或反关联性来放置实例。服务器组中的所有实例都将服从关联性或反关联性策略。从 Python nova-client 使用 ServerGroup API 可以执行此配置。

前提条件

  • 确认拟用的反关联性筛选器配置与所有现有的管理配置(如管理主机上实例放置的 DRS 规则)均不会发生冲突。
  • 确认您运行的是 VMware Integrated OpenStack 2.0.x 或更高版本。
  • 确认 VMware Integrated OpenStack 正在运行。
  • 根据 ServerGroup API 需要,确认使用的为 Python nova-client 2.17.0.6 或更高版本。转到 http://docs.openstack.org/user-guide/common/cli_install_openstack_command_line_clients.html。

过程

  1. 创建符合反关联性策略的新服务器组。
    POST /v2/TENANT_ID/os-server-groups
    
    {
        "server_group": {
            "name": "SERVER_GROUP_NAME",
            "policies": ["POLICY_TYPE"]
        }
    }
    选项 说明
    TENANT_ID OpenStack 租户的 ID 值。
    SERVER_GROUP_NAME 指定服务器组的名称。
    POLICY_TYPE 指定 affinityanti-affinity
  2. 启动新实例,包括 GET /servers 命令中带有服务器组 ID 的 os:scheduler_hints 参数。
    ... "os:scheduler_hints": {"group": "SERVER_GROUP_UUID"}
  3. (可选) 确认新规则和服务器组实例已存在且正在 vCenterVMware Integrated OpenStack 部署中正确运行。
    对于计算群集,规则详细信息显示在 管理 > 设置 > 虚拟机/主机规则页面上。