Citrix DaaS

本地主机缓存

本地主机缓存使在Citrix DaaS(以前的Citrix虚拟应用程序和桌面服务)部署中的连接代理操作能够在云连接器无法与Citrix Cloud通信时继续进行。本地主机缓存在网络连接丢失60秒时启用。

使用本地主机缓存,当中断发生时连接的用户可以继续不间断地工作。重新连接和新连接经历最小的连接延迟。

重要的是:

本地主机缓存需要客户部署的本地StoreFront作为部署的一部分。您必须将所有具有(或可以具有)注册的vda的云连接器作为交付控制器添加到StoreFront。未添加到StoreFront的Cloud Connector无法转换到中断模式,这可能导致用户启动失败。

对于没有本地StoreFront的部署,可以使用服务连续性Citrix Workspace平台特性,允许用户在中断期间连接到资源。有关更多信息,请参见服务连续性

数据内容

本地主机缓存包括以下信息,这些信息是主数据库中信息的子集:

  • 为从站点发布的资源分配权限的用户和组的身份。
  • 当前正在使用或最近使用过该站点发布的资源的用户的身份。
  • 局点配置的VDA机(包括远程PC接入机)的身份信息。
  • 用于连接已发布资源的客户端Citrix Workspace应用程序机器的身份(名称和IP地址)。

它还包含在主数据库不可用时建立的当前活动连接的信息:

  • Citrix Workspace应用程序执行的任何客户机机器端点分析的结果。
  • 与站点相关的基础设施机器(如Citrix Gateway和StoreFront服务器)的身份。
  • 用户最近活动的日期、时间和类型。

它是如何工作的

查看本地主机缓存如何与Citrix Cloud交互。

正常运行时

正常操作图像

  • 云连接器上的代理主体(也称为Citrix远程代理提供者服务)接受来自StoreFront的连接请求。代理主体与Citrix Cloud通信,将用户与在云连接器上注册的vda连接起来。
  • Citrix配置同步器服务(CSS)大约每分钟与Citrix Cloud中的代理进行一次检查,以查看是否进行了任何配置更改。这些更改可以是管理员发起的(例如更改交付组属性),也可以是系统操作(例如机器分配)。
  • 如果自上次检查以来发生了配置更改,则CSS将信息同步(复制)到Cloud Connector上的辅助代理。(辅助代理也称为高可用性服务或HA代理,如上图所示。)

    所有配置数据都被复制,而不仅仅是自上次检查以来更改的项。CSS通过Cloud Connector将配置数据导入到Microsoft SQL Server Express LocalDB数据库中。该数据库称为本地主机缓存数据库。CSS保证本地主机缓存数据库中的信息与Citrix Cloud中的局点数据库中的信息匹配。每次发生同步时,都会重新创建本地主机缓存数据库。

    Microsoft SQL Server Express LocalDB(本地主机缓存数据库使用)是在安装Cloud Connector时自动安装的。本地主机缓存数据库不能跨云连接器共享。不需要备份本地主机缓存数据库。每次检测到配置更改时都会重新创建它。

  • 如果自上次检查以来没有发生任何更改,则不会复制配置数据。

在中断期间

故障图片

当中断开始时:

  • 辅助代理开始侦听和处理连接请求。
  • 当中断开始时,辅助代理没有当前的VDA注册数据,但是当VDA与其通信时,将触发一个注册过程。在此过程中,辅助代理还获取有关该VDA的当前会话信息。
  • 当二级代理处理连接时,代理主体继续监视到Citrix Cloud的连接。当连接恢复时,代理主体指示二级代理停止侦听连接信息,代理主体恢复代理操作。下一次VDA与代理主体通信时,将触发一个注册过程。辅助代理从上次停机中删除所有剩余的VDA注册。当云存储系统了解到Citrix Cloud的配置发生变化后,恢复同步信息。

