可以在 [DEFAULT] scheduler_weight_classes 选项中定义调度程序需要使用的主机权重器:
- nova.scheduler.weights.ram 主机可用内存的权重。
- nova.scheduler.weights.metrics 主机指标数据(metrics)的权重。
- nova.scheduler.weights.all_weighers 使用所有主机权重器(默认)。
[DEFAULT] scheduler_host_subset_size
定义所选主机的子集合的大小(整数),它的值必须不小于1。如果是 1,权重功能返回的第 1 个主机会被选择。如果它的值小于 1,这个值会被忽略,并使用 1 作为它的值。
[metrics] required
指定当 [metrics] weight_setting 无效时如何处理 metrics:
- True - 需要 metrics,如果无效,会产生一个 exception。为了避免产生 exception,在 [DEFAULT]scheduler_default_filters 选项中使用 MetricFilter。
- False - 无效的 metric 在权重处理过程中被认为是一个负参数;返回的值由 weight_of_unavailable 设置。
metrics [metrics] weight_of_unavailable
当 [metrics] weight_setting 中的 metric 无效时的权重值。它只在 [metrics]required=False 时有效。
[metrics] weight_multiplier
权重 metric 使用的乘数。在默认情况下,weight_multiplier=1.0,并在所有可能的主机中的实例上有效。如果这个值是负数,带有较低 metric 的主机会有高优先值。
[metrics] weight_setting
指定 metric 以及它们权重的比率,它是一个使用逗号分隔的 ‘metric=ratio’ 对列表,例如weight_setting=cpu.user.time=1.0。有效的 metric 名是:
- cpu.frequency 当前 CPU 的频率
- cpu.user.time CPU 用户模式时间
- cpu.kernel.time CPU 内核时间
- cpu.idle.time CPU 空闲时间
- cpu.iowait.time CPU I/O 等待时间
- cpu.user.percent CPU 用户模式百分比
- cpu.kernel.percent CPU 内核百分比
- cpu.idle.percent CPU 空闲百分比
- cpu.iowait.percent CPU I/O 等待百分比
- cpu.percent 一般的 CPU 利用率
[DEFAULT] ram_weight_multiplier
RAM 的乘数(浮点值)。在默认情况下是 ram_weight_multiplier=1.0,并在所有可能主机上的实例中有效。如果它的值为负数,具有较少 RAM 的主机具有高优先级。