基于调度和基于负载的设置
自动缩放电源如何管理机器
自动缩放电源机器上和关闭基于选定的时间表。“自动缩放”允许您设置多个时间表,包括每周的特定日期,并在这些时间内调整可用的机器数量。如果您希望一组用户在特定日期的特定时间消耗机器资源,Autoscale可以帮助提供优化的体验。注意,无论这些机器上是否运行会话,都将在调度期间启动它们。
注意:
自动缩放支持任何电源管理的机器。
这个时间表是基于时区送货组的。如果需要修改时区,可以通过修改下发组中的用户设置来实现。有关更多信息,请参见管理交付组.
自动缩放有两个默认的时间表:工作日(星期一至星期五)和周末(星期六和星期天)。默认情况下,工作日在高峰期,一台机器从早上07:00到晚上06:30都是开机的,而在非高峰期则不开机。在高峰期和非高峰期,默认容量缓冲区设置为10%。默认情况下,周末计划表上没有机器开机。
注意:
Autoscale在进行计算时,只将那些在站点上注册的机器作为可用容量的一部分。“注册”是指机器可以使用或已经在使用。这样做可以确保只有能够接受用户会话的机器被包含在交付组的容量中。
用户界面
有三种类型的用户界面需要注意。
用户界面单会话操作系统静态交付组:
自动缩放用户界面单会话操作系统随机交付组:
自动缩放用户界面多会话操作系统交付组:
基于计划设置
自动定量的时间表.允许您添加、编辑、选择和删除日程安排。
天申请.突出显示应用于所选日程的天数。剩下的日子是灰色的。
编辑.让您按每小时或每半小时分配机器。您可以按数字和百分比分配机器。
注意:
- 该选项仅在多会话操作系统和单会话操作系统随机交付组的自动伸缩用户界面中可用。
- 旁边的直方图编辑绘制在不同时隙中运行的计算机的数量或百分比。
- 你可以指定的机器点击每个时间段编辑以上高峰时期.的菜单中选择的选项机器开始窗口中,您可以按数字或百分比分配机器。
- 对于多会话操作系统交付组,可以以每天30分钟的粒度增量分别设置运行机器的最小数量。对于单会话操作系统随机交付组,可以以每天60分钟的粒度增量分别设置运行机器的最小数量。
要定义自己的日程安排,请遵循以下步骤:
在时间表及高峰时间页面的管理自动定量窗口中,单击设置日程安排.
在编辑自动定量时间表窗口中,选择要应用于每个日程安排的日期。您也可以根据需要删除日程表。
点击完成以保存时间表并返回时间表及高峰时间页面。
选择适用的时间表并根据需要进行配置。
点击应用退出管理自动定量窗口或在其他页面上配置“设置”。
重要的是:
- 自动缩放不允许同一天重叠在不同的时间表。例如,在schedule1中选择“星期一”后,在schedule2中选择“星期一”,则在schedule1中自动清除“星期一”。
- 计划名称不区分大小写。
- 计划名称不能为空或只包含空格。
- 自动缩放允许字符之间的空格。
- 时间表名称不能包含以下字符:\ /;: #。* ?= < > |[](){} " ' '。
- 自动伸缩不支持重复的计划名称。为每个计划输入不同的名称。
- 自动缩放不支持空时间表。这意味着没有选中日期的计划不会被保存。
注意:
选中的时间表中包含的日期将高亮显示,而不包含的日期将以灰色显示。
基于负载的设置
高峰时期.允许您为所选日程中应用的天数定义峰值时间。您可以通过右键单击水平柱状图来做到这一点。在定义峰值时间之后,其余未定义的时间默认为非峰值时间。通过默认的,早上7:00到晚上7:00的时间段定义为所选时间表中包括的那些天的高峰时间。
重要的是:
- 对于多会话操作系统交付组,使用峰值时间条形图作为容量缓冲区。
- 对于单会话操作系统交付组,峰值时间柱状图用于容量缓冲区,并控制注销和/或断开连接后触发的操作。
- 您可以为多会话操作系统和单会话操作系统交付组以30分钟的粒度级别定义计划中包含的天数的高峰时间。或者,您也可以使用
New-BrokerPowerTimeScheme PowerShell
命令。有关更多信息,请参见代理PowerShell SDK命令.
缓冲能力.让您保持开机机器的缓冲区。值越小,成本越低。较大的值确保了优化的用户体验,因此在启动会话时,用户不必等待额外的机器启动。缺省情况下,高峰和非高峰时间的容量缓冲区为10%。如果您将容量缓冲区设置为0(0),那么在启动会话时,用户可能必须等待其他机器启动。自动缩放允许您分别确定高峰和非高峰时间的容量缓冲区。
各种各样的设置
提示:
- 您可以选择使用Broker PowerShell SDK配置各种设置。有关更多信息,请参见代理PowerShell SDK命令.
- 要理解与何时断开和何时注销设置相关的SDK命令,请参见https://citrix.github.io/delivery-controller-sdk/Broker/about_Broker_PowerManagement/#power-policy.
当断开连接.让您指定断开连接、锁定的计算机在会话断开后在挂起或关闭之前保持通电多长时间。如果指定了时间值,则当指定的断开连接时间过去时,机器将挂起或关闭,具体取决于您所配置的操作。默认情况下,不向断开连接的计算机分配任何操作。您可以为高峰时间和非高峰时间分别定义操作。为此,单击向下箭头,然后从菜单中选择以下选项之一:
- 不采取行动.如果选中,会话断开后的机器将保持通电状态。自动磅秤不会对它起作用。
暂停.如果选中,“自动缩放”将在指定的断开连接时间过去时暂停计算机而不关闭它。选择后,以下选项可用暂停.
- 当(分钟)内没有重连时.挂起的计算机在断开连接的用户重新连接时仍然可用,但对新用户不可用。要使计算机重新可用,以处理所有工作负载,请关闭它们。指定超时时间(以分钟为单位),之后自动缩放将关闭它们。
- 关闭.如果选中,“自动缩放”会在指定的断开连接时间过后关闭机器。
注意:
此选项仅在单会话操作系统随机和静态交付组的自动伸缩用户界面中可用。
当注销.让您指定在会话注销后,在挂起或关闭机器之前,机器保持通电的时间。如果指定了时间值,则当指定的注销时间过去时,机器将挂起或关闭,具体取决于您所配置的操作。默认情况下,不为注销的计算机分配任何操作。您可以为高峰时间和非高峰时间分别定义操作。为此,单击向下箭头,然后从菜单中选择以下选项之一:
- 不采取行动.如果选中,会话注销后的机器将保持通电状态。自动磅秤不会对它起作用。
- 暂停.如果选中,“自动缩放”将在指定的注销时间过去时暂停计算机而不关闭它。
- 关闭.如果选中,“自动缩放”会在指定的注销时间过后关闭机器。
注意:
此选项仅在单会话操作系统静态交付组的自动伸缩用户界面中可用。
断电延时.让您指定机器上电后在自动缩放关机前必须经过的最小分钟数。缺省情况下,下电延迟时间为30分钟。您可以将其设置在0-60分钟的范围内。有关更多信息,请参见下电延迟是如何工作的.
每小时的机器实例成本.让您指定与您的成本基础相匹配的每小时机器实例成本。每小时机器实例成本是所使用计算能力的每小时成本,单位为美元。此设置用于计算上述自动缩放设置节省的成本。要查看储蓄,请转到监控>趋势>机器使用情况.有关更多信息,请参见监控Autoscale-managed机器.
注意:
自动缩放不支持更改您的成本基础的货币单位。
电源管理单会话操作系统机器转换到不同的时间段,会话断开
重要的是:
- 这种增强只适用于会话断开的单会话操作系统机器。它不适用于已注销会话的单会话操作系统机器。
- 要使此增强生效,您需要为适用的交付组启用Autoscale。否则,在周期转换时不会触发断开电源策略操作。
在早期版本中,单会话操作系统机器过渡到一个动作(断开动作= "暂停”或“关闭)被要求保持电源开启。如果机器在一段时间内(高峰或非高峰时间)断开连接,而没有操作(断开操作= "没有什么”)是必需的。
从这个版本开始,当指定的断开连接时间过去时,自动缩放将挂起或关闭机器,具体取决于为目标时间段配置的断开连接操作。
以单会话操作系统下发组为例,配置如下电源策略:
- 集
PeakDisconnectAction
“什么” - 集
OffPeakDisconnectAction
“关闭” - 设置“OffPeakDisconnectTimeout”为“10”
注意:
有关断开操作电源策略的更多信息,请参见https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/about_Broker_PowerManagement/#power-policy而且https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/Get-BrokerDesktopGroup/.
在早期的版本中,单会话操作系统机器在高峰时间有一个会话断开,当它从高峰转换到非高峰时仍保持供电状态。从这个版本开始,OffPeakDisconnectAction
和OffPeakDisconnectTimeout
策略操作被应用到单会话操作系统机器的周期转换。因此,机器在转换到非峰值10分钟后关闭。
如果您想要恢复到前面的行为(即,在会话断开时从峰值转换到非峰值或从峰值转换到峰值的机器上不采取任何操作),请执行以下操作之一:
- 设置" LegacyPeakTransitionDisconnectedBehaviour "注册表值为1 (true;启用前一个行为)。默认情况下,该值为0 (false;在周期转换上触发断开电源策略操作)。
- 路径:HKEY_LOCAL_MACHINE \ \ Citrix \ DesktopServer软件
- 名称:LegacyPeakTransitionDisconnectedBehaviour
- 类型:REG_DWORD
- 数据:0 x00000001 (1)
- 配置设置
Set-BrokerServiceConfigurationData
PowerShell命令。例如:PS C: set - brokerserviceconfigationdata HostingManagement。LegacyPeakTransitionDisconnectedBehaviour -SettingValue真正的美元
一台机器必须满足以下条件,才能在周期转换时对其应用电源策略操作:
- 有一个断开连接的会话。
- 没有挂起的动力动作。
- 属于转换到不同时间段的单会话操作系统交付组。
- 具有在某个时间段(高峰或非高峰时间)断开连接的会话,并过渡到分配功率操作的时间段。
容量缓冲区如何工作
容量缓冲用于在当前需求中增加备用容量,以应对动态负载的增加。有两种情况需要注意:
对于多会话操作系统交付组,容量缓冲区定义为交付组总容量的百分比(负载指标)。有关负载索引的更多信息,请参见负荷指数.
对于单会话操作系统交付组,容量缓冲区定义为交付组总容量的百分比(按机器数量计算)。
注意:
在将Autoscale限制为标记机器的场景中,根据负载索引,容量缓冲区定义为交付组中标记机器总容量的百分比。
自动缩放允许您分别为高峰和非高峰时间设置容量缓冲区。容量缓冲区字段中的值越小,成本就越低,因为自动缩放启用的备用容量越少。更大的值可以确保优化的用户体验,这样用户在启动会话时就不必等待额外的机器启动。缺省情况下,容量缓冲区为10%。
重要的是:
当总备用容量下降到交付组总容量的“X”%以下时,容量缓冲区将导致机器启动。这样做可以保留所需百分比的备用容量。
下电延迟是如何工作的
使用关机延迟功能指定机器在自动缩放关机前必须经过的最小分钟数。这样做可以防止机器在不稳定的会话请求期间“翻转”打开和关闭。
注意:
- 对于单会话操作系统静态交付组,下电延迟同时适用于已分配和未分配的机器。
- 在某些场景中,您可能希望配置下电延迟不生效的时间段,以防止自动缩放下电相关的计算机。例如,配置一个时间段,以确保您的注销脚本可以在机器关闭之前成功完成。您可以使用PowerShell SDK。例如:
C:\PS> Set-BrokerDesktopGroup "MyDesktop" - settmentperiodbeforeautoshutdown
.有关更多信息,请参见代理PowerShell SDK命令.
多会话操作系统交付组
机器什么时候通电?
重要的是:
如果选择了调度,“自动伸缩”将启动调度中配置为启动的所有计算机。自动缩放在调度期间保持指定数量的机器通电,而不管负载如何。
当交付组中已上电的机器数量不再满足满足负载指数方面的缓冲区容量所需的缓冲区时,Autoscale将上电额外的机器。例如,假设您的交付组有20台机器,计划启动3台机器,这是基于计划的扩展的一部分,容量缓冲为20%。最终,4台机器将在无负载的情况下通电。这是因为需要一个4 x 10k的负载索引作为缓冲区;因此,至少需要接通4台机器。这种情况可能发生在高峰时间、机器负载增加、新会话启动以及向交付组添加新机器时。注意,自动缩放只对满足以下条件的机器上电:
机器没有处于维护模式。
正在运行计算机的管理程序未处于维护模式。
这些机器目前是关机的。
这些机器没有待定的动力动作。
机器什么时候断电?
重要的是:
- 如果选择了某个计划,“自动伸缩”将根据该计划关闭计算机。
- 自动缩放不会关闭计划中配置的要在计划期间上电的计算机。
当有足够多的机器来支持交付组的开机机器的目标数量(包括缓冲区)时,自动缩放会关闭额外的机器。这种情况可能发生在非高峰时间、机器负载减少和会话注销,以及从交付组中删除机器时。自动缩放只会关闭满足以下条件的机器:
运行这些机器的机器和管理程序没有处于维护模式。
机器目前已通电。
机器在启动后被注册为可用的或等待注册的。
机器没有活动会话。
这些机器没有待定的动力动作。
机器满足指定的关机延迟。这意味着机器至少已经启动了“X”分钟,其中“X”是为交付组指定的关机延迟时间。
示例场景
假设你有以下场景:
交付组配置.您想要Autoscale进行电源管理的交付组包含10台机器(M1到M10)。
自动定量配置
- 容量缓冲设置为10%。
- 所选调度中不包括任何机器。
该场景的执行顺序如下:
没有用户登录。
增加用户会话。
启动更多用户会话。
由于会话终止,用户会话负载减少。
用户会话负载进一步减少,直到只由内部资源处理会话负载。
有关自动缩放在上面的场景中如何工作的详细信息,请参阅下面。
- 无用户负载(初始状态)
- 一台机器(例如,M1)接通电源。由于配置了容量缓冲区,机器已上电。在本例中,10(机器数量)x 10,000(负载索引)x 10%(配置的容量缓冲区)等于10,000。因此,一台机器是接通电源的。
- 上电的机器(M1)的负载指标值处于基线负载(负载指标值等于0)。
- 第一个用户登录
- 会话被定向到托管在机器M1上。
- 已上电的机器M1的负载指数增加,机器M1不再处于基线负载。
- Autoscale开始启动额外的机器(M2),以满足配置的容量缓冲区的需求。
- 机器M2的负载指标值处于基线负载。
- 用户增加负载
- 会话在机器M1和M2之间实现负载平衡。因此,上电的机器(M1和M2)的负载指数增加。
- 从负荷指标来看,总闲置容量仍在1万以上。
- 机器M2的负载指标值不再处于基线负载。
- 启动更多用户会话
- 会话在机器(M1和M2)之间实现负载平衡。因此,上电的机器(M1和M2)的负载指数进一步增加。
- 当从负载指数来看,总空闲容量下降到10,000以下时,Autoscale开始启动额外的机器(M3)以满足需求,因为配置了容量缓冲区。
- 机器M3的负荷指标值处于基线负荷。
- 甚至会启动更多的用户会话
- 会话在机器(M1到M3)之间实现负载平衡。因此,上电的机器(M1到M3)的负载指数增加。
- 从负荷指标来看,总空闲容量在10000以上。
- 机器M3的负荷指标值不再处于基线负荷。
- 由于会话终止,用户会话负载减少
- 在用户从会话注销或空闲会话超时后,机器M1到M3上的空闲容量将被重用来承载其他用户启动的会话。
- 当总空闲容量增加到负载指数10,000以上的水平时,Autoscale将其中一台机器(例如,M3)置于排水状态。因此,由其他用户启动的会话不再定向到该机器,除非发生新的更改。例如,最终用户负载再次增加,或者其他机器的负载降低。
- 用户会话负载持续减少
- 在机器M3上的所有会话终止且指定的下电延迟超时后,自动缩放将机器M3下电。
- 在更多用户终止他们的会话后,已上电的机器(M1和M2)上的空闲容量将被重用来承载其他用户启动的会话。
- 当总空闲容量增加到负载指数10,000以上的水平时,Autoscale将其中一台机器(例如M2)置于排水状态。因此,由其他用户启动的会话不再定向到该机器。
- 用户会话负载持续减少,直到没有会话
- 在机器M2上的所有会话终止且指定的下电延迟超时后,自动缩放将机器M2下电。
- 已上电的机器(M1)的负载指标值处于基线负载。由于配置了容量缓冲区,Autoscale不会将机器M1置于排水状态。
注意:
对于多会话操作系统交付组,当用户注销会话时,对桌面的所有更改都会丢失。但是,如果配置了,特定于用户的设置将随用户配置文件一起漫游。
单会话操作系统随机交付组
容量缓冲区用于根据交付组中机器的总数保持一个启动的机器缓冲区,以适应突然的需求峰值。缺省情况下,容量缓冲区为交付组中机器总数的10%。
如果机器数量(包括容量缓冲区)超过当前上电的机器总数,则会上电更多的机器以满足需求。如果机器数量(包括容量缓冲区)小于当前上电的机器总数,则根据您配置的操作,关闭或挂起多余的机器。
示例场景
假设你有以下场景:
- 交付组配置.您想要Autoscale进行电源管理的交付组包含10台机器(M1到M10)。
- 自动定量配置
- 容量缓冲设置为10%。
- 所选调度中不包括任何机器。
该场景的执行顺序如下:
没有用户登录。
增加用户会话。
启动更多用户会话。
由于会话终止,用户会话负载减少。
用户会话负载进一步减少,直到只由内部资源处理会话负载。
有关自动缩放在上面的场景中如何工作的详细信息,请参阅下面。
- 无用户负载(初始状态)
- 一台机器(M1)接通电源。由于配置了容量缓冲区,机器已上电。在本例中,10(机器数量)x 10%(配置的容量缓冲区)等于1。因此,一台机器是接通电源的。
- 第一个用户登录
- 当用户第一次登录使用桌面时,将从托管在已上电的计算机上的桌面池中为用户分配一个桌面。在本例中,从机器M1为用户分配了一个桌面。
- Autoscale开始启动额外的机器(M2),以满足配置的容量缓冲区的需求。
- 第二个用户登录
- 从机器M2分配给用户一个桌面。
- Autoscale开始启动额外的机器(M3),以满足配置的容量缓冲区的需求。
- 第三个用户登录
- 从机器M3为用户分配了一个桌面。
- 由于配置了容量缓冲区,Autoscale开始启动另一台机器(M4)以满足需求。
- 用户注销
- 在用户注销或用户桌面超时后,释放的容量(例如M3)可作为缓冲区使用。因此,Autoscale开始关闭机器M4,因为容量缓冲区配置为10%。
- 更多的用户注销,直到没有用户
- 在更多用户注销后,Autoscale将关闭机器(例如,M2或M3)。
- 即使没有剩下的用户,Autoscale也不会关闭剩余的一台机器(例如,M1),因为该机器被保留为备用容量。
注意:
对于单会话操作系统随机交付组,当用户注销会话时,对桌面的所有更改都会丢失。但是,如果配置了,特定于用户的设置将随用户配置文件一起漫游。
单会话操作系统静态交付组
容量缓冲区用于根据交付组中未分配的机器总数保持未分配机器的启动缓冲区,以适应需求的突然峰值。默认情况下,容量缓冲区是交付组中未分配的机器总数的10%。
重要的是:
在分配了交付组中的所有机器之后,容量缓冲区不会对机器的启动或关闭起作用。
如果机器数量(包括容量缓冲区)超过当前上电的机器总数,则将上电其他未分配的机器以满足需求。如果机器数量(包括容量缓冲区)小于当前上电的机器总数,则根据您配置的操作,关闭或挂起多余的机器。
对于单会话操作系统静态交付组,自动伸缩:
- 仅当
AutomaticPowerOnForAssigned
属性设置为true。 - 如果机器处于关机状态,则在高峰期自动上电
AutomaticPowerOnForAssignedDuringPeak
属性设置为true。
要理解容量缓冲区如何在指定的机器上工作,请考虑以下问题:
- 容量缓冲区仅在交付组有一个或多个未分配的机器时才有效。
- 如果交付组没有未分配的机器(交付组中的所有机器都被分配了),则容量缓冲区在启动或关闭机器时不起作用。
- 的
AutomaticPowerOnForAssignedDuringPeak
属性确定所分配的计算机是否在高峰时间上电。如果设置为true,自动缩放会在高峰期保持机器通电。自动刻度也会给他们供电,即使他们是关机的。
示例场景
假设你有以下场景:
- 交付组配置.您想要Autoscale进行电源管理的交付组包含10台机器(M1到M10)。
- 自动定量配置
- 分配机器M1到M3,不分配机器M4到M10。
- 高峰和非高峰时间的容量缓冲设置为10%。
- 根据选定的时间表,自动缩放电源管理机器在上午09:00至下午06:00之间。
有关自动缩放在上面的场景中如何工作的详细信息,请参阅下面。
- 日程开始-上午9点
- 自动缩放电源的机器M1到M3。
- 由于配置了容量缓冲区,Autoscale将额外的机器(例如,M4)上电。未分配机器M4。
- 第一个用户登录
- 当用户第一次登录使用桌面时,将从托管在未分配的已上电计算机上的桌面池中为用户分配一个桌面。在本例中,为用户分配了一台来自机器M4的桌面。该用户的后续登录连接到第一次使用时分配的同一桌面。
- Autoscale开始启动另一台机器(例如M5),以满足由于配置了容量缓冲区而产生的需求。
- 第二个用户登录
- 从未分配的已上电的计算机中为用户分配一个桌面。在本例中,从机器M5为用户分配了一个桌面。该用户的后续登录连接到第一次使用时分配的同一桌面。
- Autoscale启动额外的机器(例如,M6),以满足配置的容量缓冲区的需求。
- 用户注销
- 当用户从桌面注销或桌面超时时,Autoscale会在上午09:00 -下午06:00期间保持机器M1到M5的开机状态。当这些用户下次登录时,他们连接到第一次使用时分配的同一个桌面。
- 未分配的计算机M6正等待为传入的未分配用户提供桌面。
- 截止时间-下午6点
- 下午6点,自动刻度关闭机器M1到M5。
- 由于配置了容量缓冲区,Autoscale将保持未分配的机器M6处于开机状态。这台机器正等着为进入的、未分配的用户提供桌面。
- 在交付组中,机器M6到M10是未分配的机器。