如果在同步过程中出现中断(这种情况不太可能发生),则丢弃当前导入,并使用最后已知的配置。

事件日志指示何时发生同步和中断。

在停机模式下运行没有时间限制。

您还可以故意触发停机。看到强制停机有关为什么以及如何这样做的详细信息。

具有多个云连接器的资源位置

在其其他任务中,CSS例行地向辅助代理提供有关资源位置中所有云连接器的信息。有了这些信息,每个辅助代理就知道在资源位置的其他Cloud connector上运行的所有对等辅助代理。

二级代理在单独的通道上相互通信。这些代理使用它们运行的机器的FQDN名称的字母顺序列表来确定(选择)如果发生中断,哪个二级代理将代理区域中的操作。在停机期间,所有vda都向选出的辅助代理重新注册。区域中非选举的二级代理会主动拒绝传入的连接和VDA注册请求。

如果选出的辅助代理在中断期间发生故障,则选出另一个辅助代理接管,并且vda向新选出的辅助代理注册。

在中断期间,如果云连接器重新启动:

  • 如果该Cloud Connector不是当选的代理,则重启不会产生影响。
  • 如果该Cloud Connector是选出的代理,则会选出另一个Cloud Connector,从而导致vda注册。重新启动的Cloud Connector启动后,它会自动接管代理,这将导致vda再次注册。在这种情况下,在注册期间可能会影响性能。

事件日志提供有关选举的信息。

停机期间什么不可用,以及其他差异

在停机模式下运行没有时间限制。但是,如果中断是由于从其资源位置丢失了Citrix Cloud连接,则Citrix建议尽快从资源位置恢复连接。

停机期间:

  • 您不能使用管理接口。
  • 您对Remote PowerShell SDK的访问权限有限。

    • 你必须首先:
      • 添加注册表项EnableCssTestMode值为1:New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTestMode -PropertyType - DWORD -Value
      • 设置SDK授权为OnPrem这样SDK代理就不会尝试重定向cmdlet调用:美元XDSDKAuth = " OnPrem "
      • 使用端口89:Get-BrokerMachine -AdminAddress localhost:89 |选择机器名称、控制器dnsname、桌面groupname、注册状态
    • 运行这些命令后,您可以访问:
      • 所有Get-Broker *cmdlets。
      • 电源管理模块New-BrokerHostingPowerActionSet-BrokerHostingPowerAction,Remove-BrokerHostingPowerAction
  • 在停机期间,监控数据不会发送到Citrix Cloud。所以,监控函数不显示中断间隔内的活动。
  • 无法从主机服务获取Hypervisor凭据。所有机器处于未知电源状态,不能发出电源操作。但已上电的主机上的虚拟机可用于连接。

  • 只有在正常操作期间进行分配时,才可以使用已分配的机器。在中断期间不能进行新的分配。
  • 不可能自动注册和配置远程PC访问机器。但是,在正常操作期间注册和配置的机器是可用的。
  • 如果资源位于不同的区域,服务器托管的应用程序和桌面用户可能会使用超过其配置的会话限制的会话。
  • 用户只能从包含当前活动/当选代理的区域中的注册vda启动应用程序和桌面。在停机期间不支持跨区域启动(从一个区域中的代理到另一个区域中的VDA)。
  • 如果在交付组中的vda开始计划重启之前发生站点数据库中断,则在中断结束时开始重启。这种情况可能会产生意想不到的结果。有关更多信息,请参见由于数据库中断,计划重启延迟
  • 区偏好无法配置。如果配置了,则会话启动时不会考虑首选项。
  • 标签的限制在会话启动时不支持使用标记来指定资源位置。当配置了这样的标签限制时,StoreFront商店的高级健康检查选项,则会话可能间歇性地启动失败。

店面的要求

本地主机缓存需要客户部署的本地StoreFront作为部署的一部分。您必须将所有具有(或可以具有)注册的vda的云连接器作为交付控制器添加到StoreFront。未添加到StoreFront的Cloud Connector无法转换到中断模式,这可能导致用户启动失败。

