Citrix Virtual Apps and Desktops 服务

AutoScale

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

关于 Autoscale

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

支持的 VDA 托管平台

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

支持的工作负载

AutoScale 适用于远程桌面服务 (RDS) 和虚拟桌面基础结构 (VDI)。有三个用户界面需要注意:

  • RDS 交付组的 AutoScale 用户界面

  • 池 VDI 交付组的 AutoScale 用户界面

  • 静态 VDI 交付组的 AutoScale 用户界面

有关不同交付组的用户界面的详细信息,请参阅三种类型的 AutoScale 用户界面

优势

AutoScale 功能具有以下优势:

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

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

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

观看时长为 2 分钟的视频

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

视频图标

迁移

支持从 Smart Scale 迁移到 AutoScale。迁移包括从 Smart Scale 导出配置数据,然后将其导入到 AutoScale。有关详细信息,请参阅Smart Scale 到 AutoScale 迁移

三种类型的 AutoScale 用户界面

有三种类型的 AutoScale 用户界面需要注意。有关详细信息,请参阅下文。

RDS 交付组的 AutoScale 用户界面:

AutoScale RDS UI

池 VDI 交付组的 AutoScale 用户界面

AutoScale 池 VDI UI

静态 VDI 交付组的 AutoScale 用户界面

AutoScale 静态 VDI UI

为交付组启用或禁用 AutoScale

注意:

默认情况下,创建交付组时启用 AutoScale。

  1. 管理选项卡上,在 Studio 导航窗格中选择交付组

  2. 操作窗格中,选择要管理的交付组,然后单击编辑交付组

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

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

重要:

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

AutoScale 如何管理计算机电源

AutoScale 根据所选计划打开和关闭计算机的电源。通过 AutoScale,您可以设置多个计划,其中包括一周中的特定天数,并调整在这些时间内可用的计算机数量。如果您期望一组用户在特定日期的特定时间使用计算机资源,AutoScale 可以帮助提供优化的体验。请注意,这些计算机将在计划期间打开电源,而无论其上是否存在正在运行的会话。

计划基于交付组的时区。要更改时区,您可以更改交付组中的用户设置。有关详细信息,请参阅管理交付组

AutoScale 有两个默认计划:工作日(星期一至星期五)和周末(星期六和星期日)。默认情况下,工作日计划在高峰时段上午 7:00 至下午 6:30 保持一台计算机处于开机状态,在非高峰时段保持无开机状态;在高峰时段和非高峰时段,默认容量缓冲区设置为 10%。默认情况下,周末计划不会保持打开任何计算机的电源。

注意:

AutoScale 仅将在站点中注册的计算机视为其进行计算时可用容量的一部分。“已注册”是指计算机可供使用或已在使用中。这样做可确保只有可以接受用户会话的计算机包含在交付组的容量中。

基于计划的设置

Autoscale 计划。允许您添加、编辑、选择和删除计划。

应用的日期。突出显示您应用于所选计划的日期。剩余的日期将显示为灰色。

编辑。允许您每小时或每半小时分配一次计算机。可以按数量和百分比分配计算机。

注意:

  • 此选项仅在 RDS 和池 VDI 交付组的 AutoScale 用户界面中可用。
  • 编辑旁边的直方图绘制在不同时间段运行的计算机的数量或百分比。
  • 可以通过单击高峰时段上方的编辑为每个时间段分配计算机。您可以按数量或百分比分配计算机,具体取决于从要启动的计算机窗口中的下拉列表中选择的选项。
  • 对于 RDS 交付组,您可以单独设置一天中每半小时正在运行的计算机的最小数量。对于池 VDI 交付组,您可以单独设置一天中每小时正在运行的计算机的最小数量。

要定义您自己的计划,请按照以下步骤进行操作。

  1. 从下拉列表中选择编辑计划,然后单击添加计划

  2. 在“编辑 Autoscale 计划”窗口中,选择要应用到每个计划的日期。也可以在适用的情况下删除计划。

  3. 单击应用以保存计划并返回到 AutoScale 页面。

  4. 从下拉列表中选择适用的计划,并为该计划设置适用的选项。

重要:

  • AutoScale 不允许同一天在不同的时间表中重叠。例如,如果您在 schedule1 中选择星期一后在 schedule2 中选择星期一,则将在 schedule1 中自动清除星期一。
  • 计划名称不区分大小写。
  • 计划名称不得为空或仅包含空格。
  • AutoScale 允许字符之间存在空格。
  • 计划名称不得包含以下字符:\ / ; : # . * ? = < > | [ ] ( ) { } “ ‘ `。
  • AutoScale 不支持重复的计划名称。请为每个计划输入不同的名称。
  • AutoScale 不支持空计划。这意味着不保存没有选择日期的计划。

注意:

在“AutoScale”页面上,所选计划中包含的日期将突出显示,而未包含的日期则显示为灰色。

基于负载的设置

高峰时段。允许您定义在所选计划中应用的日期的高峰时段。可以通过右键单击水平条形图来执行此操作。定义高峰时段后,剩余的未定义时间默认为非高峰时段。默认情况下,上午 7:00 至下午 7:00 时间段被定义为选定计划中包含的日期的高峰时段。

重要:

  • 对于 RDS 交付组,高峰时段条形图用于容量缓冲区。
  • 对于 VDI 交付组,高峰时段条形图用于容量缓冲区,并控制在注销和/或断开连接后触发的操作。
  • 对于 RDS 和 VDI 交付组,可以使用 New-BrokerPowerTimeScheme PowerShell 命令以 30 分钟的粒度级别定义计划中包含的天数的高峰时间。有关详细信息,请参阅Broker PowerShell SDK 命令

