Cinder 调度器过滤器

可用区过滤器 (AvailabilityZoneFilter)

按可用区过滤后端。

能力过滤器 (CapabilitiesFilter)

用于与资源(实例和卷)类型记录一起工作的后端过滤器。

容量过滤器 (CapacityFilter)

基于卷后端容量利用率的容量过滤器。

不同后端过滤器 (DifferentBackendFilter)

在与一组卷不同的后端上调度卷。

驱动过滤器 (DriverFilter)

基于“过滤函数”和指标过滤后端。

驱动过滤器基于卷后端提供的“过滤函数”和指标进行过滤。

实例本地性过滤器 (InstanceLocalityFilter)

在与给定实例相同的宿主机上调度卷。

此过滤器能够选择位于实例的 hypervisor 运行的宿主机上的存储后端。这提供了数据本地性:实例和卷位于同一物理机器上。

为了工作

  • Nova 中需要激活扩展服务器属性扩展(默认情况下已激活),以便在请求实例信息时返回“OS-EXT-SRV-ATTR:host”属性。

  • 需要在 Cinder 配置中配置具有 Nova 特权权限的帐户(在 [nova] 部分配置 keystone 身份验证插件),或者发出调用的用户需要具有足够的权限(请参阅 Nova 策略中的“extended_server_attributes”)。

JSON 过滤器 (JsonFilter)

用于选择后端的简单基于 JSON 的语法后端过滤器。

如果您想选择您的后端之一,请创建一个查询提示,例如

cinder create –hint query=’[“=”, “$backend_id”, “rbd:vol@ceph#cloud”]’

重试过滤器 (RetryFilter)

过滤掉先前尝试过的宿主机

如果宿主机尚未尝试进行调度,则该宿主机通过此过滤器。为了使此功能正常工作,调度器需要将先前尝试过的宿主机添加到 filter_properties 中的“retry”键中。例如

{
 'retry': {
           'backends': ['backend1', 'backend2'],
           'num_attempts': 3,
          }
}

相同后端过滤器 (SameBackendFilter)

在与另一个卷相同的后端上调度卷。