Citrix DaaS

开始使用 Autoscale

AutoScale 是一项功能,可提供一致的高性能电源管理解决方案,以根据配置的计划或负载需求主动扩展交付组。

AutoScale 适用于所有类型的交付组:

  • 单会话静态操作系统
  • 单会话随机操作系统
  • 多会话随机操作系统

本文介绍了与 AutoScale 相关的基本概念,并就如何为交付组启用和配置 AutoScale 提供了指导。

基本概念

在开始之前,请先了解 AutoScale 中的以下基本概念:

容量和计算机注册

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

跨多个计算机目录扩展

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

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

计算机预配和会话需求

与交付组关联的计算机目录必须有足够的计算机,以便随需求的增加和减少而打开和关闭电源。 如果会话需求超过交付组中已注册的计算机总数,Autoscale 将确保所有已注册的计算机都已打开电源。 但是,AutoScale 不预配其他计算机

注意:

如果交付组有 63 台计算机,并且为非工作时间设置了 10% 的缓冲区容量,则根据 AutoScale 的计算,必须在非工作时间打开 6.3 台计算机。 要处理 decimal 值,规则如下:

  • 舍入到最近值:例如,如果值为 6.4,则打开 6 台计算机。 如果值为 6.7,则打开 7 台计算机。
  • 对于任何小于 1 的非零值,四舍五入为 1。 例如,如果值为 0.2 或 0.9,则打开 1 台计算机。

要克服此瓶颈,可以使用 PowerShell 脚本动态创建计算机并将其删除。 有关更多信息,请参阅 动态配置计算机

实例大小注意事项

如果您在公有云中正确调整了实例的大小,则可以优化您的成本。 我们建议您预配较小的实例,前提是其符合您的工作负载性能和容量要求。

较小的实例托管的用户会话数少于较大的实例。 因此,AutoScale 会更快地将计算机置于耗尽状态,因为注销最后一个用户会话所需的时间更短。 因此,AutoScale 可以更快地关闭较小的实例,从而降低成本。

计划

AutoScale 会根据您设置的计划打开和关闭交付组中的计算机的电源。

计划包括每个时段的活动计算机数量,并定义了高峰和非高峰时段。

计划设置因交付组的类型而异。 有关详细信息,请参阅:

高峰和非高峰时间

高峰和非高峰时间用于指示在一天中的特定时段使用哪些容量缓冲区值。 您可以定义高峰时间,将其余未定义时间保留为非高峰时间。

关机延迟

关闭电源延迟是计算机开机后 AutoScale 可以关闭该计算机电源之前必须经过的最短分钟数。 这可以防止计算机在不稳定的会话需求期间打开和关闭。 默认情况下,下电延迟为 30 分钟。 您可以在 0-60 分钟的范围内设置它。

池大小

Pool size (池大小) 是在一天中的特定时间段内必须保持开机状态的计算机数量。

容量缓冲区

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

  • 对于多会话操作系统交付组,容量缓冲区根据负载指数定义为占交付组总容量的百分比。
  • 对于单会话操作系统交付组,容量缓冲区定义为交付组中的计算机总数的百分比。

容量缓冲区是一个滚动缓冲区,因为它是根据当前使用情况计算和应用的,而不是在配置的池大小之上计算和应用。

例如,假设一个交付组有 10 台计算机,当前期间的池大小为 1 台计算机,容量缓冲区为 10%。 当 1 台已打开电源的计算机(如计划定义)加载到不再满足 10% 容量缓冲区的点时,将打开另一台计算机的电源。 如果在打开第二台计算机的电源后负载减少,并且有足够的空闲负载容量来满足 10% 的容量缓冲,则 Autoscale 会准备 1 台计算机关闭电源。

负载指数

重要:

负载指数仅适用于多会话交付组。

负载指数衡量指标决定了计算机接收用户登录请求的可能性。 该值是使用针对并发登录、会话、CPU、磁盘和内存使用配置的 Citrix Load Management 策略设置计算的。

负载指数的范围介于 0 到 10000 之间。 默认情况下,计算机在托管 250 个会话时被视为处于满载状态:

  • 数字“0”表示卸载了负载的计算机。 负载指数值为 0 的计算机处于基准负载状态。

  • 数字“10000”表示已满载的计算机无法再运行任何会话。

自动缩放和维护模式

处于维护模式的计算机,无论其可用性状态如何,都被视为计算总池大小的一部分。 因此,池中的所有计算机都可能处于维护模式。 但是,这些计算机被排除在容量缓冲区计算之外,以确保其即时可用性。 要保证用户连接可以访问特定百分比的计算机,请相应地调整池大小和缓冲区值。

机器成本

每小时计算机实例成本是正在使用的计算容量的每小时成本 (以 USD) 为单位。 此设置用于计算 AutoScale 设置的成本节省。 要查看节省的费用,请转到 监控 > 趋势 > 机器使用情况.

纵向扩展交付组

在以下情况下,AutoScale 会打开启用了 AutoScale 的交付组中的其他计算机的电源:

  1. 交付组的 AutoScale 计划指示在当前时间段内必须打开更多计算机的电源。
  2. 交付组上的当前负载已超过容量缓冲区。

