基于计划和基于负载的设置
Autoscale™ 如何管理计算机电源
Autoscale 根据所选计划开启和关闭计算机电源。Autoscale 允许您设置多个计划,包括一周中的特定日期,并调整这些时间段内可用计算机的数量。如果您希望一组用户在特定日期的特定时间使用计算机资源,Autoscale 有助于提供优化的体验。请注意,无论这些计算机上是否正在运行会话,它们都将在计划期间保持开机状态。
注意:
Autoscale 支持任何电源管理的计算机。
计划基于交付组的时区。要更改时区,您可以在交付组中更改用户设置。有关详细信息,请参阅管理交付组。
Autoscale 有两个默认计划:工作日(星期一至星期五)和周末(星期六和星期日)。默认情况下,工作日计划在高峰时段从上午 07:00 到下午 06:30 保持一台计算机开机,在非高峰时段不保持任何计算机开机。在高峰时段和非高峰时段,默认容量缓冲区设置为 10%。默认情况下,周末计划不保持任何计算机开机。
注意:
Autoscale 在其计算中仅将已向站点注册的计算机视为可用容量的一部分。“已注册”表示计算机可供使用或已在使用中。这样做可确保只有能够接受用户会话的计算机才包含在交付组的容量中。
用户界面
有三种类型的用户界面需要注意。
单会话操作系统静态交付组的用户界面:


Autoscale 单会话操作系统随机交付组的用户界面:


自动缩放用户界面,用于 多会话操作系统交付组:


