7.3. 计算调度程序过滤器
您可以在 Compute 环境文件中配置 NovaSchedulerEnabledFilters
参数,以指定在选择托管一个实例的适当 Compute 节点时必须满足计算调度程序的过滤器。默认配置应用以下过滤器:
-
AvailabilityZoneFilter
: Compute 节点必须位于请求的可用区中。 -
ComputeFilter
: Compute 节点可以服务请求。 -
ComputeCapabilitiesFilter
:计算节点满足类别额外规格。 -
ImagePropertiesFilter
: Compute 节点满足请求的镜像属性。 -
ServerGroupAntiAffinityFilter
: Compute 节点尚未在指定组中托管实例。 -
ServerGroupAffinityFilter
: Compute 节点已在指定组中托管实例。
您可以添加和删除过滤器。下表描述了所有可用的过滤器。
Filter | 描述 |
---|---|
| 使用此过滤器与带有主机聚合元数据的实例的镜像元数据匹配。如果任何主机聚合元数据与镜像的元数据匹配,则属于该主机聚合的 Compute 节点是从该镜像启动实例的候选者。调度程序只识别有效的镜像元数据属性。有关有效镜像元数据属性的详情,请参阅 镜像 配置参数。 |
| 使用此过滤器匹配带有主机聚合元数据的实例类型额外规格中定义的命名空间属性。
您需要限制类型 如果有任何主机聚合元数据与类别额外规格的元数据匹配,则属于该主机聚合的 Compute 节点是从该镜像启动实例的候选者。 |
|
使用此过滤器,根据 I/O 操作,使用 per-aggregate |
|
使用此过滤器将项目隔离主机聚合中的 Compute 节点可用性限制为一组指定的项目。只有使用 注意
该项目仍然可以将实例放在其他主机上。要限制这一点,请使用 |
|
使用此过滤器来限制聚合中每个 Compute 节点可以托管的实例数量。您可以使用 |
|
如果没有设置任何类别元数据密钥,则使用此过滤器传递主机,或者类别聚合元数据值包含所请求类别的名称。类别元数据条目的值是可能包含单个类别名称或以逗号分隔的类别名称列表的字符串,如 |
| 使用此过滤器考虑所有可用的 Compute 节点以进行实例调度。 注意 使用此过滤器不会禁用其他过滤器。 |
| 使用此过滤器在实例指定的可用区的 Compute 节点上启动实例。 |
|
使用此过滤器,将实例的类别额外规格中定义的命名空间属性与 Compute 节点功能匹配。您必须使用
使用 |
| 使用此过滤器传递操作并启用的所有 Compute 节点。此过滤器应始终存在。 |
|
使用此过滤器,允许从一组特定实例在不同的 Compute 节点上调度实例。要在启动实例时指定这些实例,请使用带有 $ openstack server create --image cedef40a-ed67-4d10-800e-17455edce175 \ --flavor 1 --hint different_host=a0cf03a5-d921-4877-bb5c-86d26cf818e1 \ --hint different_host=8c19174f-4220-44f0-824a-cd1eeef10287 server-1 |
| 使用此过滤器根据实例镜像中定义的以下属性过滤 Compute 节点:
支持实例中包含的指定镜像属性的计算节点传递到调度程序。有关镜像属性的更多信息,请参阅 镜像配置参数。 |
|
使用此过滤器,仅在隔离的 Compute 节点上调度带有隔离镜像的实例。您还可以通过配置
要指定隔离的镜像和主机集合,请使用 parameter_defaults: ComputeExtraConfig: nova::config::nova_config: filter_scheduler/isolated_hosts: value: server1, server2 filter_scheduler/isolated_images: value: 342b492c-128f-4a42-8d3a-c5088cf27d13, ebd267a6-ca86-4d6c-9a0e-bd132d6b7d09 |
|
使用此过滤器过滤具有超过配置的 |
|
使用此过滤器,将调度限制为使用 要使用此过滤器,请在 Compute 环境文件中添加以下配置: parameter_defaults: ComputeExtraConfig: nova::config::nova_config: DEFAULT/compute_monitors: value: 'cpu.virt_driver' 默认情况下,计算调度程序服务每 60 秒更新指标。 |
|
使用此过滤器,在支持 NUMA 的 Compute 节点上调度带有 NUMA 拓扑的实例。使用类别 |
|
使用此过滤器过滤运行超过 |
|
使用此过滤器,使用类别 如果您要为节点保留 PCI 设备(通常为昂贵且有限)用于请求它们的实例,请使用此过滤器。 |
|
使用此过滤器,在与一组特定实例相同的 Compute 节点上调度实例。要在启动实例时指定这些实例,请使用 $ openstack server create --image cedef40a-ed67-4d10-800e-17455edce175 \ --flavor 1 --hint same_host=a0cf03a5-d921-4877-bb5c-86d26cf818e1 \ --hint same_host=8c19174f-4220-44f0-824a-cd1eeef10287 server-1 |
| 使用此过滤器在同一 Compute 节点上调度关联性服务器组中的实例。运行以下命令来创建服务器组: $ openstack server group create --policy affinity <group_name>
要在此组中启动实例,请使用 $ openstack server create --image <image> \ --flavor <flavor> \ --hint group=<group_uuid> <instance_name> |
| 使用此过滤器来调度属于不同 Compute 节点上的反关联性服务器组的实例。运行以下命令来创建服务器组: $ openstack server group create --policy anti-affinity <group_name>
要在此组中启动实例,请使用 $ openstack server create --image <image> \ --flavor <flavor> \ --hint group=<group_uuid> <instance_name> |
|
使用此过滤器,在具有特定 IP 子网范围的 Compute 节点上调度实例。要指定所需的范围,请使用 $ openstack server create --image <image> \ --flavor <flavor> \ --hint build_near_host_ip=<ip_address> \ --hint cidr=<subnet_mask> <instance_name> |