Citrix Virtual Apps and Desktops

Autoscale™ 插件

  • Autoscale 插件是一种插件模型,您可以通过它直接对 VM 的电源管理采取操作。您可以偏离与 VM 电源管理相关的标准 Autoscale 设置,而是为不同的场景设置不同的配置。目前,您可以使用的插件包括:

  • Autoscale 假期插件
  • 智能 Autoscale 计划插件

Autoscale 假期插件

您可以使用 Autoscale 假期插件来处理假期的不同设置。例如,在工作日,您希望大多数 VM 处于开机状态。但是,默认情况下(没有插件),工作日计划在公共假期仍然适用。为了处理这种情况,该插件允许在指定的假期日期关闭 VM。

使用 Studio 创建自定义假期计划

使用 Studio 创建自定义计划,以便在特定日期(例如假期)关闭交付组中未使用的 VM,从而减少不必要的资源消耗。

注意:

  • 自定义计划在创建后一天生效。
    • 对于已标记的计算机,此功能仅适用于交付组中已标记的计算机。

要创建自定义计划:

  1. 在 Studio 中,转到 交付组。右键单击交付组,然后选择 管理 Autoscale
      1. 常规 页面上,选择 启用 Autoscale
      1. 计划 页面上,单击 创建计划
      1. 输入计划的名称。
      1. 选择一个或多个日期,您希望在这些日期关闭交付组中的 VM。

    如果您想将此计划另存为模板以供其他交付组使用,请单击 另存为模板

  2. 单击 完成 以创建自定义计划。

    您现在应该在 计划 页面上的 自定义 下看到已创建的自定义计划。

要编辑自定义计划:

  1. 单击要编辑的计划的 操作 下的铅笔图标。您可以进行以下编辑:

    • 禁用自定义计划:关闭 启用 切换按钮。
    • 更改或应用模板。
    • 更改计划的名称。
    • 更改计划的日期。
  2. 单击 完成 以应用更改。

您还可以删除自定义计划。

注意:

删除交付组也会删除其自定义计划。已保存的模板不会被删除。

使用 PowerShell 配置假期日期

将 Autoscale 假期插件与交付组关联,并配置假期日期,以便插件可以在配置的日期关闭 VM。为此,请运行以下命令:

  1. 运行 Get-BrokerAutoscalePlugin 以获取假期插件的 UID。

    (Get-BrokerAutoscalePlugin -Name Citrix.AutoscalePlugin.HolidaySchedule).Uid
    <!--NeedCopy-->
    
  • 记下 HolidaySchedule 插件的 UID 值。假设 HolidaySchedule 插件的 UID 为 1。

    1. 获取要与插件关联的交付组的 UID。例如:
     $dgUid = (Get-BrokerDesktopGroup 'My Group Name').Uid
     <!--NeedCopy-->
    
  1. HolidaySchedule 插件与交付组 (-AutoscalePluginUid “<HolidaySchedule plugin UID>”) 关联,并指定所需的假期日期。例如:

    ```

  • New-BrokerAutoscaleGroupPlugin -Name “Company Holidays” -DesktopGroupUid $dgUid -AutoscalePluginUid 1 -Configuration ‘{“Holidays”:[“2024-11-28”,”2024-11-29”,”2024-12-25”]}’

    ```

    记下创建的 AutoscaleGroupPlugin 的 UID(插件与交付组之间的关联)。

  • 注意:

  • 给定交付组的关联名称必须是唯一的。例如,一个交付组只能有一个名为“公司假期”的关联,但一个或多个其他交付组也可能有名为“公司假期”的关联。

更改假期日期

您可以使用 Set-BrokerAutoscaleGroupPlugin PowerShell 命令并指定 AutoscaleGroupPlugin 的 UID 来更改指定的假期日期。例如,假设 AutoscaleGroupPlugin 的 UID 为 2。

-  Set-BrokerAutoscaleGroupPlugin 2 -Configuration '{"Holidays":["2024-11-28","2024-11-29"]}'
<!--NeedCopy-->

重要注意事项

使用 Autoscale 假期插件时,请考虑以下事项:

  • 当 Autoscale 假期插件处于活动状态时,所有 VDA 都将关闭,系统不会以降低的容量运行。任何新的启动请求都会被处理,但用户可能会因为 VDA 正在准备启动而遇到延迟。
  • 交付组必须指定时区。
  • 日期格式必须为“yyyy-mm-dd”。
  • 计划覆盖(覆盖标准 Autoscale 设置)会在前一天 22:00 提前一天生成。22:00 之后,无法添加、删除或更改第二天的任何计划覆盖。
  • 同一个 Autoscale 插件可以与多个交付组关联。为每个交付组运行 New-BrokerAutoscaleGroupPlugin,然后配置该组所需的假期。
  • 最新的 Set-BrokerAutoscalePlugin -Configuration 命令会用指定的新假期覆盖所有现有假期。