容量缓冲区。允许您保留已打开电源的计算机的缓冲区。较小的值会降低成本。更大的值可确保优化用户体验,以便在启动会话时,用户无需等待其他计算机打开电源。默认情况下,高峰和非高峰时段的容量缓冲区为 10%。如果将容量缓冲区设置为 0(零),则在启动会话时,用户可能必须等待其他计算机打开电源。通过 AutoScale,您可以分别确定高峰和非高峰时段的容量缓冲区。

其他设置

提示:

断开连接时。允许您指定断开连接的锁定计算机在会话断开连接后、挂起或关闭之前保持打开电源的时间。如果指定了时间值,则在指定的断开连接时间过去时,计算机将挂起或关闭,具体取决于您配置的操作。默认情况下,不会向断开连接的计算机分配任何操作。您可以为高峰和非高峰时段分别定义选项。为此,请单击向下箭头,然后从菜单中选择以下选项之一:

  • 无操作。如果选择此选项,会话断开连接后计算机将保持打开电源,并且 AutoScale 不会对其执行任何操作。
  • 挂起。如果选择此选项,AutoScale 会在指定的断开连接时间过去时暂停计算机而非将其关闭。
  • 关闭。如果选择此选项,则在指定的断开连接时间过后,AutoScale 将关闭计算机。

注意:

此选项仅在池和静态 VDI 交付组的 AutoScale 用户界面中可用。

注销时。允许您指定计算机在会话注销后、挂起或关闭之前保持打开电源的时间。如果指定了时间值,则在指定的注销时间过去时,计算机将挂起或关闭,具体取决于您配置的操作。默认情况下,不会向注销的计算机分配任何操作。您可以为高峰和非高峰时段分别定义选项。为此,请单击向下箭头,然后从菜单中选择以下选项之一:

  • 无操作。如果选择此选项,会话注销后计算机将保持打开电源,并且 AutoScale 不会对其执行任何操作。
  • 挂起。如果选择此选项,AutoScale 会在指定的注销时间过去时暂停计算机而非将其关闭。
  • 关闭。如果选择此选项,则在指定的注销时间过后,AutoScale 将关闭计算机。

注意:

此选项仅在静态 VDI 交付组的 AutoScale 用户界面中可用。

关机延迟。允许您指定在打开计算机电源之后、AutoScale 关闭其电源之前必须经过的最小分钟数。这样做可以防止计算机在不稳定的会话需求期间反复打开和关闭。默认情况下,关机延迟为 30 分钟。您可以在 0-60 分钟的范围内对其进行设置。

注意:

  • 对于 RDS 交付组,此选项仅在 AutoScale 用户界面中可用。
  • 对于静态 VDI 交付组,关机延迟同时适用于已分配和未分配的计算机。要为静态 VDI 交付组配置关机延迟,请使用 PowerShell SDK。例如:C:\PS> Set-BrokerDesktopGroup "MyDesktop" -PowerOffDelay 15

每小时的计算机实例成本。允许您指定与您的成本基础匹配的计算机实例的每小时成本。计算机实例的每小时成本是指所使用计算容量的每小时成本,单位为美元。此设置用于计算上述 AutoScale 设置节省的成本。要查看节省的成本,请转到监视 > 趋势 > 计算机使用情况。有关详细信息,请参阅监视 Autoscale 托管的计算机

注意:

AutoScale 不支持根据您的成本更改货币单位。

对断开连接的会话转换到不同时间段的 VDI 计算机进行电源管理

重要:

  • 此增强功能仅适用于具有断开连接的会话的 VDI 计算机。它不适用于具有注销会话的 VDI 计算机。
  • 要使此增强功能生效,您需要为适用的交付组启用 AutoScale 功能。否则,断开连接电源策略操作不会在周期转换时触发。

在早期版本中, 转换到需要执行某项操作(断开连接操作为暂停关闭)的时间段的 VDI 计算机仍保持打开状态。如果计算机在不需要执行任何操作(断开连接操作 = )的时间段(高峰时间或非高峰时段)断开连接,则会出现此情况。

自本版本起,在指定的断开连接时间过后,AutoScale 将暂停或关闭计算机电源,具体取决于为目标时间段配置的断开连接操作。

例如,可以为 VDI 交付组配置以下电源策略:

  • PeakDisconnectAction 设置为“无”
  • OffPeakDisconnectAction 设置为“关闭”
  • 将“OffPeakDisconnectTimeout”设置为“10”

注意:

有关断开连接操作电源策略的详细信息,请参阅https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/about_Broker_PowerManagement/#power-policyhttps://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/Get-BrokerDesktopGroup/

在早期版本中,在高峰时段会话断开连接的 VDI 计算机在从高峰时段过渡到非高峰时段保持打开电源状态。自本版本起,OffPeakDisconnectActionOffPeakDisconnectTimeout 策略操作将在周期转换时应用到 VDI 计算机。因此,计算机在转换为非高峰 10 分钟后关闭电源。

