Citrix虚拟应用和桌面服务

自动定量

Autoscale是Citrix虚拟应用和桌面服务独有的特性,提供一致的高性能解决方案,主动管理您的机器。它的目标是平衡成本和用户体验。自动缩放集成了已弃用的智能缩放技术管理控制台的电源管理解决方案。

Autoscale支持在一个交付组中对所有注册的单会话和多会话OS机器进行主动电源管理。

支持VDA托管平台

Autoscale支持虚拟应用程序和桌面服务支持的所有平台。这包括各种基础设施平台,包括Citrix Hypervisor、Amazon Web服务、谷歌云平台、Microsoft Azure资源管理器、VMware vSphere等等。有关受支持平台的完整列表,请参见系统需求Citrix虚拟应用和桌面服务。

支持工作负载

Autoscale支持多会话操作系统和单会话操作系统交付组。有三个用户界面需要注意:

  • 多会话OS交付组的自动缩放用户界面(以前的RDS交付组)

  • 单会话OS随机(池)交付组(以前是池的VDI交付组)的自动缩放用户界面

  • 单会话OS静态交付组(以前是静态VDI交付组)的自动缩放用户界面

有关不同交付组的用户界面的更多信息,请参见自动定量用户界面

好处

Autoscale特性提供以下好处:

  • 为您提供一个单一的、一致的机制来管理交付组中的机器。

  • 通过使用基于负载或基于计划的电源管理(或两者结合使用)来驱动机器,确保可用性并控制成本。

  • 要监视成本节约和容量利用率等指标,并启用通知,请使用导演,可于监控选项卡。

观看一段2分钟的视频

下面的视频提供了自动缩放的快速浏览。

自动定量特性

自动定量功能包括:

自动定量用户界面

有三种类型的自动缩放用户界面需要注意。

的自动缩放用户界面单会话OS静态下发组

自动缩放单会话操作系统静态一般

的自动缩放用户界面单会话OS随机交付组

自动缩放单会话操作系统随机一般

的自动缩放用户界面多会话OS交付组

自动缩放多会话操作系统-一般

为交付组启用或禁用自动缩放

注意:

创建交付组时,默认禁用自动缩放功能。

  1. 管理> Full Configuration中,选择交付组在左窗格中。

  2. 选择需要管理的下发组,单击管理自动定量

    云用户界面

  3. 管理自动定量页面,选择启用自动定量复选框启用“自动缩放”。启用“自动缩放”后,将启用页面上的选项。

    云用户界面

  4. 禁用“自动缩放”,请清除自动定量复选框。页面上的选项变为灰色,表示对所选交付组禁用自动缩放功能。

重要的是:

  • 如果禁用Autoscale,由Autoscale管理的所有计算机将保持禁用时的状态。
  • 禁用Autoscale后,处于排水状态的机器将脱离排水状态。有关排水状态的更多信息,请参见排水状态

监测指标

控件监视autoscale管理的计算机的以下指标监控选项卡。

  • 机器的使用

  • 估计储蓄

  • 为机器和会话发出警报通知

  • 机器状态

  • 负载评估趋势

有关指标的更多信息,请参见监控Autoscale-managed机器

代理PowerShell SDK命令

您可以使用Broker PowerShell SDK为交付组配置Autoscale。使用PowerShell命令配置自动缩放,必须使用远程PowerShell SDK 7.21.0.12或更高版本。有关远程PowerShell SDK的更多信息,请参见sdk和api

Set-BrokerDesktopGroup

禁用或启用现有的BrokerDesktopGroup或更改其设置。有关此cmdlet的更多信息,请参见https://citrix.github.io/delivery-controller-sdk/Broker/Set-BrokerDesktopGroup/

New-BrokerPowerTimeScheme

为交付组创建brokerpowertimesscheme。有关此cmdlet的更多信息,请参见https://citrix.github.io/delivery-controller-sdk/Broker/New-BrokerPowerTimeScheme/

