限制自动缩放(云爆发)
将Autoscale限制为交付组中的某些机器
Autoscale提供了在交付组中只管理机器子集的灵活性。要实现这一点,请将标记应用到一台或多台计算机,然后配置Autoscale,使其只管理标记的计算机。
这一特性在云突发用例中非常有用,您希望在基于云的资源解决额外需求(即突发工作负载)之前使用内部部署的资源(或预留的公共云实例)来处理工作负载。要让本地机器(或保留实例)首先处理工作负载,必须使用标记限制和区域首选项。
标记限制指定由自动缩放管理的机器。区域首选项指定在首选区域中处理用户启动请求的计算机。有关更多信息,请参见标签而且区偏好.
要将Autoscale限制在某些机器上,可以使用Manage控制台或PowerShell。
使用Manage控制台将自动缩放限制到某些机器
(此功能在Legacy Configuration控制台中不可用。)
要将Autoscale限制到某些机器,请完成以下步骤:
创建一个标记,并将该标记应用到交付组中的适用机器。有关更多信息,请参见管理标签和标签限制.
选择交付组,然后打开管理自动定量向导。
在限制自动定量页面,选择使标签限制,从列表中选择一个标签,然后单击应用保存更改。
单会话操作系统的用户界面静态而且随机交付组:
用户界面多会话OS交付组:
警告:
- 将Autoscale限制为带有特定标记的机器可能会导致直方图自动更新,以反映每个标记的机器数量。在时间表及高峰时间页,如果需要,您可以针对每个时间段手动分配机器。
- 不能删除用于限制自动缩放的标记。要删除标记,必须首先删除标记限制。
应用标记限制之后,您可能希望稍后将其从交付组中删除。要这样做,去管理自动缩放>限制自动缩放页面,然后清除使标签限制.
警告:
- 如果您从适用的机器上删除标记而不清除使标签限制,打开时可能会收到警告管理自动定量向导。从计算机中删除标记可能不会留下任何机器供自动缩放管理,因为您在自动缩放中指定的标记已经失效。要解决警告,请转到限制自动定量页,删除无效标记,然后单击应用保存更改。
使用PowerShell将Autoscale限制在某些机器上
要直接使用PowerShell SDK,需要完成以下步骤:
- 创建一个标签。使用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/.
- 例如:
- 将标签应用于机器.使用Get-Brokermachine PowerShell命令将标签应用到您想要Autoscale进行电源管理的目录中的机器。
- 例如:
Get-BrokerMachine -CatalogName "cloud" | Add-BrokerTag $managed。的名字
.在本例中,目录名为“cloud”。 - 有关Get-Brokermachine PowerShell命令的更多信息,请参见https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/Get-BrokerMachine/.
注意:
您可以在应用标记之后将新计算机添加到目录中。标签是不自动应用于那些新机器。
- 例如:
- 将带标记的计算机添加到希望自动缩放进行电源管理的交付组。使用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。
- 区配置.创建了两个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)。
本场景按如下顺序执行:
- 没有用户登录。
- 增加用户会话。
- 用户会话进一步增加,直到耗尽所有可用的内部设备。
- 更多用户会话开始。
- 由于会话终止,用户会话减少。
- 用户会话进一步减少,直到会话负载仅由内部部署的计算机处理为止。
有关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上托管。