如果要恢复到之前的行为(即,对于从高峰转换到非高峰或从非高峰转换到高峰并且会话断开连接的计算机不采取任何操作),请执行以下操作之一:

  • 将“LegacyPeakTransitionDisconnectedBehaviour”注册表值设置为 1(true;启用之前的行为)。默认情况下,值为 0(false;在周期转换时触发断开电源策略操作)。
    • 路径:HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\DesktopServer
    • 名称:LegacyPeakTransitionDisconnectedBehaviour
    • 类型:REG_DWORD
    • 数据:0x00000001 (1)
  • 使用 Set-BrokerServiceConfigurationData PowerShell 命令配置设置。例如:
    • PS C:\> Set-BrokerServiceConfigurationData HostingManagement.LegacyPeakTransitionDisconnectedBehaviour -SettingValue $true

计算机必须满足以下条件,才能在周期转换时对其应用电源策略操作:

  • 具有断开连接的会话。
  • 没有待处理的电源操作。
  • 属于转换到不同时间段的 VDI(单会话)交付组。
  • 具有在特定时间段(高峰或非高峰时段)断开连接的会话,并转换到分配了电源操作的时间段。

容量缓冲区的工作原理

容量缓冲区用于为当前需求添加备用容量,以对动态负载增加负责。您需要注意以下两种情况:

  • 对于 RDS 交付组,容量缓冲区根据负载指数定义为交付组总容量的百分比。有关负载指数的详细信息,请参阅负载指数

  • 对于 VDI 交付组,容量缓冲区根据计算机数量定义为交付组的总容量的百分比。

通过 AutoScale,您可以分别设置高峰和非高峰时段的容量缓冲区。容量缓冲区字段中的值越小,成本则越低,因为 AutoScale 打开的备用容量越少。更大的值可确保优化用户体验,以便在启动会话时,用户无需等待其他计算机打开电源。默认情况下,容量缓冲区为 10%。

重要:

当总备用容量降至低于交付组总容量的“X”百分比的水平时,容量缓冲区会导致计算机打开电源。这样做可以保留所需的备用容量百分比。

RDS 交付组

计算机何时打开电源?

重要:

如果选择了计划,AutoScale 将打开在计划中配置为打开电源的所有计算机的电源。无论负载如何,AutoScale 都会在计划期间保持此指定数量的计算机打开电源。

如果交付组中打开电源的计算机数量不能再满足根据负载指数计算的缓冲区容量所需的缓冲区,AutoScale 将打开额外的计算机的电源。例如,假设您的交付组有 20 台计算机,作为基于计划的扩展的一部分,其中 3 台计算机计划打开电源,并且容量缓冲区为 20%;最终将在没有负载时打开 4 台计算机的电源。这是因为需要 4 x 10k 负载指数作为缓冲区;因此至少需要打开 4 台计算机的电源。这种情况可能发生在高峰时段、计算机上的负载增加、新会话启动以及向交付组中添加新计算机时。请注意,AutoScale 仅打开满足以下条件的计算机的电源:

  • 计算机不处于维护模式。

  • 运行计算机的虚拟机管理程序不处于维护模式。

  • 计算机当前已关闭电源。

  • 计算机没有待处理的电源操作。

计算机何时关闭电源?

重要:

  • 如果选择了计划,AutoScale 将根据计划关闭计算机的电源。
  • AutoScale 不会关闭计划中配置为在计划期间打开电源的计算机的电源。

如果有足够多的计算机支持交付组的已打开电源的计算机(包括缓冲区)的目标数量,AutoScale 将关闭额外的计算机的电源。这种情况可能发生在非高峰时段、计算机上的负载降低、会话注销以及从交付组中删除计算机时。AutoScale 仅关闭满足以下条件的计算机的电源:

  • 计算机和运行计算机的虚拟机管理程序不处于维护模式。

  • 计算机当前已打开电源。

  • 计算机注册为可用或在启动后等待注册。

  • 计算机没有活动会话。

  • 计算机没有待处理的电源操作。

  • 计算机满足指定的关机延迟条件。这意味着计算机已打开电源至少“X”分钟,其中“X”是为交付组指定的关机延迟。

示例方案

假设您遇到以下情况:

  • 交付组配置。您希望 AutoScale 管理电源的交付组包含 10 台计算机(M1 到 M10)。

  • AutoScale 配置

    • 容量缓冲区设置为 10%。
    • 所选计划中不包括任何计算机。

该方案按以下顺序执行:

  1. 没有用户登录。

  2. 用户会话增加。

  3. 更多用户会话启动。

  4. 由于会话终止,用户会话负载会降低。

  5. 用户会话负载进一步降低,直到会话负载仅由本地资源进行处理。