例子

有关如何使用PowerShell cmdlets的详细信息,请参阅下面的示例。

启用自动定量

  • 假设您希望为名为“MyDesktop”的交付组启用自动缩放功能。使用Set-BrokerDesktopGroupPowerShell命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -AutoscalingEnabled $true

分别在高峰和低谷配置容量缓冲区

  • 假设您希望为名称为“MyDesktop”的交付组设置高峰时间的容量缓冲区为20%,非高峰时间为10%。使用Set-BrokerDesktopGroupPowerShell命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakBufferSizePercent 20 -OffPeakBufferSizePercent 10

配置断开连接超时

  • 假设您希望将名称为“MyDesktop”的交付组的断开连接超时设置为高峰时间的60分钟,非高峰时间的30分钟。使用Set-BrokerDesktopGroupPowerShell命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakDisconnectTimeout 60 -OffPeakDisconnectTimeout 30

配置注销超时

  • 假设您希望为名为“MyDesktop”的交付组设置注销时超时,高峰时间为60分钟,非高峰时间为30分钟。使用Set-BrokerDesktopGroupPowerShell命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PeakLogOffTimeout 60 -OffPeakLogOffTimeout 30

配置下电延迟

  • 假设您希望将名称为“MyDesktop”的交付组的关机延迟设置为15分钟。使用Set-BrokerDesktopGroupPowerShell命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -PowerOffDelay

配置下电延时不生效的时间段

  • 假设您希望关机延迟在名称为“MyDesktop”的交付组30分钟后才生效。使用Set-BrokerDesktopGroupPowerShell命令。例如:
    • C:\PS> Set-BrokerDesktopGroup "MyDesktop" -SettlementPeriodBeforeAutoShutdown

配置机器实例成本

  • 假设您希望将名称为“MyDesktop”的交付组的机器实例每小时成本设置为0.2美元。使用Set-BrokerDesktopGroupPowerShell命令。例如:
    • PS C:\> Set-BrokerDesktopGroup "MyDesktop" -MachineCost 0.2

创建一个功率时间计划

  • 假设为UID为3的交付组创建电源时间方案。新方案涵盖周末、周一和周二。早上8点到下午6点半的时间段被定义为该计划所包括的天数的高峰时间。在高峰时间,池大小(保持开机的机器数量)为20。非高峰时段为5。你可以使用Set-BrokerDesktopGroupPowerShell命令。例如:
    • p C: \ > $ ps48 = (0 . .47 | % {if ($ _ lt 16或者$ _ gt 37)其他{5}{20}})
    • p C: \ > $ pt48 = (0 . .47 | % {if ($ _ lt 16或者$ _ gt 37)其他{$假}{$真正}})
    • PS C:\> New-BrokerPowerTimeScheme -Name 'First Half Week' -DaysOfWeek周末,星期一,星期二-DesktopGroupUid 3 -PeakHalfHours $pt48 -PoolSize $ps48

排水状态

Autoscale总是尝试将交付组中已启动的计算机数量缩减到配置的池大小和容量缓冲区。它通过将拥有最少会话的多余机器置于“耗尽状态”,并在所有会话注销时关闭它们。这种情况发生在会话需求减少和调度所需的机器少于启动时。

自动缩放将多余的机器一个接一个地放入“排水状态”。如果两台或两台以上的计算机具有相同数量的活动会话,则Autoscale将耗尽已上电的计算机以达到指定的关机延迟。这样做可以避免让最近启动的机器进入耗尽状态,因为这些机器更有可能拥有最少的会话。如果为指定的关机延迟启动了两台或两台以上的机器,则Autoscale将随机逐个清除这些机器。

处于排水状态的机器不再承载新的会话启动,而是等待注销现有会话。只有当所有会话都注销时,计算机才会成为关闭的候选者。但是,如果没有立即可用于会话启动的机器,Autoscale宁愿将会话启动定向到处于排水状态的机器,而不是启动机器。

