XenApp 和 XenDesktop 7.7:区域深度潜水
本文将更深入地介绍区域功能在 XenApp 和 XenDesktop 7.7 中的工作方式,以及将 Delivery Controller、虚拟机管理程序连接和计算机目录等项目放入不同区域的影响。在 Citrix 产品文档中首先阅读有关区域的信息可能很有用:https://docs.citrix.com/zh-cn/legacy-archive/xenapp-and-xendesktop.html。
主要区域和卫星区域
每个 XenApp 和 XenDesktop 7.7 站点都有一个主区域,其中应包括中央站点数据库和至少两个 Delivery Controller。
辅助区域或卫星区域应包括一个或多个虚拟 VDA、Controller、StoreFront 服务器和 NetScaler Gateway 服务器。在正常操作下,卫星区域中的 Controller 直接与主区域中的中央站点数据库进行通信。
假定主区域中的控制器与站点数据库具有良好的连接性,并且与所有卫星区域具有一定的连接性。但是,不假定每个卫星区域中的元素与其他卫星区域中的元素具有连接性。
可与区域关联的元素
XenApp 或 XenDesktop 部署中的许多不同元素可与卫星区域关联,这会影响站点与这些对象以及与它们相关的其他对象的交互方式。可以放置到卫星区域的元素有:
- 控制器
- 虚拟机管理程序连接
- 机器目录
- NetScaler Gateway
将 Controller 计算机放置到卫星区域时,假定这些计算机与同一卫星区域中的虚拟机管理程序和 VDA 计算机具有良好的(本地)连接,因此系统会安排更喜欢使用这些 Controller 来处理这些虚拟机管理程序和 VDA 计算机的事情。
将 Hypervisor 连接置于卫星区域中,意味着通过该 Hypervisor 连接管理的所有 Hypervisor 也假定位于该卫星区域中,并且在与该虚拟机管理程序连接通信时首选使用该区域中的 Controller。
放置到卫星区域的计算机目录同样意味着该目录中的所有 VDA 计算机都位于卫星区域中,这也将控制在控制器列表自动更新机制激活后尝试向站点注册时首选使用哪些 Controller每个 VDA 的首次注册后。
VDA 倾向于在与自己相同的本地区域中向 Controller 注册,但将无法转移到主区域中的 Controller 注册。VDA 不会在其他卫星区域向控制器注册。
NetScaler Gateway 实例也可以与区域关联,但这是作为 StoreFront 最佳 HDX 路由配置的一部分,而不是像此处所述的其他元素一样,作为 XenApp 或 XenDesktop 站点配置的一部分。当 NetScaler Gateway 与区域相关联时,这意味着在使用与该区域中的 VDA 计算机的 HDX 连接时,首选使用该网关。
连接质量限制
卫星区域中的控制器直接与站点数据库执行 SQL 交互。虽然为最大限度地减少这种 SQL 交互作出了一些更改,但这确实会对卫星区域和包含数据库的主区域之间的链接质量施加一些限制。具体限制再次相对于部署在卫星区域中的 VDA 和用户会话的数量。因此,与具有大量 VDA 和会话的卫星区相比,只有少量 VDA 和会话的卫星区域可以在与数据库的连接质量较差的情况下运行。一些准则是:
要支持的会话次数 | 假定最大并发最终用户会话启动 | 最小可接受带宽 | 可接受的最大往返延迟 |
---|---|---|---|
少于 50 人 | 20 | 1 Mbps | 250 毫秒 |
50 到 500 | 25 | 1.5 Mbps | 100 毫秒 |
500 到 1000 | 30 | 2 Mbps | 50 毫秒 |
1000 到 3000 | 60 | 8 Mbps | 10 毫秒 |
超过 3000 | 60 | 8 Mbps | 5 毫秒 |
高可用性与连接租赁
在 XenApp 和 XenDesktop 7.7 中,连接租赁功能可帮助保持在系统中断时向最终用户代理新连接的高可用性。如果您使用的是区域,则中断可能是由于卫星区域和主区域之间的通信丢失(特别是当数据库位于主区域中时)。在这种情况下,卫星区域的 Controller 将切换到租赁模式,并且仍允许最终用户代理与应用程序和桌面的新连接。但是,这些会话运行的 VDA 必须可以从卫星区域中的 Controller 访问。要限制卫星区域中 Controller 计算机的文件系统负载,请仅限同一区域中的 VDA 计算机的连接租赁数据。
StoreFront 部署
如果您希望利用使用连接租赁进行代理的高可用性,当卫星区域与主区域隔离时,需要在每个卫星区域中部署 StoreFront 实例。这是因为如果主区域和卫星区域之间的连接在中断时中断,仅在主区域中部署的 StoreFront 实例不一定能够与卫星区域中的 Controller 联系。
区域数量
站点中配置的控制器数量可能会影响某些操作的性能,例如向站点本身添加新的控制器。为避免这种情况,建议将 XenApp 或 XenDesktop 7.7 站点中的区域数限制在不超过 10 个。在 XenApp 或 XenDesktop 7.11 及更高版本中,限制为 50。
低级别配置设置和调整
一些新的配置项目已添加到支持区域,包括在 PowerShell SDK 级别添加区域定义,这是配置服务 SDK 的一部分,而不是代理服务 SDK 的一部分。区域配置的其他部分可以在其他 FMA 服务 PowerShell SDK 中完成,尤其是在元素与区域相关联的情况下,这是由对这些对象拥有大部分所有权的服务完成的。因此,使用 Broker Service SDK 定义计算机目录的区域成员身份,并使用主机服务 SDK 配置 Hypervisor 连接的区域成员身份。
此外,还添加了一个新的注册表设置,以允许对并发最终用户启动的限制进行控制;其主要部分位于 HKLM\Software\Citrix\DesktopServer\ThrottledRequestAddressMaxConcurrentTransactions。在某些测试情况下,我们发现,卫星区域与主区域中的数据库之间的延迟很长,加上最终用户使用卫星区域 Controller 启动应用程序和桌面连接的速度相对较高,可能会导致先前启动的积压。
其他提示
有一些报告表明,在升级站点后,Studio 中的区域节点已消失。这可能是因为“角色配置”文件在升级过程中导入失败。您可以通过 PowerShell SDK 导入文件来手动修复此问题:
cd 'C:\Program Files\Citrix\XenDesktopPoshSdk\Module\Citrix.XenDesktop.Admin.V1\Citrix.XenDesktop.Admin\StudioRoleConfig'
Import-AdminRoleConfiguration –Path .\RoleConfigSigned.xml
*这篇文章已经修改了由 William Charnell 编写的一篇博客文章。要阅读原始博客并查看评论,请转到 https://www.citrix.com/blogs/2016/01/12/deep-dive-xenapp-and-xendesktop-7-7-zones/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+CitrixBlogs+%28Citrix+Blogs%29。 *