基于计划和基于负载的设置
Autoscale power如何管理机器
Autoscale根据选择的时间表打开和关闭机器。Autoscale允许您设置多个时间表,包括一周中的特定日期,并调整这些时间内可用的机器数量。如果您希望一组用户在特定日期的特定时间使用机器资源,Autoscale可以帮助您提供优化的体验。请注意,这些机器将在调度期间开机,无论它们上是否运行会话。
注意:
Autoscale支持任何电源管理的机器。
时间表是基于时区交付组的。若要更改时区,您可以更改交付组中的用户设置。有关更多信息,请参见管理交付组。
Autoscale有两个默认时间表:工作日(星期一至星期五)和周末(星期六和星期日)。默认情况下,工作日在高峰时段,只有一台机器在早上7点到下午6点30分开启,而在非高峰时段则没有。在高峰和非高峰时段,默认容量缓冲区设置为10%。默认情况下,周末日程安排不让任何机器通电。
注意:
Autoscale只处理那些在站点上注册的机器,将其作为计算中可用容量的一部分。“已注册”是指该机器可供使用或已经在使用。这样做可以确保只有可以接受用户会话的机器才包含在交付组的容量中。
用户界面
有三种类型的用户界面需要注意。
的用户界面单会话操作系统静态交付组:
的自动缩放用户界面单会话OS随机交付组:
的自动缩放用户界面多会话操作系统交付组:
基于计划设置
自动定量的时间表。允许您添加、编辑、选择和删除计划。
天申请。突出显示应用于所选日程安排的日期。剩下的日子都变成灰色了。
编辑。允许您按每小时或每半小时分配机器。你可以用数字和百分比来分配机器。
注意:
- 此选项仅在多会话操作系统和单会话操作系统随机交付组的Autoscale用户界面中可用。
- 旁边的直方图编辑绘制在不同时隙中运行的机器的数量或百分比。
- 你可以指定的机器在每个时间段点击编辑以上高峰时期。的菜单中选择的选项取决于启动机器窗口中,您可以按数字或百分比分配机器。
- 对于多会话OS交付组,您可以每天以30分钟的粒度增量分别设置运行机器的最小数量。对于单会话OS随机交付组,您可以在每天以60分钟的粒度增量分别设置运行机器的最小数量。
要定义自己的时间表,请遵循以下步骤:
在时间表及高峰时间网页管理自动定量窗口中,单击设置日程安排。
在编辑Autoscale时间表窗口中,选择要应用于每个计划的日期。您还可以根据需要删除计划。
点击完成保存时间表,然后返回时间表及高峰时间页面。
选择适用的计划并根据需要进行配置。
点击应用退出管理自动定量窗口或在其他页面上配置设置。
重要的是:
- Autoscale不允许同一天在不同的时间表中重叠。例如,在schedule1中选择“星期一”后,在schedule2中选择“星期一”,则schedule1中的“星期一”会自动清除。
- 时间表名称不区分大小写。
- 调度名称不能为空或只包含空格。
- 自动缩放允许字符之间有空格。
- 时间表名称不能包含以下字符:\ /;: #。* ?= < > |[](){} " ' '。
- Autoscale不支持重复的时间表名称。为每个计划输入不同的名称。
- Autoscale不支持空时间表。这意味着没有选择日期的时间表不会被保存。
注意:
所选时间表中包含的日期将突出显示,而未包含的日期将显示为灰色。
基于负载的设置
高峰时期。允许您定义在选定日程中应用的天数的高峰时间。可以通过右键单击水平条形图来实现。定义高峰时间后,其余未定义的时间默认为非高峰时间。通过默认的,上午7:00至晚上7:00的时段被定义为所选时间表中包含的天的高峰时间。
重要的是:
- 对于多会话OS交付组,峰值时间柱状图用于容量缓冲区。
- 对于单会话OS交付组,峰值时间柱状图用于容量缓冲,并控制注销和/或断开连接后触发的操作。
- 您可以为多会话OS和单会话OS交付组以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对它不起作用。
- 暂停。如果选择此选项,当指定的下线时间过去时,自动缩放将暂停机器而不将其关闭。
- 关闭。如果选择此选项,自动缩放将在指定的下线时间过后关闭机器。
注意:
此选项仅在单会话OS静态交付组的Autoscale用户界面中可用。
电源管理单会话操作系统机器转换到具有断开会话的不同时间段
重要的是:
- 此增强仅适用于会话断开的单会话OS机器。它不适用于具有注销会话的单会话操作系统机器。
- 为了使此增强生效,您需要为适用的交付组启用Autoscale。否则,在周期转换时不触发断开电源策略动作。
在较早的版本中,单会话操作系统机器过渡到一个时间段,其中一个操作(disconnect action= "暂停"或"关闭)需要保持开机状态。如果机器在一段时间内(高峰或非高峰时间)断开连接,而没有任何操作(disconnect action= "没有什么)是必需的。
从此版本开始,当指定的断开连接时间过去时,Autoscale将暂停或关闭机器,具体取决于为目标时间段配置的断开连接操作。
以单会话OS交付组为例,配置如下电源策略:
- 集
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/。
在较早的版本中,在高峰时间会话断开的单会话OS机器在从高峰切换到非高峰时仍然是开机的。从这个版本开始OffPeakDisconnectAction
和OffPeakDisconnectTimeout
策略操作在周期转换时应用于单会话OS机器。因此,机器在转换到非高峰后10分钟关闭电源。
如果您想恢复到以前的行为(即,在会话断开的情况下从高峰切换到非高峰或从高峰切换到高峰的机器上不采取任何操作),请执行以下操作之一:
- 将“LegacyPeakTransitionDisconnectedBehaviour”注册表值设置为1 (true;启用前面的行为)。缺省值为0 (false;在周期转换时触发断开电源策略动作)。
- 路径:HKEY_LOCAL_MACHINE \ \ Citrix \ DesktopServer软件
- 名称:LegacyPeakTransitionDisconnectedBehaviour
- 类型:REG_DWORD
- 数据:0x00000001 (1)
- 配置该设置
Set-BrokerServiceConfigurationData
PowerShell命令。例如:PS C:\> set - brokerservicecconfigurationdata HostingManagement。legacypeaktransitiondisconnectedbehavior -SettingValue $true
一台机器必须满足以下条件,才能在周期转换时对其应用电力策略动作:
- 会话已断开。
- 没有悬而未决的电源动作。
- 属于转换到不同时间段的单会话OS交付组。
- 具有在特定时间段(高峰或非高峰时间)断开连接的会话,并过渡到分配电源操作的时间段。
容量缓冲是如何工作的
容量缓冲用于在当前需求的基础上增加备用容量,以应对动态负载的增加。有两种情况需要注意:
对于多会话OS交付组,根据负载指数将容量缓冲区定义为交付组总容量的百分比。有关负载索引的详细信息,请参见负荷指数。
对于单会话OS交付组,容量缓冲区定义为交付组总容量的百分比(以机器数量表示)。
注意:
在将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)置于drain状态。因此,除非发生新的更改,否则其他用户启动的会话不再定向到该计算机。例如,终端用户的负载再次增加,或者其他机器的负载变得最少。
- 用户会话负载继续下降
- 在机器M3上的所有会话被终止并且指定的关机延迟超时后,Autoscale关闭机器M3的电源。
- 在更多用户终止会话之后,打开的机器(M1和M2)上的空闲容量将被重用,用于承载其他用户启动的会话。
- 当总备用容量在负载指数方面增加到10,000以上时,Autoscale将其中一台机器(例如M2)置于耗尽状态。因此,由其他用户启动的会话不再定向到该计算机。
- 用户会话负载继续减少,直到没有会话
- 在机器M2上的所有会话被终止并且指定的关机延迟超时后,Autoscale关闭机器M2的电源。
- 已开机的机器(M1)的负载指标值处于基线负载。由于配置了容量缓冲区,Autoscale不会将机器M1置于耗尽状态。
注意:
对于多会话的操作系统交付组,当用户注销会话时,对桌面的所有更改都会丢失。但是,如果进行了配置,则特定于用户的设置将与用户配置文件一起漫游。
单会话OS随机交付组
容量缓冲区用于根据交付组中机器的总数保持一个启动的机器缓冲区,以适应突然的需求高峰。默认情况下,容量缓冲区是交付组中机器总数的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%。
重要的是:
在分配了交付组中的所有机器之后,容量缓冲区在打开或关闭机器时不起作用。
如果机器的数量(包括容量缓冲区)超过了当前启动的机器的总数,则会启动额外的、未分配的机器以满足需求。如果机器的数量(包括容量缓冲区)少于当前打开的机器的总数,则会关闭或挂起多余的机器,具体取决于您配置的操作。
对于单会话OS静态交付组,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
- Autoscale为机器M1到M3供电。
- 由于配置了容量缓冲区,Autoscale启动了另一台机器(例如M4)。机器M4未分配。
- 第一个用户登录
- 用户第一次登录使用桌面时,将从托管在未分配的开机机器上的桌面池中为用户分配一个桌面。在本例中,用户从机器M4分配了一个桌面。该用户的后续登录连接到第一次使用时分配的同一桌面。
- 由于配置了容量缓冲区,Autoscale开始启动另一台机器(例如M5)以满足需求。
- 另一个用户登录
- 用户从未分配的开机机器中分配一个桌面。在本例中,为用户分配了一台来自机器M5的桌面。该用户的后续登录连接到第一次使用时分配的同一桌面。
- 由于配置了容量缓冲区,Autoscale开始启动另一台机器(例如M6)以满足需求。
- 用户注销
- 当用户从桌面注销或桌面超时时,Autoscale会在上午09:00至下午06:00期间保持机器M1到M5的开机状态。当这些用户下次登录时,他们连接到第一次使用时分配的同一桌面。
- 未分配的机器M6正在等待为传入的未分配用户提供桌面服务。
- 行程结束-下午6时
- 在06:00 PM, Autoscale关闭机器M1到M5的电源。
- Autoscale保持未分配的机器M6上电,因为配置了容量缓冲区。该机器正在等待为未分配的用户提供桌面。
- 在交付组中,机器M6到M10是未分配的机器。