Citrix Virtual Apps and Desktops 服务

AutoScale

Autoscale 是 Citrix Virtual Apps and Desktops 服务独有的功能,可提供一致的高性能解决方案,以主动管理您的计算机的电源。它旨在平衡成本和用户体验。Autoscale 将弃用的 Smart Scale 技术集成到管理控制台的电源管理解决方案中。

Autoscale 可对交付组中的所有已注册的单会话和多会话操作系统计算机进行主动电源管理。

支持的 VDA 托管平台

Autoscale 支持 Virtual Apps and Desktops 服务支持的所有平台。这包括各种基础结构平台,包括 Citrix Hypervisor、Amazon Web Services、Google 云端平台、Microsoft Azure Resource Manager、VMware vSphere 等。有关支持的平台的完整列表,请参阅 Citrix Virtual Apps and Desktops 服务的系统要求

支持的工作负载

Autoscale 支持多会话操作系统和单会话操作系统交付组。有三个用户界面需要注意:

  • 多会话操作系统交付组(以前称为 RDS 交付组)的 Autoscale 用户界面

  • 单会话操作系统随机(池)交付组(以前称为池 VDI 交付组)的 Autoscale 用户界面

  • 单会话操作系统静态交付组(以前称为静态 VDI 交付组)的 Autoscale 用户界面

有关不同交付组的用户界面的详细信息,请参阅 Autoscale 用户界面

优势

AutoScale 功能具有以下优势:

  • 为您提供单一、一致的机制来管理交付组中的计算机电源。

  • 通过基于负载或基于计划的电源管理或两者的组合为计算机管理电源,确保可用性并控制成本。

  • 要监视成本节约和容量利用率等指标,以及启用通知,请使用监视选项卡上提供的 Director

观看时长为 2 分钟的视频

下面的视频提供了 AutoScale 的快速教程。

AutosScale 功能

AutosScale 功能包括:

Autoscale 用户界面

有三种类型的 AutoScale 用户界面需要注意。

单会话操作系统静态交付组的 Autoscale 用户界面:

Autoscale 单会话操作系统静态 - 常规

单会话操作系统随机交付组的 Autoscale 用户界面:

Autoscale 单会话操作系统随机 - 常规

多会话操作系统交付组的 Autoscale 用户界面:

Autoscale 多会话操作系统 - 常规

为交付组启用或禁用 AutoScale

注意:

旧版控制台中,创建交付组时默认启用 Autoscale。 在基于 Web 的控制台中,创建交付组时将默认禁用 Autoscale。

  1. 管理 > 完整配置中,选择左窗格中的交付组

  2. 选择要管理的交付组,然后单击管理 Autoscale

    云 UI

  3. 管理 Autoscale 页面上,选中启用 Autoscale 复选框以启用 Autoscale。启用 AutoScale 后,页面上的选项将启用。

    云 UI

  4. 要禁用 AutoScale,请取消选中 AutoScale 复选框。页面上的选项变为灰色,以指示已为选定的交付组禁用 AutoScale。

重要:

  • 如果禁用 AutoScale,则 AutoScale 管理的所有计算机将保持禁用时的状态。
  • 禁用 AutoScale 后,处于耗尽状态的计算机将从耗尽状态中恢复。有关耗尽状态的详细信息,请参阅耗尽状态

监视指标

可以从监视选项卡监视 AutoScale 托管的计算机的以下指标。

  • 计算机使用情况

  • 预计节省量

  • 计算机和会话的警报通知

  • 计算机状态

  • 负载评估趋势

有关指标的详细信息,请参阅监视 Autoscale 托管的计算机

Broker PowerShell SDK 命令

可以使用 Broker PowerShell SDK 为交付组配置 AutoScale。要使用 PowerShell 命令配置 AutoScale,必须使用远程 PowerShell SDK 版本 7.21.0.12 或更高版本。有关远程 PowerShell SDK 的详细信息,请参阅 SDK 和 API

Set-BrokerDesktopGroup

禁用或启用现有 BrokerDesktopGroup 或更改其设置。有关此 cmdlet 的详细信息,请参阅https://citrix.github.io/delivery-controller-sdk/Broker/Set-BrokerDesktopGroup/

