Product Documentation

连接租用

Feb 23, 2016

为确保站点数据库始终可用,Citrix 建议按照 Microsoft 的高可用性最佳实践开始部署容错 SQL Server。 但是,网络问题和中断可能会阻止 Delivery Controller 访问数据库,从而使用户无法连接到其应用程序或桌面。

通过连接租用功能,用户可以连接以及重新连接到其最近使用的应用程序和桌面,即使在站点数据库不可用时也能连接,补充了 SQL Server 高可用性最佳实践。

即使用户可以获得大量的已发布资源,但他们通常只使用其中的一小部分。 启用连接租用后,在正常操作期间,每个 Controller 都会缓存用户最近使用的应用程序和桌面的连接(前提是数据库可用)。

在每个 Controller 上生成的租用将上载到站点数据库,以便定期同步到站点上的其他 Controller。 除了租用外,每个 Controller 的缓存还会保存应用程序、桌面、图标和工作进程信息。 租用及相关信息存储在每个 Controller 的本地磁盘上。 如果数据库变为不可用,Controller 将进入租用连接模式,并在用户尝试从 StoreFront 连接或重新连接到最近使用的应用程序或桌面时“重播”缓存的操作。

连接会缓存为期两周的租用期。 因此,如果数据库变为不可用,仍可通过 StoreFront 对用户在前两周启动的桌面和应用程序进行访问。 但是,如果桌面和应用程序在上一个为期两周的租用期内未启动,则当数据库不可用时,无法对其进行访问。 例如,如果某个应用程序上次是在三周前启动的,而其租用期已过,若数据库现在变为不可用,则无法启动该应用程序。 对于长时间处于活动状态或者已断开连接的应用程序或桌面会话,请延长其租用期限,以便不将其视为过期。

默认情况下,连接租用会影响整个站点;但是,可以撤消特定用户的所有租用,从而阻止其在 Controller 处于租用连接模式时访问任何应用程序或桌面。 可以在 Controller 的基础上应用其他几项注册表设置。

注意事项和限制

虽然连接租用可以提高连接恢复能力和用户工作效率,但需要注意与其他功能的可用性、操作和性能相关的事项。

服务器托管的应用程序和桌面以及静态(已分配)桌面支持连接租用;数据库不可用时,池 VDI 桌面或未分配桌面的用户不支持连接租用。

Controller 处于租用连接模式时:
  • 管理员不能使用 Studio、Director 或 PowerShell 控制台。
  • 工作区控制不可用。 用户登录 Citrix Receiver 时,会话不会自动重新连接,用户必须重新启动应用程序。
  • 如果在数据库不可用后立即创建新租用,但租用信息尚未在所有 Controller 中进行同步,则在数据库变为不可用后用户可能无法启动该资源。
  • 服务器托管的应用程序和桌面用户使用的会话数可能会超过所配置的会话限制。 例如:
    • Controller 未处于租用连接模式时,用户从一台设备(通过 NetScaler Gateway 在外部连接)启动会话,而在 Controller 处于租用连接模式时,从 LAN 上的另一台设备进行连接,这种情况下,该会话可能不会漫游。
    • 如果应用程序恰好在数据库变为不可用之前启动,重新连接会话可能会失败;在这种情况下,将启动新的会话和应用程序实例。
  • 静态(已分配)桌面的电源无法管理。 如果 Controller 进入租用连接模式后 VDA 关闭电源,则在恢复数据库连接之前,VDA 一直不可用,除非管理员手动打开 VDA 电源。
  • 如果启用了会话预启动和会话延迟功能,则新的预启动会话将不会启动。 根据配置的阈值,当数据库不可用时,预启动的会话和延迟会话将不会结束。
  • 站点内的负载管理可能会受到影响。 基于服务器的连接将路由到最近使用的 VDA。 负载评估器(尤其是会话计数规则)可能会超额。
  • 如果使用 SQL Server Management Studio 使数据库进入脱机状态,Controller 将不会进入租用连接模式。 相反,应使用以下一种 Transact-SQL 语句:
    • ALTER DATABASE <数据库名称> SET OFFLINE WITH ROLLBACK IMMEDIATE
    • ALTER DATABASE <数据库名称> SET OFFLINE WITH ROLLBACK AFTER <秒数>

    两个语句均会取消任何挂起的事务,并导致 Controller 丢失与数据库的连接。 然后,Controller 进入租用连接模式。

启用连接租用时,在两个短暂时间间隔内用户无法进行连接或重新连接:(1) 从数据库变为不可用到 Controller 进入租用连接模式;(2) 从 Controller 退出租用连接模式到数据库访问完全恢复并且已重新注册 VDA。

如果配置了非默认会话漫游值,则当 Controller 进入租用连接模式时,会话重新连接将还原为其默认值。 有关详细信息,请参阅连接租用和会话漫游

有关保留连接租用数据的位置的相关信息,请参阅区域一文。

有关更多注意事项,请参阅 XenDesktop 7.6 连接租用设计注意事项

配置和部署

将部署配置为接受连接租用时:
  • VDA 的版本至少为 7.6,使用这些计算机的计算机目录以及交付组必须满足这一最低要求(或使用受支持的更高版本)。
  • 站点数据库大小的要求将会增加。
  • 每个 Controller 都需要使用额外的磁盘空间来保存缓存的租用文件。

连接租用默认为启用状态。

可以通过 PowerShell SDK 或 Windows 注册表启用或禁用连接租用。 通过 PowerShell SDK,还可以删除当前租用。 以下 PowerShell cmdlet 影响连接租用;有关详细信息,请参阅 cmdlet 帮助。
  • Set-BrokerSite -ConnectionLeasingEnabled $true|$false - 启用或禁用连接租用。 默认值 = $true
  • Get-BrokerServiceAddedCapability - 输出本地 Controller 的“ConnectionLeasing”。
  • Get-BrokerLease - 检索所有当前租用或过滤的租用集合。
  • Remove-BrokerLease - 将一个租用或过滤的租用集合标记为删除。
  • Update-BrokerLocalLeaseCache – 更新本地 Controller 上的连接租用缓存。 这些数据将在下次同步时重新同步。