Oracle® VM Server for SPARC 3.2 管理指南

退出打印视图

更新时间: 2015 年 5 月
 
 

使用动态资源管理

可以使用策略来确定如何自动执行 DR 活动。目前,只能创建相应策略来控制虚拟 CPU 的动态资源管理。


Caution

注意  - 以下限制会影响 CPU 动态资源管理 (dynamic resource management, DRM):

  • 在 UltraSPARC T2 和 UltraSPARC T2 Plus 平台上,如果设置了 PM 弹性策略,则无法启用 DRM。
  • 在 UltraSPARC T2 和 UltraSPARC T2 Plus 平台上,如果启用了 DRM,任何从性能策略到弹性策略的更改均会延迟。
  • 确保在执行域迁移操作之前禁用 CPU DRM,否则将看到错误消息。
  • DRM 策略不适用于配置有整体核心约束的域。如果试图在设置了 whole-core 约束的域上使用 DRM,则将看到错误消息。
  • 如果设置了 PM 弹性策略,则只有当固件支持标准利用率 (8.2.0) 时,才能使用 DRM。


资源管理策略用于指定可以自动在逻辑域中添加和删除虚拟 CPU 的条件。使用 ldm add-policyldm set-policyldm remove-policy 命令管理策略:

ldm add-policy [enable=yes|no] [priority=value] [attack=value] [decay=value]
  [elastic-margin=value] [sample-rate=value] [tod-begin=hh:mm[:ss]]
  [tod-end=hh:mm[:ss]] [util-lower=percent] [util-upper=percent] [vcpu-min=value]
  [vcpu-max=value] name=policy-name domain-name...
ldm set-policy [enable=[yes|no]] [priority=[value]] [attack=[value]] [decay=[value]]
  [elastic-margin=[value]] [sample-rate=[value]] [tod-begin=[hh:mm:ss]]
  [tod-end=[hh:mm:ss]] [util-lower=[percent]] [util-upper=[percent]] [vcpu-min=[value]]
  [vcpu-max=[value]] name=policy-name domain-name...
ldm remove-policy [name=]policy-name... domain-name

有关这些命令以及创建资源管理策略的信息,请参见 ldm(1M) 手册页。

策略在 tod-begintod-end 属性指定的时间内有效。tod-begin 指定的时间必须早于 tod-end 指定的时间(24 小时制)。默认情况下,tod-begintod-end 属性的值分别为 00:00:00 和 23:59:59。使用默认值时,此策略始终有效。

此策略使用 priority 属性的值为动态资源管理 (dynamic resource management, DRM) 策略指定优先级。优先级值用来确定单个域上的 DRM 策略之间的关系,以及单个系统上启用了 DRM 的域之间的关系。数值越小,优先级越高。有效值介于 1 和 9999 之间。默认值为 99。

    priority 属性的行为取决于空闲 CPU 资源池的可用性,如下所示:

  • 池中有空闲的 CPU 资源。在这种情况下,当为单个域定义了多个重叠策略时,priority 属性将确定哪个 DRM 策略有效。

  • 池中没有空闲的 CPU 资源。在这种情况下,priority 属性指定资源能否从低优先级域动态移动到同一系统上的高优先级域。域的优先级是由该域的有效 DRM 策略指定的优先级。

    例如,高优先级域可以从另一个具有较低优先级 DRM 策略的域获取 CPU 资源。该资源获取功能仅适用于已启用 DRM 策略的域。具有相同 priority 值的域将不受此功能的影响。因此,如果对所有策略都使用默认优先级,则域将无法从低优先级域获取资源。为了利用此功能,请调整 priority 属性的值,以便它们具有不相等的值。

    例如,ldg1ldg2 域都具有有效的 DRM 策略。ldg1 域的 priority 属性为 1,该值的优先级比 ldg2 域的 priority 属性值 (2) 高。在以下情况下,ldg1 域可以从 ldg2 域中动态删除 CPU 资源,并将该 CPU 资源分配给它自身:

  • ldg1 域需要另一个 CPU 资源。

  • 空闲 CPU 资源池已经耗尽。

