自动缩放标记的计算机(云突发)

Last published : Oct 24, 2026
注意:
此功能以前称为“限制自动缩放”。

简介

自动缩放提供了灵活性,可以仅对交付组中的部分计算机进行电源管理。为此,请将标签应用于一台或多台计算机,然后配置自动缩放以仅对标记的计算机进行电源管理。
此功能在云突发用例中很有用,在这种情况下,您希望在基于云的资源处理额外需求(即突发工作负载)之前,使用本地资源(或预留的公共云实例)来处理工作负载。为了让本地计算机(或预留实例)首先处理工作负载,您必须结合区域首选项使用标签限制。
标签限制指定由自动缩放进行电源管理的计算机。区域首选项指定首选区域中的计算机以处理用户启动请求。有关详细信息,请参阅标签和区域首选项。
要自动缩放某些标记的计算机,您可以使用 Studio 或 PowerShell。

使用 Studio 自动缩放某些标记的计算机

要自动缩放某些标记的计算机,请完成以下步骤:
  1. 创建一个标签,并将该标签应用于交付组中适用的计算机。有关详细信息,请参阅管理标签和标签限制。
  2. 选择交付组,然后打开“管理自动缩放”向导。
  3. 在“自动缩放标记的计算机”页面上,选择“为带有标签的计算机启用自动缩放”,从列表中选择一个标签,然后单击“应用”以保存更改。
    适用于单会话操作系统静态和随机交付组的用户界面:
    自动缩放标记的计算机
    用于 多会话操作系统交付组 的用户界面:
    自动缩放标记的计算机(/en-us/citrix-daas/media/autoscale-restrict-ss-ms.png)
警告:
  • 自动缩放具有特定标签的计算机可能会导致直方图自动更新,以反映每个标签的计算机数量。在“计划和高峰时段”页面上,您可以根据需要手动为每个时间段分配计算机。
  • 您无法删除正在标记计算机上使用的标签。要删除该标签,您必须首先删除标签限制。
应用标签限制后,您可能希望稍后将其从交付组中删除。为此,请转到“管理自动缩放 > 自动缩放标记的计算机”页面,然后清除“为具有标签的计算机启用自动缩放”。
警告:
  • 如果您在未清除“为具有标签的计算机启用自动缩放”的情况下从适用的计算机中删除标签,当您打开“管理自动缩放”向导时,可能会收到警告。从计算机中删除标签可能会导致自动缩放没有可管理的计算机,因为您在自动缩放中指定的标签已失效。要解决此警告,请转到“自动缩放标记的计算机”页面,删除无效标签,然后单击“应用”以保存更改。

控制自动缩放何时启动资源

您还可以根据未标记计算机的使用情况,控制自动缩放何时开始启动标记的计算机。这有助于您进一步优化标记或公共云工作负载的消耗。
为此,请完成以下步骤:
  1. 在“自动缩放标记的计算机”页面上,选择“控制自动缩放何时开始启动标记的计算机”。
  2. 输入您希望达到的未标记计算机使用率百分比(适用于高峰时段和非高峰时段),然后单击“应用”。支持的值:0–100。
控制自动缩放何时开始启动标记的计算机(/en-us/citrix-daas/media/autoscale-powers-on-tagged-machines.png)
提示:
该百分比控制 Autoscale 何时开始启动已标记的计算机。当百分比低于阈值(默认值 10%)时,Autoscale 开始启动已标记的计算机。当百分比超过阈值时,Autoscale 进入关机模式。输入百分比时,请考虑以下两种情况:
  • 对于单会话操作系统交付组:该值定义为空闲状态下未标记计算机总数的百分比。示例:您有 10 台未标记的单会话操作系统计算机。当只剩一台没有会话时,Autoscale 开始启动一台已标记的计算机。
  • 对于多会话操作系统交付组:该值定义为可用未标记计算机的总容量(以负载指数表示)的百分比。示例:您有 10 台未标记的多会话操作系统计算机。当它们负载达到 90% 时,Autoscale 开始启动一台已标记的计算机。

使用 PowerShell 自动缩放某些已标记的计算机

注意:
Get-BrokerMachine PowerShell 命令已弃用。请使用 Get-BrokerMachineV2 作为替代。
要直接使用 PowerShell SDK,请完成以下步骤:
  1. 创建标记。 使用 New-Brokertag PowerShell 命令创建标记。
    • 例如:$managed = New-BrokerTag Managed。在此示例中,标记名为“Managed”。有关 New-Brokertag PowerShell 命令的更多信息,请参阅 <https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/New-BrokerTag/>。
  2. 将标记应用于计算机。使用 Get-Brokermachine PowerShell 命令将标记应用于您希望 Autoscale 管理电源的目录中的计算机。
    • 例如:Get-BrokerMachine -CatalogName "cloud" | Add-BrokerTag $managed.Name。在此示例中,目录名为“cloud”。
    • 有关 Get-Brokermachine PowerShell 命令的更多信息,请参阅 <https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/Get-BrokerMachine/>。
    注意:
    在应用标记后,您可能会向目录中添加新计算机。该标记不会自动应用于这些新计算机。
  3. 将已标记的计算机添加到您希望 Autoscale 管理电源的交付组。 使用 Get-BrokerDesktopGroup PowerShell 命令向包含计算机的交付组添加标记限制(换句话说,“将启动限制为具有标记 X 的计算机”)。
    • 例如:Get-BrokerDesktopGroup -Uid 1 | Set-BrokerDesktopGroup -RestrictAutoscaleTagUid $managed.Uid。在此示例中,交付组的 UID 为 1。
    • 有关 Get-BrokerDesktopGroup PowerShell 命令的详细信息,请参阅 <https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/Get-BrokerDesktopGroup/>。