New-BrokerPowerTimeScheme

为交付组创建 BrokerPowerTimeScheme。有关此 cmdlet 的详细信息,请参阅https://citrix.github.io/delivery-controller-sdk/Broker/New-BrokerPowerTimeScheme/

示例

有关如何使用 PowerShell cmdlet 的详细信息,请参阅以下示例:

启用 AutoScale

  • 假设您希望为名为“MyDesktop”的交付组启用 AutoScale。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -AutoscalingEnabled $true

分别设置高峰和非高峰时段的容量缓冲区

  • 假设您希望将容量缓冲区设置为 20%(面向高峰时段),对于名为“MyDesktop”的交付组,将容量缓冲区设置为 10%(面向非高峰时段)。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakBufferSizePercent 20 -OffPeakBufferSizePercent 10

配置断开连接的超时时间

  • 假设您希望将断开连接的超时时间设置为 60分钟(面向高峰时段),对于名为“MyDesktop”的交付组,将断开连接的超时时间设置为 30分钟(面向非高峰时段)。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakDisconnectTimeout 60 -OffPeakDisconnectTimeout 30

配置注销的超时时间

  • 假设您希望将注销的超时时间设置为 60分钟(面向高峰时段),对于名为“MyDesktop”的交付组,将注销的超时时间设置为 30分钟(面向非高峰时段)。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakLogOffTimeout 60 -OffPeakLogOffTimeout 30

配置关机延迟

  • 假设您希望将名为“MyDesktop”的交付组的关机延迟设置为 15 分钟。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PowerOffDelay 15

配置关机延迟不生效的时间段

  • 假设您希望将名为“MyDesktop”的交付组的关机延迟设置为在 30 分钟后生效。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -SettlementPeriodBeforeAutoShutdown 30

配置计算机实例成本

  • 假设您希望将名为“MyDesktop”的交付组的计算机实例每小时成本设置为 0.2 美元。使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -MachineCost 0.2

创建电源时间方案

  • 假设您要为 UID 值为 3 的交付组创建电源时间方案。新方案涵盖周末、星期一和星期二。上午 8:00 至下午 6:30 这一时间段被定义为方案中包含的日期的高峰时段。对于高峰时段,池大小(保持打开电源的计算机数量)为 20。对于非高峰时段,其大小为 5。可以使用 Set-BrokerDesktopGroup PowerShell 命令。例如:
    • PS C:\> $ps48=(0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { 5 } else { 20 } } )
    • PS C:\> $pt48=(0..47 | %{ if ($_ -lt 16 -or $_ -gt 37) { $false } else { $true } } )
    • PS C:\> New-BrokerPowerTimeScheme -Name 'First Half Week' -DaysOfWeek Weekend,Monday,Tuesday -DesktopGroupUid 3 -PeakHalfHours $pt48 -PoolSize $ps48

耗尽状态

AutoScale 始终尝试将交付组中已打开电源的计算机数量缩小到配置的池大小和容量缓冲区。它通过将会话最少的多余计算机置于“耗尽状态”,并在所有会话注销时将其关闭来实现。当会话需求减少并且计划所需的计算机少于打开电源的计算机时会出现这种情况。

AutoScale 将多余的计算机逐个置于“耗尽状态”。如果两台或多台计算机具有相同数量的活动会话,AutoScale 会耗尽为指定的关机延迟打开电源的计算机。这样做可以避免将最近打开电源的计算机置于耗尽状态,因为这些计算机的会话更可能最少。如果两台或多台计算机已为实现指定的关机延迟打开电源,AutoScale 将随机逐一耗尽这些计算机。

处于耗尽状态的计算机不再托管新的会话启动,并且正在等待现有会话注销。仅当所有会话都注销时,计算机才会成为关闭候选项。但是,如果没有立即可用于会话启动的计算机,AutoScale 将更倾向于将会话启动定向到处于耗尽状态的计算机,而非打开计算机电源。