策略使用 util-highutil-low 属性值指定 CPU 利用率的阈值上限和下限。如果利用率超出 util-high 的值,将向域中添加虚拟 CPU,直到利用率的值位于 vcpu-minvcpu-max 值之间。如果利用率降到 util-low 值以下,将从域中删除虚拟 CPU,直到利用率的值位于 vcpu-minvcpu-max 值之间。如果达到 vcpu-min 值,将无法再动态删除任何虚拟 CPU。如果达到 vcpu-max 值,将无法再动态添加任何虚拟 CPU。

示例 13-10  添加资源管理策略

例如,观察系统的典型利用率数周后,您可以设置策略,以优化资源使用情况。资源占用高峰期是每天上午 9:00 至下午 6:00(太平洋时间),资源占用低谷期是每天下午 6:00 至次日上午 9:00(太平洋时间)。

    根据对系统利用率的观察,您决定基于系统总体利用率创建以下高峰期和低谷期策略:

  • 高峰期:每天上午 9:00 至下午 6:00(太平洋时间)

  • 低谷期:每天下午 6:00 至次日上午 9:00(太平洋时间)

以下 ldm add-policy 命令可在 ldom1 域上创建利用率高峰期内要使用的 high-usage 策略。

    以下 high-usage 策略执行以下操作:

  • 通过设置 tod-begintod-end 属性,将开始和结束时间分别指定为上午 9:00 和下午 6:00。

  • 通过设置 util-lowerutil-upper 属性,将执行策略分析的下限和上限分别指定为 25% 和 75%。

  • 通过设置 vcpu-minvcpu-max 属性,将最小和最大虚拟 CPU 数分别指定为 2 和 16。

  • 通过设置 attack 属性,将任一资源控制周期内要添加的最大虚拟 CPU 数指定为 1。

  • 通过设置 decay 属性,将任一资源控制周期内要删除的最大虚拟 CPU 数指定为 1。

  • 通过设置 priority 属性,将此策略的优先级指定为 1。优先级为 1 表示即使其他策略可以生效,也强制执行此策略。

  • 通过设置 name 属性,将策略文件的名称指定为 high-usage

  • 对于未指定的属性(例如 enablesample-rate),使用其默认值。请参见 ldm(1M) 手册页。

primary# ldm add-policy tod-begin=09:00 tod-end=18:00 util-lower=25 util-upper=75 \
vcpu-min=2 vcpu-max=16 attack=1 decay=1 priority=1 name=high-usage ldom1

以下 ldm add-policy 命令可在 ldom1 域上创建利用率低谷期内要使用的 med-usage 策略。

    以下 med-usage 策略执行以下操作:

  • 通过设置 tod-begintod-end 属性,将开始和结束时间分别指定为下午 6:00 和上午 9:00。

  • 通过设置 util-lowerutil-upper 属性,将执行策略分析的下限和上限分别指定为 10% 和 50%。

  • 通过设置 vcpu-minvcpu-max 属性,将最小和最大虚拟 CPU 数分别指定为 2 和 16。

  • 通过设置 attack 属性,将任一资源控制周期内要添加的最大虚拟 CPU 数指定为 1。

  • 通过设置 decay 属性,将任一资源控制周期内要删除的最大虚拟 CPU 数指定为 1。

  • 通过设置 priority 属性,将此策略的优先级指定为 1。优先级为 1 表示即使其他策略可以生效,也强制执行此策略。

  • 通过设置 name 属性,将策略文件的名称指定为 high-usage

  • 对于未指定的属性(例如 enablesample-rate),使用其默认值。请参见 ldm(1M) 手册页。

primary# ldm add-policy tod-begin=18:00 tod-end=09:00 util-lower=10 util-upper=50 \
 vcpu-min=2 vcpu-max=16 attack=1 decay=1 priority=1 name=med-usage ldom1