当满足以下条件之一时,机器将脱离排水状态:

  • 机器关机了。
  • 机器所属的交付组禁用自动缩放功能。
  • 自动缩放利用机器来满足计划或负荷需求的要求。当计划(基于计划的伸缩)或当前需求(基于负载的伸缩)需要的机器数量超过当前启动的机器数量时,就会出现这种情况。

重要的是:

如果没有立即可用于会话启动的机器,Autoscale宁愿将会话启动引导到处于排水状态的机器,而不是启动机器。承载会话启动的处于排水状态的计算机仍然处于排水状态。

要查明哪些机器处于排水状态,请使用Get-BrokerMachinePowerShell命令。例如:Get-BrokerMachine -DrainingUntilShutdown真正的美元.或者,您可以使用Mange控制台。看到显示机器在排水状态

显示机器在排水状态

注意:

此特性仅适用于多会话计算机。

管理> Full Configuration,您可以显示处于排水状态的机器,让您知道哪些机器将要关闭。完成以下步骤:

  1. 导航到搜索节点,然后单击列显示
  2. 列显示窗口中,选择旁边的复选框排水状态
  3. 单击Save退出列显示窗口。

排水状态列可以显示如下信息:

  • 直到关闭排水。当机器处于排水状态时出现,直到关机。
  • 不排水。当机器还未处于排水状态时出现。

排水状态

负荷指数

重要的是:

负载索引仅适用于多会话交付组。

负载索引的取值范围为0 ~ 10,000,使用Citrix load Management策略设置计算,该策略设置针对并发登录、会话、CPU、磁盘和内存使用进行配置。数字“0”表示未加载的机器。负载索引值为0的机器处于基线负载。数字“10,000”表示已完全加载的计算机不能运行更多会话。负载索引指标确定机器接收连接的可能性。默认情况下,当一台机器承载250个会话时,它被认为是满负载的。

很高兴知道

自动缩放在交付组级别工作。它是基于每个交付组进行配置的。它只管理所选配送组中的机器。

容量和机器登记

为了确保Autoscale对能够接受会话请求的机器有一个准确的视图,在确定给定交付组的容量时,Autoscale只包括在站点上注册的机器。未注册的开机计算机无法接受会话请求。因此,他们不包括在交付组的总体能力中。

跨多个机器目录伸缩

在某些站点中,多个机器目录可能与单个交付组相关联。自动缩放随机启动每个目录中的机器,以满足日程或会话需求。

例如,一个交付组有两个机器目录:目录a有三台开机的机器,目录B有一台开机的机器。如果Autoscale需要启动额外的机器,它可能会启动目录a或目录B中的机器。

机器配置和会话需求

与交付组关联的机器目录必须有足够的机器,以便在需求增加或减少时启动和关闭。如果会话需求超过交付组中注册机器的总数,Autoscale将确保所有注册机器都启动。自动缩放不提供额外的机器.为了克服这个瓶颈,您可以使用PowerShell脚本来创建计算机并动态地删除它们。

监测数据的可用性

当交付组启用自动缩放功能时,可以使用监控数据。如果对交付组启用了自动缩放,然后禁用了自动缩放,则监控数据仍然可用。Autoscale每隔5分钟收集一次监控数据。

注意:

当您最初为某个交付组启用Autoscale时,可能需要花费几分钟时间来显示该交付组的监控数据。

实例的大小考虑

如果在公共云中调整实例的大小,就可以优化成本。较小的实例比较大的实例承载更少的用户会话。因此,在较小的实例中,Autoscale会更快地将机器放入耗尽状态,因为它注销最后一个用户会话所需的时间更短。因此,Autoscale可以更快地关闭较小的实例,从而降低成本。我们建议您提供更小的实例,只要它们符合您的工作负载性能和容量需求。

更多的信息

有关自动缩放的更多信息,请参见Citrix自动定量在技术区。