资源可用性

在停机期间,您可以通过两种方式确保资源(应用程序和桌面)的可用性:

  • 在部署中的每个资源位置发布资源。
  • 将资源发布到至少一个资源位置。然后使用以下过程在每个StoreFront商店中启用高级运行状况检查功能。

    1. 将每个资源位置的StoreFront安装升级到最低版本1912 CU4。有关指导,请参阅StoreFront文档。
    2. 对于每个StoreFront商店,启用高级运行状况检查选项。在商店里. config下文件,farmsets,添加advancedHealthCheck = " "

      选项的例子:

      店面高级运行状况检查

    3. 更新文件后,请手动重启IIS。重复织网。其他存储的配置文件更新和IIS重启。

应用程序和桌面支持

本地主机缓存仅适用于客户部署的StoreFront。它不支持与Citrix Workspace一起使用。

本地主机缓存支持服务器托管的应用程序和桌面,以及静态(分配的)桌面。

本地主机缓存支持池交付组中的桌面(单会话)vda,如下所示。

  • 默认情况下,池交付组(由MCS或Citrix Provisioning创建)中的电源管理桌面vda具有ShutdownDesktopsAfterUse属性启用时,将其置于维护模式。您可以更改此默认值,以允许在停机期间使用这些桌面。

    但是,在停电期间,您不一定依赖于电源管理。(待业务恢复正常后,恢复电源管理。)此外,这些桌面可能包含来自前一个用户的数据,因为它们没有重新启动。

  • 要覆盖默认行为,必须使用PowerShell命令在站点范围内为每个受影响的交付组启用它。

    对于全站范围,运行以下命令:

    reusemachineswithoutshutdowninoutageallowed $true

    默认情况下,没有为该特性启用所有交付组。有两个选项可以在交付组级别启用它:

    • 为选定的交付组启用:对于每个受影响的交付组,执行如下命令。

      Set-BrokerDesktopGroup -Name -Name - reusemachineswithoutshutdownin停用$true

    • 为所有交付组启用:使用实例默认启用下发组级别设置。此设置适用于所有新创建的交付组(即,在启用该设置后创建的所有交付组)。

      设置brokersite - defaultreusemachineswithoutshutdownin停用$true

      要为现有的交付组启用此功能,请运行前面提到的命令(Set-BrokerDesktopGroup -Name -Name - reusemachineswithoutshutdownin停用$true).

    在站点和交付组中启用此特性不会影响如何配置ShutdownDesktopsAfterUse物业在正常运作期间运作。

与XenApp 6的区别。x版本

虽然这个本地主机缓存实现与XenApp 6中的本地主机缓存功能共享名称。x和更早的XenApp版本,这个本地主机缓存在技术上是完全不同的实现。这种实现有显著的改进,更健壮,更不容易损坏,并且需要更少的维护。

管理本地主机缓存

查看如何配置本地主机缓存。

在Citrix DaaS部署中,始终启用本地主机缓存。您不需要做任何其他事情来配置或管理它。

如前所述,在资源位置安装Cloud Connector时,会自动安装Microsoft SQL Server Express LocalDB数据库。不要试图禁用或删除它。思杰定期更新云连接器。如果您手动禁用或删除SQL Server Express LocalDB软件,则下一个云连接器更新将替换它。

验证本地主机缓存是否正常工作

查看如何验证本地主机缓存配置是否正确。

要验证本地主机缓存是否已设置并正常工作:

  • 验证资源位置是否包含指向该资源位置中的所有云连接器的本地StoreFront。
  • 确保同步导入成功完成。检查事件日志
  • 确保在每个云连接器上创建了本地主机缓存数据库。这确认了如果需要,高可用性服务可以接管。
    • 在Cloud Connector服务器上,浏览到c:\Windows\ ServiceProfiles \ NetworkService
    • 验证HaDatabaseName.mdfHaDatabaseName_log.ldf创建。
  • 强制停机在资源位置的所有云连接器上。在验证本地主机缓存工作后,请记住将所有云连接器重新置于正常模式。这大约需要15分钟。