智能 Autoscale 计划插件

智能 Autoscale 是一种数据驱动的 Autoscale 功能,具有最少的管理设置,可让您配置交付组的性能目标。性能目标值范围为 1 到 99,该值指定了用户体验和成本之间的目标平衡:

  • 低值优先考虑成本节约。
    • 高值优先考虑用户体验。

性能目标与历史使用数据相结合,计算出一天中每个 30 分钟块的最佳缓冲区容量(要开机的 VM 数量)。因此,每天开始时会计算 48 个最佳缓冲区容量。

最佳缓冲区容量取代了高峰/非高峰缓冲区容量和池大小来管理可用计算机。

-  用于计算最佳缓冲区容量的历史使用数据包括:
  • 客户每分钟的登录速率(用户数)
    • 平均 VM 开机时间(分钟)
  • 平均 VM 密度(每 VM 用户数)。

先决条件

启用智能 Autoscale 的要求如下:

  • 交付组必须是共享交付组。
  • 交付组必须启用 Autoscale。
  • 在为桌面组配置智能 Autoscale 之前,交付组必须至少有 90 天的历史数据。您可以使用以下命令将 ConnectionLogLifetimeHours 从 48 小时增加到 90 天:

     Set-BrokerServiceConfigurationData Logging.ConnectionLogLifetimeHours -SettingValue 2160.
     <!--NeedCopy-->
    

重要注意事项

  • 交付组必须指定时区。
  • 计划覆盖会在前一天 22:00 提前一天生成。22:00 之后,无法添加、删除或更改第二天的任何计划覆盖。
  • 同一个 Autoscale 插件可以与多个交付组关联。为每个交付组运行 New-BrokerAutoscaleGroupPlugin,然后配置该组所需的性能目标。
  • 最新的 Set-BrokerAutoscalePlugin -Configuration 命令会用指定的新假期覆盖所有现有假期。

配置性能目标

IntelligentAutoscaleSchedules 插件与交付组关联并配置性能目标,以便性能目标与历史使用数据相结合,可以计算出一天中每个 30 分钟块的最佳缓冲区容量。为此,请运行以下命令:

  1. 运行 Get-BrokerAutoscalePlugin 以获取智能 Autoscale 插件的 UID。记下 IntelligentAutoscaleSchedules 插件的 UID 值。

    (Get-BrokerAutoscalePlugin -Name Citrix.AutoscalePlugin.IntelligentAutoscaleSchedules).Uid
    <!--NeedCopy-->
    

    假设 IntelligentAutoscaleSchedules 插件的 UID 为 2。

  2. 获取要与插件关联的交付组的 UID。例如:

    $dgUid = (Get-BrokerDesktopGroup 'My Group Name').Uid
    <!--NeedCopy-->
    
  3. IntelligentAutoscaleSchedules 插件与交付组 (-AutoscalePluginUid “<IntelligentAutoscaleSchedules value>”) 关联,并指定性能目标值。

    New-BrokerAutoscaleGroupPlugin -DesktopGroupUid $dgUid -AutoscalePluginUid 2 -Configuration '{"PerformanceTarget":70}'
    <!--NeedCopy-->
    
  4. 记下所创建的 AutoscaleGroupPlugin 的 UID(即插件与交付组之间的关联)。

更新性能目标值

您可以使用 Set-BrokerAutoscaleGroupPlugin PowerShell 命令并指定 AutoscaleGroupPlugin 的 UID 来更新指定的性能目标值。例如,假设 AutoscaleGroupPlugin 的 UID 为 2。

Set-BrokerAutoscaleGroupPlugin 2 -Configuration '{"PerformanceTarget":70}'
<!--NeedCopy-->

配置 Autoscale 组插件自动批准

要允许计划覆盖(覆盖标准 Autoscale 设置),请在 BrokerAutoscaleGroupPlugin 中配置以下两个属性:

  • AutoApprove

    • 如果为 True:表示插件生成的任何计划覆盖将自动接受。
    • 如果为 False:仅当目标日期在 ApprovedUntil 属性中指定的日期或之前时,才接受该计划。

    如果 AutoApproveFalse 并且 ApprovedUntil 日期未设置或已过时,则生成的任何计划覆盖都将被丢弃而不会被使用。

  • ApprovedUntil

    • 如果 AutoApproveFalse,并且您指定了 ApprovedUntil 日期,则插件生成的计划覆盖将自动接受为目标日期的计划。

例如,假设 AutoscaleGroupPlugin 的 UID 为 2。

  • 要为该桌面组启用自动批准:

     Set-BrokerAutoscaleGroupPlugin 2 -AutoApprove $true
     <!--NeedCopy-->
    
  • 要启用自动批准直到将来的某个日期:

     Set-BrokerAutoscaleGroupPlugin 2 -ApprovedUntil "2025-01-01"
     <!--NeedCopy-->
    
Autoscale™ 插件