开机条件:

  1. 未处于维护模式。
  2. 虚拟机管理程序未处于维护模式。
  3. 已关闭电源并未注册。
  4. 属于需要纵向扩展的交付组
  5. 没有待处理的电源操作。

缩减交付组

在以下情况下,AutoScale 会关闭启用了 AutoScale 的交付组中的计算机:

  1. AutoScale 计划指定必须关闭计算机电源才能满足当前时间段内配置的计算机数量。
  2. 交付组的当前负载已减少,导致已打开电源的计算机数量超过了满足池大小和容量缓冲区所需的数量。

AutoScale 通过关闭超出池大小和容量缓冲区所需数量的多余计算机来缩减交付组。

纵向缩减过程包括两个步骤:

  1. 将所需数量的计算机置于 drain 状态。
  2. 选择所有耗尽的计算机以关闭电源。

符合关机条件的计算机必须满足以下条件:

  1. 未处于维护模式
  2. 虚拟机管理程序未处于维护模式
  3. 当前已开机
  4. 已注册为可用或在启动后等待注册
  5. 耗尽且没有活动会话
  6. 无待处理的电源操作
  7. 满足掉电延迟

耗尽状态

AutoScale 尝试将交付组中已打开电源的计算机数量缩小到配置的池大小和容量缓冲区。

为了实现这一目标,AutoScale 会将会话最少的多余计算机置于“耗尽状态”,并在注销所有会话后关闭其电源。 当会话需求减少并且计划所需的计算机少于打开电源的计算机时会出现此行为。

机器排空的条件:

  1. 开机
  2. 未处于维护模式
  3. 虚拟机管理程序未处于维护模式
  4. 属于需要缩减的交付组
  5. 当前活动会话的最小数量

注意:

  • 至少已开启 Power-Off delay (关机延迟) 指定时间的计算机优先用于排空。
  • 处于 drain 状态的计算机不再托管新的会话启动,并等待现有会话注销。 仅当注销所有会话时,计算机才会关闭。 但是,如果没有立即可用于会话启动的计算机,AutoScale 将更倾向于将会话启动定向到处于耗尽状态的计算机,而非打开计算机电源。

AutoScale 将多余的计算机逐个置于“耗尽状态”:

  • 如果两台或多台计算机具有相同数量的活动会话,AutoScale 会耗尽为指定的关机延迟打开电源的计算机。

    这样做可以避免将最近打开电源的计算机置于耗尽状态,因为这些计算机的会话更可能最少。

  • 如果两台或多台计算机已为实现指定的关机延迟打开电源,AutoScale 将随机逐一耗尽这些计算机。

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

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

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

-priority

如果没有计算机可以立即启动会话,则 AutoScale 会优先将会话启动定向到处于耗尽状态的计算机,而不是打开计算机电源。 托管会话启动的处于 drain 状态的计算机将保持 drain 状态。

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

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

注意:

此功能仅适用于多会话计算机。

在 Studio 中,您可以显示处于耗尽状态的计算机,让您知道哪些计算机即将关闭。 完成以下步骤:

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

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

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

耗尽状态

为交付组启用 AutoScale

创建交付组时,默认情况下,Autoscale 处于禁用状态。 要使用 Studio 为交付组启用和配置 AutoScale,请执行以下步骤:

还可以使用 PowerShell 命令为交付组启用和配置 AutoScale。 有关详细信息,请参阅 Broker PowerShell SDK 命令

  1. 从 Studio 中,选择 交付组 在左侧窗格中。

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

    云 UI

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

    云 UI

  4. 要根据组织的需求更改默认设置,请完成以下设置:

要禁用 AutoScale,请清除 自动缩放 复选框。 页面上的选项变为灰色,以指示已为选定的交付组禁用 AutoScale。

-priority

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

您可以使用 PowerShell 脚本为群组动态配置计算机。 有关更多信息,请参阅动态计算机配置

监视指标

为交付组启用 AutoScale 后,您可以从 监控 安慰。

  • 计算机使用情况

  • 预计节省金额

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

  • 计算机状态

  • 负载评估趋势

注意:

最初为交付组启用 AutoScale 时,可能需要几分钟才能显示该交付组的监视数据。 如果为交付组启用 Autoscale 后将其禁用,监视数据将保持可用状态。 AutoScale 每隔 5 分钟收集一次监视数据。

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

在休眠的 VM 上自动缩放

如果交付组启用了休眠,则可以为休眠的 VM 配置重新启动计划。 在重新启动周期中,VM 将恢复,然后关闭。 重启计划可以设置为每周、每天、每月和一次。 您可以配置多个计划。 但是,从休眠状态恢复的 VM 可能需要几分钟时间。

AutoScale 还可以在高峰时段打开休眠的多会话远程桌面服务 (RDS) 和共享的单会话 VM(没有会话)。 VM 可以是 MCS 和非 MCS 计算机目录。

更多信息

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

开始使用 Autoscale