有关 AutoScale 在上述场景中如何工作的详细信息,请参阅下文。

  • 无用户负载(初始状态)
    • 一台计算机(例如,M1)已打开电源。由于配置的容量缓冲区,计算机已打开电源。在这种情况下,10(计算机数量)x 10000(负载指数)x 10%(配置的容量缓冲区)等于 10000。因此,一台计算机已打开电源。
    • 已打开电源的计算机 (M1) 的负载指数值为基准负载(负载指数等于 0)。
  • 第一个用户登录
    • 会话将定向到托管在计算机 M1 上。
    • 已打开电源的计算机 M1 的负载指数增加,计算机 M1 不再处于基准负载。
    • 由于配置了容量缓冲区,AutoScale 开始打开额外的计算机 (M2) 的电源以满足需求。
    • 计算机 M2 的负载指数值为基准负载。
  • 用户增加负载
    • 这些会话在计算机 M1 和 M2 之间进行负载平衡。因此,已打开电源的计算机(M1 和 M2)的负载指数增加。
    • 总备用容量的负载指数仍处于 10000 以上的水平。
    • 计算机 M2 的负载指数值不再为基准负载。
  • 更多用户会话启动
    • 这些会话在计算机(M1 和 M2)之间进行负载平衡。因此,已打开电源的计算机(M1 和 M2)的负载指数进一步增加。
    • 当总备用容量降至负载指数低于 10000 的水平时,由于配置了容量缓冲区,AutoScale 将开始打开额外的计算机 (M3) 以满足需求。
    • 计算机 M3 的负载指数值为基准负载。
  • 更多用户会话启动
    • 这些会话在计算机(M1 到 M3)之间进行负载平衡。因此,已打开电源的计算机(M1 到 M3)的负载指数增加。
    • 总备用容量的负载指数处于 10000 以上的水平。
    • 计算机 M3 的负载指数值不再为基准负载。
  • 由于会话终止,用户会话负载会降低
    • 用户注销其会话或空闲会话超时后,计算机 M1 到 M3 上释放的容量将重新用于托管其他用户启动的会话。
    • 当总备用容量的负载指数增加到 10000 以上的水平时,AutoScale 将其中一台计算机(例如 M3)置于终止状态。因此,除非发生新的更改,否则其他用户启动的会话不再定向到该计算机;例如,最终用户负载再次增加或其他计算机的负载变得最少。
  • 用户会话负载继续降低
    • 在计算机 M3 上的所有会话终止并且指定的关机延迟超时后,AutoScale 将关闭计算机 M3 的电源。
    • 更多用户终止其会话后,已打开电源的计算机(M1 和 M2)上释放的容量将重新用于托管其他用户启动的会话。
    • 当总备用容量的负载指数增加到 10000 以上的水平时,AutoScale 将其中一台计算机(例如 M2)置于终止状态。因此,其他用户启动的会话将不再定向到该计算机。
  • 用户会话负载将继续降低,直至没有会话
    • 在计算机 M2 上的所有会话终止并且指定的关机延迟超时后,AutoScale 将关闭计算机 M2 的电源。
    • 已打开电源的计算机 (M1) 的负载指数值为基准负载。由于配置了容量缓冲区,AutoScale 不会将计算机 M1 置于终止状态。

注意:

对于 RDS 交付组,当用户注销会话时,对桌面所做的所有更改都将丢失。但是,如果已配置,用户特定的设置将随用户配置文件一起漫游。

池 VDI 交付组

容量缓冲区用于根据交付组中的计算机总数保持计算机的缓冲区打开电源来适应突然出现的需求峰值。默认情况下,容量缓冲区为交付组中计算机总数的 10%。

如果计算机数(包括容量缓冲区)超过当前已打开电源的计算机总数,则会打开其他计算机的电源以满足需求。如果计算机数(包括容量缓冲区)少于当前已打开电源的计算机总数,则多余的计算机将关闭或暂停,具体取决于您配置的操作。

示例方案

假设您遇到以下情况:

  • 交付组配置。您希望 AutoScale 管理电源的交付组包含 10 台计算机(M1 到 M10)。
  • AutoScale 配置
    • 容量缓冲区设置为 10%。
    • 所选计划中不包括任何计算机。

该方案按以下顺序执行:

  1. 没有用户登录。

  2. 用户会话增加。

  3. 更多用户会话启动。

  4. 由于会话终止,用户会话负载会降低。

  5. 用户会话负载进一步降低,直到会话负载仅由本地资源进行处理。

有关 AutoScale 在上述场景中如何工作的详细信息,请参阅下文。

  • 无用户负载(初始状态)
    • 一台计算机 (M1) 已打开电源。由于配置的容量缓冲区,计算机已打开电源。在这种情况下,10(计算机数量)x 10%(配置的容量缓冲区)等于 1。因此,一台计算机已打开电源。
  • 第一个用户登录
    • 用户首次登录以使用桌面时,将从已打开电源的计算机上托管的桌面池中为用户分配一个桌面。在这种情况下,将从计算机 M1 为用户分配桌面。
    • 由于配置了容量缓冲区,AutoScale 开始打开额外的计算机 (M2) 的电源以满足需求。
  • 第二个用户登录
    • 用户将从计算机 M2 分配一个桌面。
    • 由于配置了容量缓冲区,AutoScale 开始打开额外的计算机 (M3) 的电源以满足需求。
  • 第三个用户登录
    • 从计算机 M3 为用户分配桌面。
    • 由于配置了容量缓冲区,AutoScale 开始打开额外的计算机 (M4) 的电源以满足需求。
  • 用户注销
    • 用户注销或用户的桌面超时后,释放的容量(例如 M3)可用作缓冲区。因此,AutoScale 开始关闭计算机 M4 的电源,因为容量缓冲区配置为 10%。
  • 更多用户注销,直至没有用户
    • 在更多用户注销后,AutoScale 将关闭计算机的电源(例如,M2 或 M3)。
    • 即使没有用户剩余,AutoScale 也不会关闭剩余的最后一台计算机(例如 M1)的电源,因为该计算机保留为备用容量。

注意:

对于池 VDI 交付组,当用户注销会话时,对桌面所做的所有更改都将丢失。但是,如果已配置,用户特定的设置将随用户配置文件一起漫游。

静态 VDI 交付组

容量缓冲区用于根据交付组中未分配的计算机总数保持未分配的计算机的缓冲区打开电源来适应突然出现的需求峰值。默认情况下,容量缓冲区为交付组中未分配的计算机总数的 10%。

