高级概念

SQL Server数据库和Citrix数据库

Microsoft SQL Server是任何Citrix虚拟应用程序和桌面部署的重要组成部分。为了计划和理解Citrix SQL互动对您和您的组织保持健康和良好的Citrix环境。缺少SQL Server高可用性和充足的计算资源对Citrix基础架构的用户体验和正常运行时间产生负面影响。

数据库摘要

在Citrix虚拟应用和桌面部署过程中需要/创建3个数据库:

网站:(也称为站点配置)存储运行站点配置,以及与经纪相关的动态数据,例如当前会话状态,连接,加载和VDA状态信息。

配置日志记录:(也称为Logging)存储有关站点配置更改和管理活动的信息。启用配置日志功能时使用此数据库(默认=启用)。

监测:存储Director使用的数据,例如会话和连接信息。

在以前版本的Citrix虚拟应用和桌面中,例如XenApp和XenDesktop 7.6,Citrix Virtual Apps和Desktops所需的数据库已在初始站点配置期间创建为一个数据库(通过Studio或通过SQL Server上运行脚本)。安装后,管理员可以将其拆分为不同的数据库,以增强性能或符合备份/安全指南。

使用更新版本的Citrix虚拟应用程序和桌面,您可以在初始站点配置期间创建数据库,也可以通过Studio,或通过在SQL Server上运行脚本。您的数据库被自动分成三个独立的数据库。

对于具有大监视数据库的环境,理想配置将是从站点配置和配置日志数据库中托管不同服务器上的监视数据库。它记录更多数据,更频繁地发生更改,数据不被视为与其他数据库一样重要。有关更多信息,请参阅数据库调整指导或第97页VDI手册

长期服务释放(LTSR)的每个累积更新(CU)包含对SQL数据库模式的修复程序。例如,看CTX230536。为了最能保护您的环境免受意想不到的问题,请确保您有一个程序定期将环境升级到最新的CU。此外,确保适当的SQL Server和数据库监控到位以捕获失败事件和具有高资源利用率和可用空间的问题。

Citrix与SQL的互动

Citrix Virtual Apps和Desktops经纪人使用该数据库作为代理通信的消息总线,存储配置,监控和审计数据。数据库不断使用,可以在SQL Server上消耗大量计算资源。

例如,资源枚举(识别和呈现给用户的资源),资源启动和会话启动阶段要求Citrix传送控制器与SQL Server进行交互。

枚举:通过Citrix ADC和StoreFront成功进行身份验证后,交付控制器联系Citrix Site数据库,根据AD凭据检查哪些应用程序对用户可用。当资源被识别时,额外的信息,如应用程序的名称,桌面,图标,就会从数据库中被提取出来。

发射:当用户选择要启动的应用程序或桌面时,StoreFront向Delivery Controller发起启动请求。然后,交付控制器联系SQL服务器上的Site数据库,选择合适的VDA将用户发送到其中。

会话初始化:在会话启动之后,VDA与递送控制器接触以将会话信息写入站点数据库。

数据库建议

为了确保SQL服务器宕机对Citrix虚拟应用程序和桌面基础设施的影响最小,客户可以从Citrix支持的以下高可用性选项中选择:

  • Alwayson可用性小组
  • Alwayson故障转移群集
  • 基本可用性小组
  • hypervisor ha *

笔记:

虽然Citrix支持HyperVisor HA,但建议在托管EHR应用程序的环境中使用它,正常是至关重要的。

Citrix和Epic建议使用所有三个数据库的相同高可用性方法,即使建立最终用户会话不需要配置日志记录和监视数据库可用性。例如,如果打算使用SQL alware-on可用性组作为您的HA策略,请将其用于所有三个数据库对象。

我们还建议您完成Citrix数据库本身的全日制备份,尤其是站点数据库。保留期根据组织要求而有所不同,但维持七天的完整备份和至少一个月的每周备份是典型的。事务日志备份计划应基于组织标准的组合,以及相对于您必须分配的可用存储量的交易日志增长率。确保在SQL Server上监控可用存储。

将恢复模型与Citrix数据库对齐,具有您所采取的高可用性方法的要求。

根据Microsoft推荐,客户应该设置维护计划,以便每周运行,并保持数据库索引。维护计划可能只是为了在一周内重新组织索引,并在周末重建索引。

本建议书避免了在当天在今天的运营期间重建任何大型指标的任何绩效影响,特别是对于大型监控数据库。

Microsoft建议如果折叠大于30%,则重建索引,并且如果不到30%,则重新组织。看看数据库维护部分。

本地主机缓存

要解释数据库变得不可用的方案,Citrix将本地主机缓存(LHC)功能添加到Citrix虚拟应用程序和桌面7.x平台(7.12及更高版本,包括XenApp和XenDesktop 7.15 LTSR)。启用此选项允许已发布的应用程序的用户连接交付控制器和Citrix站点配置数据库之间的通信是否被中断。如果在高可用体系结构中配置了SQL,例如始终开启,镜像或群集,则此功能会在发生完整的SQL中断或中断网络连接时提供额外的容错。