事件日志

事件日志指示何时发生同步和中断。在事件查看器日志中,中断模式称为HA模式

配置同步器服务

在正常操作过程中,CSS通过Local Host Cache代理将配置数据导入到Local Host Cache数据库时,可能会出现以下事件:

  • 503: Citrix配置同步服务收到更新的配置。每次从Citrix Cloud收到更新的配置时都会发生此事件。表示同步进程开始。
  • 504: Citrix同步配置服务导入了更新的配置。配置导入成功。
  • 505: Citrix配置同步服务导入失败。配置导入未成功完成。如果以前的成功配置可用,则在发生中断时使用它。但是,它将从当前配置中过时。如果以前没有可用的配置,则服务在中断期间无法参与会话代理。在这种情况下,请参阅进行故障排除章节,并联系Citrix技术支持。
  • 507: Citrix配置同步服务放弃了导入,因为系统处于中断模式,并且正在使用本地主机缓存代理进行代理。服务收到了一个新的配置,但是由于发生了中断而放弃了导入。这是预期的行为。
  • 没有从主配置服务接收到配置服务配置数据。
  • 517:与主Broker通信有问题。
  • 518:配置同步脚本中止,因为辅助代理(高可用性服务)没有运行。

高可用性服务

此服务也称为本地主机缓存代理。

  • 3502:发生了中断,本地主机缓存代理正在执行代理操作。
  • 3503:故障已解决,正常操作已恢复。
  • 3504:指示选举哪个本地主机缓存代理,以及参与选举的其他本地主机缓存代理。

强制停机

您可能想要故意强制中断。

  • 如果你的网络反复起伏。在解决网络问题之前强制中断会阻止正常模式和中断模式之间的连续转换(以及由此导致的频繁的VDA注册风暴)。
  • 测试灾难恢复计划。
  • 以帮助确保本地主机缓存工作正常。

虽然可以在强制中断期间更新Cloud Connector,但可能会出现不可预见的问题。我们推荐你为云连接器更新设置时间表这避免了强制中断模式间隔。

要强制中断,请编辑每个Cloud Connector服务器的注册表。在HKLM \ Software \ Citrix \ DesktopServer \大型强子对撞机创建和设置OutageModeForced作为REG_DWORD1.此设置指示本地主机缓存代理进入中断模式,而不管与Citrix Cloud的连接状态如何。将值设置为0将本地主机缓存代理从中断模式中取出。

要验证事件,请监视Current_HighAvailabilityService登录文件C: \ ProgramData \ Citrix \ workspaceCloud \ \ Plugins \ HighAvailabilityService日志

进行故障排除

当向Local Host Cache数据库的同步导入失败并发布505事件时,可以使用几种故障排除工具。

提供跟踪:包含ConfigSyncServer和BrokerLHC模块的选项。这些选项以及其他代理模块可以识别问题。

报告:如果同步导入失败,可以生成报告。此报告在导致错误的对象处停止。此报告功能会影响同步速度,因此Citrix建议在不使用时禁用它。

启用并生成CSS跟踪报告,使用如下命令:

New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTraceMode -PropertyType - DWORD -Value

HTML报告载于:C:\Windows\ ServiceProfiles \ NetworkService \ AppData \ \ Temp \ CitrixBrokerConfigSyncReport.html

生成报告后,输入以下命令禁用报告特性:

Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTraceMode -Value 0

更多的信息

看到本地主机缓存的规模和大小考虑有关下列资料:

  • 测试方法和结果
  • RAM大小的考虑
  • CPU核心和插槽配置注意事项
  • 储存注意事项