重要:

分配交付组中的所有计算机后,容量缓冲区不会在打开或关闭计算机电源方面发挥作用。

如果计算机数(包括容量缓冲区)超过当前已打开电源的计算机总数,则会打开其他未分配的计算机的电源以满足需求。如果计算机数(包括容量缓冲区)少于当前已打开电源的计算机总数,则多余的计算机将关闭电源或暂停,具体取决于您配置的操作。

对于静态 VDI 交付组,AutoScale:

  • 仅当适用的 VDI 交付组的 AutomaticPowerOnForAssigned 属性设置为 true 时,才能在高峰时段打开已分配的计算机的电源以及在非高峰时段关闭其电源。
  • 如果计算机已关闭电源并且计算机所属交付组的 AutomaticPowerOnForAssignedDuringPeak 属性设置为 true,则会在高峰时段自动打开计算机的电源。

要了解容量缓冲区如何与已分配的计算机结合使用,请注意以下事项:

  • 仅当交付组有一个或多个未分配的计算机时,容量缓冲区才起作用。
  • 如果交付组没有未分配的计算机(交付组中的所有计算机都已分配),则容量缓冲区不会在打开或关闭计算机电源方面发挥作用。
  • AutomaticPowerOnForAssignedDuringPeak 属性确定已分配的计算机是否在高峰时段打开电源。如果设置为 true,AutoScale 将在高峰时段保持计算机打开电源;即使计算机关闭电源,AutoScale 也会打开计算机电源。

示例方案

假设您遇到以下情况:

  • 交付组配置。您希望 AutoScale 管理电源的交付组包含 10 台计算机(M1 到 M10)。
  • AutoScale 配置
    • 分配计算机 M1 到 M3,并取消分配计算机 M4 到 M10。
    • 高峰和非高峰时段的容量缓冲区设置为 10%。
    • 根据选定的时间表,AutoScale 在上午 9:00 至下午 6:00 之间对计算机进行电源管理。

有关 AutoScale 在上述场景中如何工作的详细信息,请参阅下文。

  • 时间表开始时间 - 上午 9:00
    • AutoScale 打开计算机 M1 到 M3 的电源。
    • 由于已配置的容量缓冲区,AutoScale 将打开另一台计算机(例如 M4)的电源。计算机 M4 未分配。
  • 第一个用户登录
    • 用户首次登录以使用桌面时,将从已打开电源的未分配计算机上托管的桌面池中为用户分配一个桌面。在这种情况下,将从计算机 M4 为用户分配桌面。该用户的后续登录会连接到首次使用时分配的相同桌面。
    • 由于配置了容量缓冲区,AutoScale 开始打开额外的计算机(例如 M5)的电源以满足需求。
  • 第二个用户登录
    • 从已打开电源的未分配计算机为用户分配桌面。在这种情况下,将从计算机 M5 为用户分配桌面。该用户的后续登录会连接到首次使用时分配的相同桌面。
    • 由于配置了容量缓冲区,AutoScale 开始打开额外的计算机(例如 M6)的电源以满足需求。
  • 用户注销
    • 当用户注销其桌面或桌面超时时,AutoScale 会在上午 9:00 至下午 6:00 期间保持打开计算机 M1 到 M5 的电源。当这些用户下次登录时,将连接到首次使用时分配的同一桌面。
    • 未分配的计算机 M6 正在等待向未分配的传入用户提供桌面服务。
  • 时间表结束时间 - 下午 6:00
    • 在下午 6:00,AutoScale 关闭计算机 M1 到 M5 的电源。
    • 由于配置了容量缓冲区,AutoScale 将保持未分配的计算机 M6 打开电源。该计算机正在等待向未分配的传入用户提供桌面服务。
    • 在交付组中,计算机 M6 到 M10 为未分配的计算机。

将 AutoScale 限制到交付组中的某些计算机

AutoScale 提供仅管理交付组中计算机子集的灵活性。为此,请将标记应用到一台或多台计算机,然后将 AutoScale 配置为仅对带标记的计算机进行电源管理。

此功能在云爆发用例中非常有用,在此类用例中,您希望在基于云的资源满足额外需求(即工作负载爆发)之前使用本地资源(或预留的公有云实例)处理工作负载。要让本地计算机(或预留的实例)首先处理工作负载,必须使用标记限制以及区域首选项。

标记限制指定由 AutoScale 进行电源管理的计算机。区域首选项指定首选区域中的计算机以处理用户启动请求。有关详细信息,请参阅标记区域首选项

如何将 AutoScale 限制到交付组中的计算机

有两种方法可以将 AutoScale 限制到交付组中的计算机:

  • 直接使用 PowerShell SDK
  • 将 Studio 与 PowerShell SDK 结合使用

要直接使用 PowerShell SDK,请完成以下步骤:

  1. 创建标记。使用 New-Brokertag PowerShell 命令创建标记。
  2. 将标记应用到计算机。使用 Get-Brokermachine PowerShell 命令将标记应用到您希望 AutoScale 进行电源管理的目录中的计算机。

    注意:

    应用标记后,可以将新计算机添加到目录中。标记 NOT 将自动应用到这些新计算机。

  3. 将带标记的计算机添加到您希望 AutoScale 进行电源管理的交付组。使用 Get-BrokerDesktopGroup PowerShell 命令向包含计算机的交付组添加标记限制(换句话说,“限制启动到带标记 X 的计算机”)。