这不应该被视为SQL高可用性的替代方案,因为在SQL停机期间站点管理功能不可用,故障转移过程也不是瞬时的。在SQL中断的情况下,代理功能将丢失,直到它被转移到LHC和VDAs重新注册。当恢复SQL连接/可用性时,切换回正常操作模式时也会遇到这种情况。

本地主机缓存在每个传送控制器上保留了本地SQL Express LocalDB数据库中的静态站点数据的副本,并在数据库中断期间依赖于此数据以连续支持VDA注册和会话经纪请求。

本地主机缓存设计考虑因素

由于史诗般的社区成员部署的大小的变化,建议您与Citrix密切合作,以确定利用LHC所需的其他资源。

  • 可伸缩性的考虑
    • XenApp和XenDesktop 7.15中的LHC的记录最大限制为单区域和40,000 VDA中的10,000 VDA,在多区部署中。在Citrix虚拟应用环境中,LHC和区域可伸缩性是依赖的登录速率和用户数。因此,在环境中观察到的实际可伸缩性可能低于已发布的最大值。对于此架构,如果您的预期会话计数超过10,000和/或您的登录速率,我们建议考虑额外的区域,并且/或您的登录率大于10用户每秒10用户。
  • 交付控制器大小调整:当LHC处于活动状态时,每个区域的民选主交付控制器(DC)处理所有VDA注册、枚举、启动和更新。
    • RAM:本地主机缓存服务可以消耗2gb以上的RAM,这取决于中断的持续时间和中断期间启动的用户数量。
    • CPU: Due to the additional CPU load on the elected DC, extra cores should be considered to compensate.

    控制器的CPU配置,特别是对SQL Server Express LocalDB可用的核心数直接影响本地主机缓存性能,甚至比内存分配更多。此CPU开销仅在数据库无法访问时在中断时段中观察到,并且高可用性服务处于活动状态。

    虽然LocalDB可以使用多个核心(最多4个),但它仅限于单个套接字。例如,添加更多插座,每个套接字每个带有1个核心的套接字,也不会提高性能。相反,Citrix建议使用具有多个核心的多个套接字。在Citrix测试中,2x3(2个套接字,3个核心)配置提供比4x1和6x1配置更好的性能。

  • 存储:在本地主机缓存模式期间,存储使用量增加每2-3分钟大约1 MB,假设每秒平均10个登录。存储消耗相对于登录速率增加。有关更多信息,请参阅本地主机缓存文章。

数据库中断的影响

在整个数据库宕机的情况下,几乎所有关键的Delivery Controller功能都会受到影响,这突出了为推荐的SQL HA策略之一设计和实现的重要性。下表列出了这些效果:

成分 数据库中断的影响
网站配置数据库 用户无法连接或重新连接到虚拟桌面。笔记:本地主机缓存(LHC)允许使用托管共享桌面、托管Windows和浏览器应用程序以及个人桌面的用户重新连接到他们的应用程序和桌面,即使站点数据库不可用。在LHC模式下,无法采集监控数据,无法对站点进行配置更改。
监控数据库 导演不显示任何历史数据,工作室无法启动。传入用户请求和现有用户会话的经纪不受影响。
配置日志记录数据库 如果允许在数据库断开连接时进行更改已启用Citrix虚拟应用程序和桌面日志记录首选项,配置日志数据库的中断没有影响(除了未登录的配置更改之外)。否则,管理员无法对Citrix虚拟应用程序和桌面进行任何更改。

SQL调整推荐

SQL Server必须正确尺寸以确保环境的性能和稳定性。由于每个Citrix产品以不同的方式使用SQL Server,并且每个客户都有不同的使用模式,因此无法提供通用的全包尺寸建议。相反,下面提供了每种产品SQL Server Size建议,在部署期间应仔细监视性能以验证大小的假设。

对于只承载citrix相关数据库的SQL环境,SQL服务器应该为最多10,000个用户提供至少4vcpu和8gb RAM。对于较大的部署或登录率较高的部署,我们建议至少配置8 vCPU和16 GB RAM。有关Citrix虚拟应用程序和台式机的SQL数据库大小概念的更多信息7。X部署,请参阅Citrix XenDesktop 7.x数据库大小。本文还包括有关工作负载特性的信息,例如估计的事务日志增长率。

请记住,监控数据库的大小根据数据保留设置而变化。XenApp和XenDesktop 7.15 LTSR有比7.6 LTSR更多的选项,在捕获粒度VDA性能数据的能力之后已添加到产品中。有关配置这些设置的详细信息,请参阅监控策略设置并将其归因于数据库调整计算。

CU更新和修复

每年几次,Citrix发布Citrix虚拟应用程序和桌面LTSRS的CUS。这些CU仅包含安全更新和错误修复,没有介绍新功能。Citrix建议运行最新的CU,因为他们修复了产品中已识别的问题。其中一些修复程序是SQL相关的。它们解决了Citrix或客户已识别的锁定,死锁,商店程序等问题。例如,XenApp 7.6中有数量的SQL相关修复,一直到CU5。该建议将是审查固定问题每个CU的部分并搜索SQL在页面内。

修复了问题

笔记:

LC8477在7.6 CU5和7.17中发布

额外的引用

由首席系统工程师Henry Vernov贡献。

SQL Server数据库和Citrix数据库