Citrix虚拟应用和桌面服务

限制自动缩放(云爆发)

将Autoscale限制为交付组中的某些机器

Autoscale提供了在交付组中只管理机器子集的灵活性。要实现这一点,请将标记应用到一台或多台计算机,然后配置Autoscale,使其只管理标记的计算机。

这一特性在云突发用例中非常有用,您希望在基于云的资源解决额外需求(即突发工作负载)之前使用内部部署的资源(或预留的公共云实例)来处理工作负载。要让本地机器(或保留实例)首先处理工作负载,必须使用标记限制和区域首选项。

标记限制指定由自动缩放管理的机器。区域首选项指定在首选区域中处理用户启动请求的计算机。有关更多信息,请参见标签而且区偏好

要将Autoscale限制在某些机器上,可以使用Manage控制台或PowerShell。

使用Manage控制台将自动缩放限制到某些机器

(此功能在Legacy Configuration控制台中不可用。)

要将Autoscale限制到某些机器,请完成以下步骤:

  1. 创建一个标记,并将该标记应用到交付组中的适用机器。有关更多信息,请参见管理标签和标签限制

  2. 选择交付组,然后打开管理自动定量向导。

  3. 限制自动定量页面,选择使标签限制,从列表中选择一个标签,然后单击应用保存更改。

    单会话操作系统的用户界面静态而且随机交付组:

    限制自动定量

    用户界面多会话OS交付组

    限制自动定量

警告:

  • 将Autoscale限制为带有特定标记的机器可能会导致直方图自动更新,以反映每个标记的机器数量。在时间表及高峰时间页,如果需要,您可以针对每个时间段手动分配机器。
  • 不能删除用于限制自动缩放的标记。要删除标记,必须首先删除标记限制。

应用标记限制之后,您可能希望稍后将其从交付组中删除。要这样做,去管理自动缩放>限制自动缩放页面,然后清除使标签限制

警告:

  • 如果您从适用的机器上删除标记而不清除使标签限制,打开时可能会收到警告管理自动定量向导。从计算机中删除标记可能不会留下任何机器供自动缩放管理,因为您在自动缩放中指定的标记已经失效。要解决警告,请转到限制自动定量页,删除无效标记,然后单击应用保存更改。

使用PowerShell将Autoscale限制在某些机器上

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

  1. 创建一个标签。使用New-Brokertag PowerShell命令创建一个标记。
  2. 将标签应用于机器.使用Get-Brokermachine PowerShell命令将标签应用到您想要Autoscale进行电源管理的目录中的机器。

    注意:

    您可以在应用标记之后将新计算机添加到目录中。标签是自动应用于那些新机器。

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

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

例子:Get-BrokerDesktopGroup -Uid 1 | Set-BrokerDesktopGroup -RestrictAutoscaleTagUid $null.本例中交付组的UID为1。

注意:

未标记的机器在用户关机后会自动重启。这种行为确保它们能够更快地处理工作负载。可以在每个桌面组上使用Set-BrokerDesktopGroupAutomaticRestartForUntaggedMachines财产。有关更多信息,请参见https://citrix.github.io/delivery-controller-sdk/Broker/Set-BrokerDesktopGroup/

示例场景

假设你有以下场景:

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

  • 区配置.创建了两个zone (Z1和Z2)。
    • 包含目录C1的区域Z1对应于内部部署。
    • 包含目录C2的Zone Z2对应于云部署。
  • 交付组配置
    • 交付组包含10台机器(M1到M10), 5台机器来自目录C1 (M1到M5), 5台机器来自目录C2 (M6到M10)。
    • 机器M1到M5手动上电,并在整个计划中保持上电。
  • 自动定量配置
    • 容量缓冲设置为10%。
    • 自动缩放电源只管理带有“云”标签的机器。在本例中,Autoscale power管理M6到M10的云机器。
  • 发布的应用程序或桌面配置.Zone首选项是为发布的桌面配置的(例如),其中对于用户启动请求,Zone Z1比Zone Z2更受欢迎。
    • 对于发布的桌面,Zone Z1被配置为首选Zone (home Zone)。

本场景按如下顺序执行:

  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)的负载指数均达到10000。
    • 设备上电后,M6的负载指标值保持在基线负载。
  • 又有一个用户登录
    • 会话溢出区域首选项,并被定向到云机器M6上。
    • 所有通电机器(M1 ~ M5)的负载指数均达到10000。
    • 上电的机器M6的负载指标值增加,不再处于基线负载。当总空闲容量在负载指数方面下降到10,000以下时,由于配置了容量缓冲区,Autoscale开始启动额外的机器(M7)来满足需求。请注意,启动M7机器可能需要一些时间。所以在M7机器准备好之前可能会有延迟。
  • 更多用户登录
    • 会话被定向在机器M6上托管。
    • 所有通电机器(M1 ~ M5)的负载指数均达到10000。
    • 上电的机器M6的负载指标值进一步增加,但从负载指标值来看,总空闲容量处于10,000以上的水平。
    • 开机机器M7的负载索引值保持在基线负载。
  • 更多的用户登录
    • 在机器M7准备好之后,会话被定向到机器M6和M7上,并在这些机器上进行负载均衡。
    • 所有通电机器(M1 ~ M5)的负载指数均达到10000。
    • M7机器的负载指标值不再处于基线负载。
    • 上电机器(M6、M7)的负载指标值增大。
    • 从负荷指数来看,总闲置容量仍在10000以上的水平。
  • 由于会话终止,用户会话负载减少
    • 在用户从会话注销或空闲会话超时后,M1到M7机器上释放的容量被重用来承载其他用户启动的会话。
    • 当总空闲容量在负载指数方面增加到10,000以上时,Autoscale将其中一台云机器(从M6到M7)放入排水状态。因此,由其他用户启动的会话不再指向该机器(例如M7),除非发生新的更改;例如,用户负载再次增加或其他云机器的负载降低。
  • 用户会话负载进一步降低,直到不再需要一台或多台云计算机
    • 在机器M7上的所有会话被终止并且指定的关机延迟超时后,Autoscale将关闭机器M7。
    • 所有通电机器(M1到M5)的负载指数值可能会下降到10,000以下。
    • 上电机器(M6)的负载指标值降低。
  • 用户会话进一步减少,直到不再需要云机器。
    • 即使机器M6上没有用户会话,Autoscale也不会关闭它,因为它被保留为备用容量。
    • 由于配置了容量缓冲区,Autoscale会使剩余的云机器M6保持上电。这台机器正在等待为新用户提供桌面服务。
    • 只要内部部署的机器有可用的容量,会话就不会被指定在机器M6上托管。
限制自动缩放(云爆发)