要将 Studio 与 PowerShell SDK 结合使用,请完成以下步骤:

  1. 创建标记。使用 Studio 手动创建一个标记并将该标记应用到适用的计算机。有关如何在 Studio 中使用标记的详细信息,请参阅标记

  2. 获取标记。打开 PowerShell,然后输入 Get-BrokerTag PowerShell 命令。例如:$tag = Get-BrokerTag managed。在这种情况下,您希望 AutoScale 限制到的标记名为“managed”。

  3. 将带标记的计算机添加到您希望 AutoScale 进行电源管理的交付组。在 PowerShell 控制台窗口中,输入 Get-BrokerDesktopGroup PowerShell 命令。例如:Get-BrokerDesktopGroup –Uid 1 | Set-BrokerDesktopGroup –RestrictAutoscaleTagUid $tag.Uid。在这种情况下,交付组的 UID 为 1。

如何删除交付组中的标记限制

应用标记限制后,您可能希望稍后将其从交付组中删除。要执行此操作,请使用 Get-BrokerDesktopGroup PowerShell 命令。

示例:Get-BrokerDesktopGroup –Uid 1 | Set-BrokerDesktopGroup –RestrictAutoscaleTagUid $null。在这种情况下,交付组的 UID 为 1。

示例方案

假设您遇到以下情况:

  • 计算机目录配置。有两个计算机目录(C1 和 C2)。
    • 目录 C1 包含本地部署中的 5 台本地计算机(M1 到 M5)。
    • 目录 C2 包含云部署中的 5 台远程计算机(M6 到 M10)。
  • 标记限制。创建名为“Cloud”的标记并应用到目录 C2 中的计算机 M6 到 M10。

  • 区域配置。创建两个区域(Z1 和 Z2)。
    • 包含目录 C1 的区域 Z1 对应本地部署。
    • 包含目录 C2 的区域 Z2 对应云部署。
  • 交付组配置
    • 交付组包含 10 台计算机(M1 到 M10),5 台来自目录 C1 的计算机(M1 到 M5)以及 5 台来自目录 C2 的计算机(M6 到 M10)。
    • 计算机 M1 到 M5 手动打开电源,并在整个计划中保持打开电源。
  • AutoScale 配置
    • 容量缓冲区设置为 10%。
    • AutoScale 仅对带有标记“Cloud”的计算机进行电源管理。在这种情况下,AutoScale 对云计算机 M6 到 M10 进行电源管理。
  • 已发布的应用程序或桌面配置。为已发布的桌面配置区域首选项(例如),其中区域 Z1 的优先级高于用户启动请求的区域 Z2。
    • 区域 Z1 配置为已发布的桌面的首选区域(主区域)。

该方案按以下顺序执行:

  1. 没有用户登录。
  2. 用户会话增加。
  3. 用户会话将进一步增加,直到占用所有可用的本地计算机。
  4. 更多用户会话启动。
  5. 由于会话终止,用户会话将减少。
  6. 用户会话进一步减少,直到会话负载仅由本地计算机进行处理。

有关 AutoScale 在上述场景中如何工作的详细信息,请参阅下文。

  • 无用户负载(初始状态)
    • 本地计算机 M1 到 M5 已打开电源。
    • 云中的一台计算机(例如,M6)已打开电源。由于配置的容量缓冲区,计算机已打开电源。在这种情况下,10(计算机数量)x 10000(负载指数)x 10%(配置的容量缓冲区)等于 10000。因此,一台计算机已打开电源。
    • 所有已打开电源的计算机(M1 到 M6)的负载指数值为基准负载(负载指数等于 0)。
  • 用户登录
    • 通过配置的区域首选项将会话定向到托管在计算机 M1 到 M5 上,并在这些本地计算机之间进行负载平衡。
    • 已打开电源的计算机(M1 到 M5)的负载指数值增加。
    • 已打开电源的计算机 M6 的负载指数值为基准负载。
  • 用户增加负载,消耗所有本地资源
    • 通过配置的区域首选项将会话定向到托管在计算机 M1 到 M5 上,并在这些本地计算机之间进行负载平衡。
    • 所有已打开电源的计算机(M1 到 M5)的负载指数值已达到 10000。
    • 已打开电源的计算机 M6 的负载指数值保持为基准负载。
  • 还有一个用户登录
    • 会话溢出区域首选项,并定向到托管在云计算机 M6 上。
    • 所有已打开电源的计算机(M1 到 M5)的负载指数值已达到 10000。
    • 已打开电源的计算机 M6 的负载指数值增加,不再处于基准负载。当总备用容量降至负载指数低于 10000 的水平时,由于配置了容量缓冲区,AutoScale 将开始打开额外的计算机 (M7) 以满足需求。请注意,打开计算机 M7 的电源可能需要一段时间。因此可能会有延迟,直到计算机 M7 准备就绪。
  • 更多用户登录
    • 会话将定向到托管在计算机 M6 上。
    • 所有已打开电源的计算机(M1 到 M5)的负载指数值已达到 10000。
    • 已打开电源的计算机 M6 的负载指数值进一步增加,但总备用容量的负载指数处于 10000 以上的水平。
    • 已打开电源的计算机 M7 的负载指数值保持为基准负载。
  • 更多用户登录
    • 在计算机 M7 准备就绪后,会话将定向到托管在计算机 M6 和 M7 上,并在这些计算机之间进行负载平衡。
    • 所有已打开电源的计算机(M1 到 M5)的负载指数值已达到 10000。
    • 计算机 M7 的负载指数值不再为基准负载。
    • 已打开电源的计算机(M6 和 M7)的负载指数值增加。
    • 总备用容量的负载指数仍处于 10000 以上的水平。
  • 由于会话终止,用户会话负载会降低
    • 用户注销其会话或空闲会话超时后,计算机 M1 到 M7 上释放的容量将重新用于托管其他用户启动的会话。
    • 当总备用容量的负载指数增加到 10000 以上的水平时,AutoScale 将其中一台云计算机(M6 到 M7)置于终止状态。因此,除非发生新的更改,否则其他用户启动的会话不再定向到该计算机(例如 M7);例如,用户负载再次增加或其他云计算机的负载变得最少。
  • 用户会话负载进一步降低,直到不再需要一台或多台云计算机
    • 在计算机 M7 上的所有会话终止并且指定的关机延迟超时后,AutoScale 将关闭计算机 M7 的电源。
    • 所有已打开电源的计算机(M1 到 M5)的负载指数值可能会降至低于 10000。
    • 已打开电源的计算机 (M6) 的负载指数值降低。
  • 用户会话进一步减少,直到不需要云计算机为止。
    • 即使计算机 M6 上没有任何用户会话,AutoScale 也不会关闭电源,因为该计算机保留为备用容量。
    • 由于配置了容量缓冲区,AutoScale 将保持剩余的云计算机 M6 打开电源。该计算机正在等待向传入用户提供桌面服务。
    • 只要本地计算机有可用容量, 就不会将会话定向为托管在计算机 M6 上。