基于计划的设置
自动缩放计划。允许您添加、编辑、选择和删除计划。
应用日期。突出显示您应用于所选计划的日期。其余日期显示为灰色。
编辑。允许您按每小时或每半小时分配计算机。您可以按数量和百分比分配计算机。
注意:
- 此选项仅在用于多会话操作系统和单会话操作系统随机交付组的自动缩放用户界面中可用。
- 编辑旁边的直方图绘制了在不同时间段内运行的计算机数量或百分比。
- 您可以通过单击高峰时段上方的编辑来分配计算机到每个时间段。根据您在要启动的计算机窗口中从菜单中选择的选项,您可以按数量或百分比分配计算机。
- 对于多会话操作系统交付组,您可以单独设置每天以 30 分钟的粒度增量运行的最小计算机数量。对于单会话操作系统随机交付组,您可以单独设置每天以 60 分钟的粒度增量运行的最小计算机数量。
要定义您自己的计划,请按照以下步骤操作:
-
在“管理自动缩放”窗口的“计划和高峰时间”页面上,单击“设置计划”。
-
在“编辑自动缩放计划”窗口中,选择要应用于每个计划的日期。您还可以根据需要删除计划。
-
单击“完成”以保存计划并返回到“计划和高峰时间”页面。
-
选择适用的计划并根据需要进行配置。
-
单击“应用”以退出“管理自动缩放”窗口或配置其他页面上的设置。
重要提示:
- 自动缩放不允许同一天在不同计划中重叠。例如,如果在 schedule1 中选择了星期一之后又在 schedule2 中选择了星期一,则 schedule1 中的星期一将自动清除。
- 计划名称不区分大小写。
- 计划名称不能为空或仅包含空格。
- 自动缩放允许字符之间存在空格。
- 计划名称不得包含以下字符:\ / ; : # . * ? = < > | [ ] ( ) { } “ ‘ `。
- 自动缩放不支持重复的计划名称。为每个计划输入不同的名称。
- 自动缩放不支持空计划。这意味着未选择日期的计划不会保存。
注意:
所选计划中包含的日期会突出显示,而未包含的日期则会灰显。
基于负载的设置
高峰时段。允许您定义所选计划中适用日期的高峰时段。您可以通过右键单击水平条形图来执行此操作。定义高峰时段后,剩余的未定义时间默认为非高峰时段。默认情况下,上午 7:00 到晚上 7:00 的时间段被定义为所选计划中包含日期的高峰时段。
重要提示:
- 对于多会话操作系统交付组,高峰时段条形图用于容量缓冲区。
- 对于单会话操作系统交付组,高峰时段条形图用于容量缓冲区,并控制注销和/或断开连接后要触发的操作。
- 您可以为多会话操作系统和单会话操作系统交付组,以 30 分钟的粒度级别定义计划中包含日期的高峰时段。或者,您可以使用
New-BrokerPowerTimeScheme PowerShell命令。有关详细信息,请参阅Broker PowerShell SDK 命令。
容量缓冲区。允许您保留一个已开机计算机的缓冲区。较小的值会降低成本。较大的值可确保优化的用户体验,以便在启动会话时,用户无需等待额外的计算机开机。默认情况下,高峰时段和非高峰时段的容量缓冲区为 10%。如果将容量缓冲区设置为 0(零),则用户在启动会话时可能需要等待额外的计算机开机。Autoscale 允许您分别为高峰时段和非高峰时段确定容量缓冲区。
其他各项设置
提示:
- 您可以选择使用 Broker PowerShell SDK 来配置杂项设置。如需了解更多信息,请参阅Broker PowerShell SDK 命令。
- 要了解与“断开连接时”和“注销时”设置相关的 SDK 命令,请参阅 https://citrix.github.io/delivery-controller-sdk/Broker/about_Broker_PowerManagement/#power-policy。
断开连接时。允许您指定断开连接的锁定计算机在会话断开连接后保持开机状态多长时间,然后才暂停或关机。如果指定了时间值,则当指定的断开连接时间过去后,计算机将暂停或关机,具体取决于您配置的操作。默认情况下,未对断开连接的计算机分配任何操作。您可以分别为高峰时段和非高峰时段定义操作。为此,请单击向下箭头,然后从菜单中选择以下选项之一:
- 无操作。如果选择此项,则计算机在会话断开连接后仍保持开机状态。Autoscale 不会对其执行任何操作。
-
暂停。如果选择此项,则当指定的断开连接时间过去后,Autoscale 会暂停计算机而不会将其关机。选择“暂停”后,以下选项将变为可用。
- 在(分钟)内无重新连接时。暂停的计算机在重新连接时仍可供断开连接的用户使用,但不可供新用户使用。要使计算机再次可用以处理所有工作负载,请将其关机。指定超时时间(以分钟为单位),Autoscale 将在此时间后将其关机。
- 关机。如果选中,当指定的断开连接时间过去后,Autoscale 会关闭计算机。
注意:
此选项仅在 Autoscale 用户界面中适用于单会话操作系统随机和静态交付组。
注销时。允许您指定会话注销后计算机保持开机状态的时长,然后才挂起或关机。如果指定了时间值,则当指定的注销时间过去后,计算机将根据您配置的操作挂起或关机。默认情况下,未对已注销的计算机分配任何操作。您可以分别为高峰时段和非高峰时段定义操作。为此,请单击向下箭头,然后从菜单中选择以下选项之一:
- 无操作。如果选中,会话注销后计算机将保持开机状态。Autoscale 不会对其执行任何操作。
- 挂起。如果选中,当指定的注销时间过去后,Autoscale 会暂停计算机,而不会将其关机。
- 关机。如果选中,当指定的注销时间过去后,Autoscale 会关闭计算机。
注意:
此选项仅在 Autoscale 用户界面中适用于单会话操作系统静态交付组。
电源管理单会话操作系统计算机,这些计算机在会话断开连接的情况下过渡到不同的时间段
重要提示:
- 此增强功能仅适用于具有断开连接会话的单会话操作系统计算机。它不适用于具有已注销会话的单会话操作系统计算机。
- 要使此增强功能生效,您需要为适用的交付组启用 Autoscale。否则,在时间段转换时不会触发断开连接电源策略操作。
在早期版本中,单会话操作系统计算机在过渡到需要执行操作(断开连接操作为“挂起”或“关机”)的时间段时,会保持开机状态。如果计算机在不需要执行任何操作(断开连接操作为“无”)的时间段(高峰或非高峰时段)断开连接,则会出现这种情况。
从本版本开始,当指定的断开连接时间过去后,Autoscale 会根据为目标时间段配置的断开连接操作,挂起或关闭计算机。
例如,您为单会话操作系统交付组配置以下电源策略:
- 请务必将
PeakDisconnectAction的值设定为“Nothing” - 将
OffPeakDisconnectAction设置为“关机” - Set ‘OffPeakDisconnectTimeout’ to “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;在时段转换时触发断开连接电源策略操作)。
- Path: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\DesktopServer
- Name: LegacyPeakTransitionDisconnectedBehaviour
- Type: REG_DWORD
- 数据:0x00000001 (1)
- 使用
Set-BrokerServiceConfigurationDataPowerShell 命令配置设置。例如:PS C:\> Set-BrokerServiceConfigurationData HostingManagement.LegacyPeakTransitionDisconnectedBehaviour -SettingValue $true
在周期转换时对其应用电源策略操作之前,计算机必须满足以下条件:
- 具有断开连接的会话。
- 没有待处理的电源操作。
- 属于一个单会话操作系统交付组,该交付组转换到不同的时间段。
- 具有在特定时间段(高峰或非高峰时段)断开连接的会话,并转换到分配了电源操作的周期。
容量缓冲区的工作原理
容量缓冲区用于在当前需求中添加备用容量,以应对动态负载增加。需要注意以下两种情况:
-
对于多会话操作系统交付组,容量缓冲区定义为交付组总容量(以负载指数计)的百分比。有关负载指数的更多信息,请参阅负载指数。
-
对于单会话操作系统交付组,容量缓冲区被定义为交付组总容量(以计算机的数量来计算)的百分比。
注意:
在将 Autoscale 限制为标记计算机的场景中,容量缓冲区定义为交付组中标记计算机总容量(以负载指数计)的百分比。
Autoscale 允许您分别为高峰时段和非高峰时段设置容量缓冲区。容量缓冲区字段中的值越小,成本越低,因为 Autoscale 启动的备用容量越少。值越大,可确保优化的用户体验,从而使用户在启动会话时无需等待额外的计算机启动。默认情况下,容量缓冲区为 10%。
重要提示:
当总备用容量降至交付组总容量的“X”百分比以下时,容量缓冲区会导致计算机启动。这样做可以保留所需百分比的备用容量。
多会话操作系统交付组
机器何时会启动?
重要提示:
如果选择了计划,Autoscale 会启动计划中配置为启动的所有计算机。无论负载如何,Autoscale 都会在计划期间保持指定数量的计算机处于开机状态。
当交付组中已开机计算机的数量无法满足负载指数方面的缓冲容量所需缓冲区时,Autoscale 会启动额外的计算机。例如,假设您的交付组有 20 台计算机,并且有 3 台计算机计划作为基于计划的扩展的一部分启动,容量缓冲区为 20%。最终,在没有负载的情况下,将有 4 台计算机启动。这是因为需要 4 x 10k 的负载指数作为缓冲区;因此,至少需要启动 4 台计算机。这种情况可能发生在高峰时段、计算机负载增加、新会话启动以及向交付组添加新计算机时。请注意,Autoscale 仅启动符合以下条件的计算机:
-
计算机未处于维护模式。
-
承载这些计算机的管理程序未处于维护模式。
-
这些计算机当前已关机。
-
计算机没有待处理的电源操作。
机器何时会关闭?
重要提示:
- 如果选择了计划,Autoscale 会根据计划关闭计算机。
- Autoscale 不会关闭计划中配置为在计划期间启动的计算机。
当有足够多的计算机来支持交付组中目标数量的已开机计算机(包括缓冲区)时,Autoscale 会关闭额外的计算机。这种情况可能发生在非高峰时段、计算机负载减少、会话注销以及从交付组中移除计算机时。Autoscale 仅关闭符合以下条件的计算机:
-
这些计算机以及承载这些计算机的管理程序均未处于维护模式。
-
这些计算机当前已开机。
-
这些机器在启动后,会被注册为可用状态,或者处于等待注册的状态。
-
这些机器上没有活动会话。
-
机器没有待处理的电源操作。
-
这些机器满足所指定的关机延迟条件。这意味着这些机器已至少开机“X”分钟,其中“X”是为交付组指定的关机延迟时间。
示例场景
假设您面临着以下这种场景:
-
交付组配置。您希望 Autoscale 进行电源管理的交付组包含 10 台计算机(M1 到 M10)。
-
自动缩放配置
- 容量缓冲区设置为 10%。
- 所选计划中不包含任何计算机。
此场景将按照以下顺序进行执行:
-
没有用户登录。
-
用户会话增加。
-
更多用户会话启动。
-
由于会话终止,用户会话负载降低。
-
用户会话负载进一步降低,直到会话负载仅由本地资源处理。
有关 Autoscale 在上述场景中如何工作的详细信息,请参见下文。
- 无用户负载(初始状态)
- 一台计算机(例如 M1)已开机。计算机开机是因为配置了容量缓冲区。在这种情况下,10(计算机数量)x 10,000(负载指数)x 10%(配置的容量缓冲区)等于 10,000。因此,一台计算机已开机。
- 已开机计算机 (M1) 的负载指数值处于基线负载(负载指数等于 0)。
- 第一个用户登录
- 会话被定向到计算机 M1 上托管。
- 已开机计算机 M1 的负载指数增加,并且计算机 M1 不再处于基线负载。
- Autoscale 开始开机一台额外的计算机 (M2),以满足因配置的容量缓冲区而产生的需求。
- 计算机 M2 的负载指数值处于基线负载。
- 用户增加负载
- 会话在计算机 M1 和 M2 之间进行负载平衡。因此,已开机计算机(M1 和 M2)的负载指数增加。
- 就负载指数而言,总备用容量仍高于 10,000。
- 计算机 M2 的负载指数值不再处于基线负载。
- 更多用户会话启动
- 会话在机器(M1 和 M2)之间进行负载平衡。因此,已开机机器(M1 和 M2)的负载指数进一步增加。
- 当总备用容量的负载指数降至 10,000 以下时,Autoscale 会根据配置的容量缓冲区启动一台额外的机器 (M3) 以满足需求。
- 机器 M3 的负载指数值处于基线负载。
- 更多用户会话启动
- 会话在机器(M1 到 M3)之间进行负载平衡。因此,已开机机器(M1 到 M3)的负载指数增加。
- 总备用容量的负载指数高于 10,000。
- 机器 M3 的负载指数值不再处于基线负载。
- 由于会话终止,用户会话负载降低
- 用户从会话注销或空闲会话超时后,机器 M1 到 M3 上释放的容量将重新用于托管其他用户启动的会话。
- 当总备用容量的负载指数增加到 10,000 以上时,Autoscale 会将其中一台机器(例如 M3)置于耗尽状态。因此,除非发生新的变化,否则其他用户启动的会话将不再定向到该机器。例如,最终用户负载再次增加或其它机器负载最低。
- 用户会话负载持续降低
- 机器 M3 上的所有会话终止且指定的关机延迟超时后,Autoscale 会关闭机器 M3。
- 更多用户终止会话后,已开机机器(M1 和 M2)上释放的容量将重新用于托管其他用户启动的会话。
- 当总备用容量的负载指数增加到 10,000 以上时,Autoscale 会将其中一台机器(例如 M2)置于耗尽状态。因此,其他用户启动的会话将不再定向到该机器。
- 用户会话负载持续降低,直到没有会话
- 在机器 M2 上的所有会话终止且指定的关机延迟超时后,Autoscale 会关闭机器 M2。
- 已开机机器 (M1) 的负载指数值处于基线负载。由于配置了容量缓冲区,Autoscale 不会将机器 M1 置于耗尽状态。
注意:
对于多会话操作系统交付组,当用户注销会话时,对桌面所做的所有更改都将丢失。但是,如果已配置,用户特定的设置会随用户配置文件一起漫游。
单会话操作系统随机交付组
容量缓冲区用于通过根据交付组中的机器总数保持一定数量的开机机器来应对需求的突然激增。默认情况下,容量缓冲区是交付组中机器总数的 10%。
如果计算机数量(包括容量缓冲区)超过当前已开机计算机的总数,则会启动额外的计算机以满足需求。如果计算机数量(包括容量缓冲区)少于当前已开机计算机的总数,则多余的计算机将根据您配置的操作关机或挂起。
示例场景
假设您面临以下场景:
- 交付组配置。您希望 Autoscale 管理电源的交付组包含 10 台机器(M1 到 M10)。
-
自动缩放配置
- 容量缓冲区设置为 10%。
- 所选计划中不包含任何机器。
该场景将按照以下顺序执行:
-
没有用户登录。
-
用户会话增加。
-
更多用户会话启动。
-
由于会话终止,用户会话负载降低。
-
用户会话负载进一步降低,直到会话负载仅由本地资源处理。
有关 Autoscale 在上述场景中如何工作的详细信息,请参见下文。
- 无用户负载(初始状态)
- 一台计算机 (M1) 已开机。由于配置的容量缓冲区,该计算机已开机。在这种情况下,10(计算机数量)x 10%(配置的容量缓冲区)等于 1。因此,一台计算机已开机。
- 第一个用户登录
- 用户首次登录以使用桌面时,会从已开机计算机上托管的桌面池中为其分配一个桌面。在这种情况下,用户会从计算机 M1 分配一个桌面。
- 由于配置的容量缓冲区,Autoscale 开始开机一台额外的计算机 (M2) 以满足需求。
- 第二个用户登录
- 用户会从计算机 M2 分配一个桌面。
- 由于配置的容量缓冲区,Autoscale 开始开机一台额外的计算机 (M3) 以满足需求。
- 第三个用户登录
- 用户会从计算机 M3 分配一个桌面。
- Autoscale 开始启动一台额外的机器 (M4) 以满足需求,因为配置了容量缓冲区。
- 用户注销
- 用户注销或用户桌面超时后,释放的容量(例如 M3)可用作缓冲区。因此,Autoscale 开始关闭机器 M4,因为容量缓冲区配置为 10%。
- 更多用户注销,直到没有用户
- 更多用户注销后,Autoscale 会关闭机器(例如 M2 或 M3)。
- 即使没有用户,Autoscale 也不会关闭剩余的一台机器(例如 M1),因为该机器被保留为备用容量。
注意:
对于单会话操作系统随机交付组,当用户注销会话时,对桌面所做的所有更改都将丢失。但是,如果配置,用户特定的设置会随用户配置文件一起漫游。
单会话操作系统静态交付组
容量缓冲区用于通过保持基于交付组中未分配机器总数的已开机未分配机器缓冲区来适应需求的突然激增。默认情况下,容量缓冲区是交付组中未分配机器总数的 10%。
重要提示:
交付组中的所有机器都分配后,容量缓冲区在开机或关机方面不起作用。
如果机器的数量(包括容量缓冲区)超出了当前已开机机器的总数,那么系统将启动额外的、尚未分配的机器以满足需求。反之,如果机器的数量(包括容量缓冲区)少于当前已开机机器的总数,则多余的机器会根据您所配置的操作被关机或挂起。
对于单会话操作系统静态交付组,Autoscale:
- 仅当适用的单会话操作系统交付组的
AutomaticPowerOnForAssigned属性设置为 true 时,才在高峰时段开启已分配的机器,在非高峰时段关闭。 - 如果机器已关机,并且其所属的交付组的
AutomaticPowerOnForAssignedDuringPeak属性设置为 true,则在高峰时段自动开机。
要了解容量缓冲区如何与已分配的计算机配合使用,请考虑以下事项:
- 容量缓冲区仅在交付组拥有一台或多台未分配的计算机时才起作用。
- 如果交付组没有未分配的计算机(交付组中的所有计算机都已分配),则容量缓冲区在计算机开机或关机方面不起作用。
-
AutomaticPowerOnForAssignedDuringPeak属性决定了在高峰时段是否开启已分配的计算机。如果将其设置为 true,Autoscale 会在高峰时段保持计算机开机。即使计算机已关机,Autoscale 也会将其开机。
示例场景
假设您遇到的是以下情况:
- 交付组配置。您希望 Autoscale 进行电源管理的交付组包含 10 台计算机(M1 到 M10)。
-
自动缩放配置
- 计算机 M1 到 M3 已分配,计算机 M4 到 M10 未分配。
- 高峰时段和非高峰时段的容量缓冲区设置为 10%。
- 根据所选计划,Autoscale 在上午 09:00 到下午 06:00 之间管理计算机电源。
有关 Autoscale 在上述场景中如何工作的详细信息,请参见下文。
- 计划开始 – 上午 09:00
- 自动缩放启动计算机 M1 到 M3。
- Autoscale 开启一台额外计算机(例如,M4),因为配置了容量缓冲区。计算机 M4 未分配。
- 第一个用户登录
- 用户首次登录以使用桌面时,会为该用户分配一个桌面,该桌面来自托管在未分配的已开机计算机上的桌面池中。在此情况下,会为该用户分配来自计算机 M4 的桌面。该用户后续登录时,会连接到首次使用时分配的同一桌面。
- Autoscale 开始开启一台额外计算机(例如,M5),以满足需求,因为配置了容量缓冲区。
- 第二个用户登录
- 会为该用户分配一个桌面,该桌面来自未分配的已开机计算机。在此情况下,会为该用户分配来自计算机 M5 的桌面。该用户后续登录时,会连接到首次使用时分配的同一桌面。
- Autoscale 开始开启一台额外计算机(例如,M6),以满足需求,因为配置了容量缓冲区。
- 用户注销
- 当用户从其桌面注销或桌面超时时,Autoscale 会使计算机 M1 到 M5 在上午 09:00 到下午 06:00 之间保持开机状态。当这些用户下次登录时,他们会连接到首次使用时分配的同一桌面。
- 未分配的计算机 M6 正在等待为传入的未分配用户提供桌面服务。
- 计划结束 – 下午 06:00
- 下午 06:00,Autoscale 关闭计算机 M1 到 M5。
- Autoscale 会使未分配的计算机 M6 保持开机状态,因为配置了容量缓冲区。该计算机正在等待为传入的未分配用户提供桌面服务。
- 在交付组中,计算机 M6 到 M10 是未分配的计算机。