满足以下条件之一时,计算机将脱离耗尽状态:

  • 计算机已关闭电源。
  • 已为计算机所属的交付组禁用 AutoScale。
  • AutoScale 利用计算机来满足计划或负载需求的要求。当计划(基于计划的扩展)或当前需求(基于负载的扩展)所需的计算机超过当前打开电源的计算机数量时会出现这种情况。

重要:

如果没有立即可用于会话启动的计算机,AutoScale 将更倾向于将会话启动定向到处于耗尽状态的计算机,而非打开计算机电源。托管会话启动的处于耗尽状态的计算机仍处于耗尽状态。

要找出哪些计算机处于耗尽状态,请使用 Get-BrokerMachine PowerShell 命令。例如:Get-BrokerMachine -DrainingUntilShutdown $true。或者,您可以使用“管理”控制台。请参阅显示处于耗尽状态的计算机

显示处于耗尽状态的计算机

注意:

此功能仅在基于 Web 的控制台中可用,仅适用于多会话计算机。

管理 > 完整配置中,您可以显示处于耗尽状态的计算机,让您知晓哪些计算机即将关闭。完成以下步骤:

  1. 导航到搜索节点,然后单击要显示的列
  2. 要显示的列窗口中,选中耗尽状态
  3. 单击“保存”退出要显示的列窗口。

耗尽状态列可以显示以下信息:

  • 在关机前耗尽。在计算机关闭之前处于耗尽状态时出现。
  • 不耗尽。计算机尚未处于耗尽状态时出现。

耗尽状态

负载指数

重要:

负载索引仅适用于多会话交付组。

负载指数值介于 0 到 10000 之间,该值是使用针对并发登录、会话、CPU、磁盘和内存使用配置的 Citrix Load Management 策略设置计算的。数字“0”表示卸载了负载的计算机。负载指数值为 0 的计算机处于基准负载状态。数字“10000”表示已满载的计算机无法再运行任何会话。负载指数衡量指标确定计算机接收连接的可能性。默认情况下,计算机在托管 250 个会话时被视为处于满载状态。

须知

AutoScale 在交付组级别运行。它是根据每个交付组进行配置的。它仅管理选定交付组中的计算机。

容量和计算机注册

为确保 Autoscale 具有可接受会话请求的计算机的准确视图,AutoScale 仅包括在确定给定交付组容量时向站点注册的计算机。未注册的已打开电源的计算机无法接受会话请求。因此,这些计算机不包括在交付组的总容量中。

跨多个计算机目录扩展

在某些站点中,多个计算机目录可能与单个交付组相关联。AutoScale 从每个目录随机打开计算机的电源,以满足计划或会话需求的要求。

例如,某个交付组有两个计算机目录:目录 A 有三台打开电源的计算机,目录 B 有一台打开电源的计算机。如果 AutoScale 需要打开额外的计算机的电源,则可能会从目录 A 或目录 B 中打开计算机的电源。

计算机预配和会话需求

与交付组关联的计算机目录必须有足够的计算机,以便随需求的增加和减少而打开和关闭电源。如果会话需求超过交付组中已注册的计算机总数,Autoscale 将确保所有已注册的计算机都已打开电源。AutoScale 不预配其他计算机。要克服此瓶颈,可以使用 PowerShell 脚本动态创建计算机并将其删除。

监视数据的可用性

为交付组启用了 AutoScale 时,监视数据可用。如果为交付组启用 Autoscale 后将其禁用,监视数据将保持可用状态。AutoScale 每隔 5 分钟收集一次监视数据。

注意:

最初为交付组启用 AutoScale 时,可能需要几分钟才能显示该交付组的监视数据。

实例大小注意事项

如果您在公有云中正确调整了实例的大小,则可以优化您的成本。较小的实例托管的用户会话数少于较大的实例。因此,如果实例较小,AutoScale 将计算机置于耗尽状态的速度要快得多,因为注销最后一个用户会话所需的时间更短。因此,AutoScale 更快地关闭较小实例的电源,从而降低成本。我们建议您预配较小的实例,前提是其符合您的工作负载性能和容量要求。

更多信息

有关 Autoscale 的详细信息,请参阅 Tech Zone 中的 Citrix Autoscale