通过 AutoScale 动态预配计算机

AutoScale 提供动态创建计算机以及将其删除的功能。可以使用 PowerShell 脚本来利用该功能。该脚本可帮助您根据当前负载条件动态增加或减少交付组中的计算机数量。

该脚本提供以下优势(以及更多):

  • 降低存储成本。与有助于降低计算成本的 AutoScale 不同,该脚本提供了一个更具成本效益的解决方案来预配计算机。

  • 有效处理负载变化。该脚本通过根据当前的交付组负载自动增加或减少计算机数量来帮助您处理负载变化。

下载脚本

PowerShell 脚本在 https://github.com/citrix/Powershell-Scripts/tree/master/XAXD/AutoscaleMcs 提供。

脚本的工作原理

重要:

  • 不能在多个交付组中指定通过脚本管理的计算机目录。换句话说,如果多个交付组共享同一计算机目录,该脚本将不适用于其中任何交付组。
  • 不能同时从多个位置运行同一交付组的脚本。

该脚本在交付组级别运行。它测量负载(根据 负载指数),然后确定是创建计算机还是删除计算机。

通过此脚本创建的计算机具有唯一标记(通过 ScriptTag 参数),以便以后可以识别这些计算机。创建或删除计算机是根据:

  • 交付组的最大负载百分比。指定为 AutoScale 创建计算机以解决额外负载的最大级别。超过此阈值时,将分批创建计算机,以确保当前负载降低到或低于阈值。

  • 交付组的最小负载百分比。指定删除通过此脚本创建的并且没有活动会话的计算机的最低级别。超过此阈值时,通过此脚本创建的没有活动会话的计算机将被删除。

此脚本用于跨交付组进行监视,并在满足触发条件时创建或删除计算机。它在每次运行的基础上执行。这意味着您需要定期运行脚本,以便其能够按预期运行。我们建议您以最少 5 分钟的时间间隔运行脚本。这样做可以提高整体响应能力。

该脚本依赖以下参数来运行:

参数 类型 默认值 说明
DeliveryGroupName 字符串 X 要监视以确定当前负载的交付组的名称。可以提供以分号分隔的名称列表。例如:Invoke-AutoscaleMachineCreation.ps1 -DeliveryGroupName ‘dg1;dg2;dg3’ -XdProfileName profile
XdProfileName 字符串 X 用于对远程服务器进行身份验证的配置文件的名称。有关使用此参数对远程服务器进行身份验证的详细信息,请参阅身份验证 API
HighWatermark 整数 80 为 AutoScale 创建计算机以解决额外负载的最大百分比负载(按负载指数计算)。
LowWatermark 整数 15 删除通过此脚本创建的没有活动会话的计算机的最小负载百分比(按负载指数计算)。
MachineCatalogName 字符串 X 要创建计算机的计算机目录的名称。
MaximumCreatedMachines 整数 -1 可以在指定交付组中创建的计算机的最大数量。如果值等于或小于 0,脚本将不处理此参数。
ScriptTag 字符串 AutoscaledScripted 适用于通过此脚本创建的计算机的标签。
EventLogSource 字符串 X 在 Windows 事件查看器中显示的源名称。

注意:

“X”表示没有为该参数指定默认值。

默认情况下,脚本首次运行时需要所有参数(ScriptTag 参数除外)。在后续运行中,只需要 DeliveryGroupNameXdProfileName 参数。或者,您可以选择更新最小和最大负载百分比。

请注意,首次运行脚本时必须指定单个交付组。例如,如果您在首次运行脚本时使用以下 PowerShell 命令指定两个交付组,脚本将起作用:

  • Invoke-AutoscaleMachineCreations.ps1 -DeliveryGroupName ‘dg1;dg2’ -XdProfileName profile -LowWatermark 20 -HighWatermark 70 -MachineCatalogName ‘cat1’\