应用标记限制后,您可能希望稍后将其从交付组中删除。为此,请使用 Get-BrokerDesktopGroup PowerShell 命令。
示例:Get-BrokerDesktopGroup –Uid 1 | Set-BrokerDesktopGroup –RestrictAutoscaleTagUid $null。在此示例中,交付组的 UID 为 1。
注意:
用户关闭未标记的计算机后,它们会自动重新启动。此行为可确保它们更快地可用以处理工作负载。可以使用 Set-BrokerDesktopGroup 的 AutomaticRestartForUntaggedMachines 属性在每个桌面组上启用或禁用此功能。有关详细信息,请参阅 <https://citrix.github.io/delivery-controller-sdk/Broker/Set-BrokerDesktopGroup/>。

示例方案

假设您有以下方案:
  • 计算机目录配置。有两个计算机目录(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 10,000(负载指数)x 10%(配置的容量缓冲区)等于 10,000。因此,一台计算机已开机。
    • 所有已开机计算机(M1 到 M6)的负载指数值处于基线负载(负载指数等于 0)。
  • 用户登录
    • 会话通过配置的区域首选项定向到计算机 M1 到 M5 上托管,并在这些本地计算机之间进行负载平衡。
    • 已开机计算机(M1 到 M5)的负载指数值增加。
    • 已开机计算机 M6 的负载指数值处于基线负载。
  • 用户增加负载,消耗所有本地资源
    • 会话通过配置的区域首选项定向到计算机 M1 到 M5 上托管,并在这些本地计算机之间进行负载平衡。
    • 所有已开机计算机(M1 到 M5)的负载指数值已达到 10,000。
    • 已开机计算机 M6 的负载指数值保持在基线负载。
  • 又一个用户登录
    • 会话溢出区域首选项,并被定向到云计算机 M6 上托管。
    • 所有已开机计算机(M1 到 M5)的负载指数值已达到 10,000。
    • 已开机计算机 M6 的负载指数值增加,不再处于基线负载。当总备用容量的负载指数值降至 10,000 以下时,Autoscale 会因为配置的容量缓冲区而开始开机一台额外的计算机 (M7) 以满足需求。请注意,开机计算机 M7 可能需要一些时间。因此,计算机 M7 准备就绪可能需要延迟。
  • 更多用户登录
    • 会话被定向到计算机 M6 上托管。
    • 所有已开机计算机(M1 到 M5)的负载指数值已达到 10,000。
    • 已开机计算机 M6 的负载指数值进一步增加,但总备用容量的负载指数值仍高于 10,000。
    • 已开机计算机 M7 的负载指数值保持在基线负载。
  • 更多用户登录
    • 计算机 M7 准备就绪后,会话将被定向到计算机 M6 和 M7 上托管,并在这些计算机之间进行负载平衡。
    • 所有已开机计算机(M1 到 M5)的负载指数值已达到 10,000。
    • 计算机 M7 的负载指数值不再处于基线负载。
    • 已开机计算机(M6 和 M7)的负载指数值增加。
    • 总备用容量的负载指数值仍高于 10,000。
  • 由于会话终止,用户会话负载减少
    • 用户从会话中注销或空闲会话超时后,计算机 M1 到 M7 上释放的容量将被重新用于托管其他用户启动的会话。
    • 当总备用容量的负载指数增加到 10,000 以上时,Autoscale 会将其中一台云计算机(M6 到 M7)置于耗尽状态。因此,除非发生新的变化(例如,用户负载再次增加或其它云计算机的负载最低),否则其他用户启动的会话将不再定向到该计算机(例如 M7)。
  • 用户会话负载进一步降低,直到不再需要一台或多台云计算机
    • 在计算机 M7 上的所有会话终止并且指定的关机延迟超时后,Autoscale 会关闭计算机 M7。
    • 所有已开机计算机(M1 到 M5)的负载指数值可能会降至 10,000 以下。
    • 已开机计算机 (M6) 的负载指数值降低。
  • 用户会话进一步减少,直到不再需要云计算机。
    • 即使计算机 M6 上没有用户会话,Autoscale 也不会将其关闭,因为它被保留为备用容量。
    • 由于配置了容量缓冲区,Autoscale 会保持剩余的云计算机 M6 处于开机状态。该计算机正在等待为传入用户提供桌面。
    • 只要本地计算机有可用容量,会话就不会被定向到计算机 M6 上托管。