相反,请首先使用以下命令指定单个交付组(在本示例中为 dg1):

  • Invoke-AutoscaleMachineCreations.ps1 -DeliveryGroupName ‘dg1’ -XdProfileName profile -LowWatermark 20 -HighWatermark 70 -MachineCatalogName ‘cat1’\

然后,请使用以下命令运行第二个交付组的脚本(在此示例中为 dg 2):

  • Invoke-AutoscaleMachineCreations.ps1 -DeliveryGroupName ‘dg1;dg2’ -XdProfileName profile

必备条件

要运行脚本,请确保满足以下必备条件:

  • 计算机位于正在创建计算机的同一域中。
  • 该计算机上已安装远程 PowerShell SDK。有关远程 PowerShell SDK 的详细信息,请参阅 SDK 和 API
  • 其他必备条件:
    • 要监视的交付组
    • 通过 Machine Creation Services (MCS) 创建的具有关联预配方案(模板)的计算机目录
    • 与预配方案关联的标识池
    • 要创建的事件日志源,以便脚本能够将信息写入 Windows 事件日志
    • 允许您对远程服务器进行身份验证的安全客户端

权限、建议和通知

运行脚本时,请记住以下几点:

  • 要使用 XdProfileName 参数对远程服务器进行身份验证,您需要使用在 Citrix Cloud 控制台中创建的 API 访问安全客户端来定义身份验证配置文件。有关详细信息,请参阅身份验证 API

  • 您必须具有在 Active Directory 中创建和删除计算机帐户的权限。

  • 我们建议您使用 Windows 任务计划程序自动执行 PowerShell 脚本。有关详细信息,请参阅使用 Windows 任务计划程序创建自动化任务

  • 如果您希望脚本将信息(例如,故障和操作)写入 Windows 事件日志,需要首先使用 New-EventLog cmdlet 指定源名称。例如 New-EventLog -LogName Application –Source <sourceName>。然后可以在 Windows 事件查看器的应用程序窗格中查看事件。

  • 如果在执行脚本过程中出现错误,请手动执行脚本,然后通过执行脚本检查来解决问题。

身份验证 API

在运行脚本之前,需要使用 API 访问安全客户端定义身份验证配置文件。必须使用运行脚本的相同帐户创建安全客户端。

安全客户端必须具有以下权限:

  • 使用 MCS 创建和删除计算机。
  • 编辑计算机目录(以添加和删除计算机)。
  • 编辑交付组(以添加和删除计算机)。

创建安全客户端时,请确保您的帐户具有上述权限,因为安全客户端会自动从您的当前帐户继承权限。

要创建安全客户端,请完成以下步骤:

  1. 登录 Citrix Cloud 控制台,然后导航到身份识别和访问管理 > API 访问

  2. 键入您的安全客户端的名称,然后单击创建客户端

要对远程服务器进行身份验证,请使用 Set-XDCredentials PowerShell 命令。例如:

  • Set-XDCredentials -APIKey <key_id> -CustomerId <customer_id> -SecretKey <secret_key> -StoreAs <name specified by the XdProfileName parameter>

使用 Windows 任务计划程序创建自动化任务

可以使用 Windows 任务计划程序自动执行 PowerShell 脚本。这样做可以按某些时间间隔或在满足某些条件时自动运行脚本。要使用 Windows 任务计划程序执行此脚本,请务必在创建任务 > 设置选项卡上选择请勿启动新实例。这样做会阻止 Windows 任务计划程序运行脚本的新实例(如果脚本已在运行)。

脚本执行示例

有关执行脚本的示例,请参阅下文。请注意,脚本文件被多次调用。在此示例中,为了模拟负载,将启动一个会话,然后终止。

脚本执行示例

脚本的故障排除清单

该脚本将信息(例如,错误和操作)写入 Windows 事件日志。该信息可帮助您解决执行脚本时遇到的问题。记住以下故障排除清单可能会有所帮助:

  • 与远程服务器通信失败。可行的操作:
    • 验证与服务器的连接。
    • 验证您使用的 API 密钥是否有效。
  • 创建计算机失败。可行的操作:
    • 验证运行脚本的用户帐户是否具有足够的权限,能够在域中创建用户帐户。
    • 验证创建 API 密钥的用户是否具有足够的权限,能够使用 MCS 预配计算机。
    • 验证计算机目录的有效性(即,其映像仍然存在且处于良好状态)。
  • 未能将计算机添加到计算机目录或交付组。可行的操作:
    • 验证创建 API 密钥的用户是否具有足够的权限,能够在计算机目录和交付组中添加和删除计算机。

监视指标

可以从监视选项卡监视 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”的交付组的计算机实例每小时成本设置为 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 利用计算机来满足计划或负载需求的要求。当计划(基于计划的扩展)或当前需求(基于负载的扩展)所需的计算机超过当前打开电源的计算机时会出现这种情况。

重要:

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

要找出哪些计算机处于终止状态,请使用 Get-BrokerMachine PowerShell 命令。例如:Get-BrokerMachine -DrainingUntilShutdown $true

负载指数

重要:

负载指数不适用于 VDI 交付组。它仅适用于 RDS 交付组。

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

容量和计算机注册

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

跨多个计算机目录扩展

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

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

计算机预配和会话需求

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

监视数据的可用性

为交付组启用了 AutoScale 时,监视数据可用。在为交付组启用 AutoScale 并禁用后,监视数据将继续可用。AutoScale 每隔 5 分钟收集一次监视数据。

注意:

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

实例大小注意事项

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