Citrix虚拟应用程序和台式机

由于网络延迟和可靠性,跨越广域网连接的广泛分散位置的部署可能面临挑战。有两种方法可以缓解这些挑战:

  • 部署多个站点,每个站点都有自己的SQL Server站点数据库。

    对于大型企业部署,建议使用此选项。多个站点分开管理,每个站点都需要自己的SQL Server站点数据库。每个站点都是一个独立的Citrix虚拟应用部署。

  • 在单个站点中配置多个区域。

    配置区域可以帮助远程区域中的用户连接到资源,而不必强制他们的连接穿越WAN的大部分区域。使用专区允许从单个Citrix Studio控制台、Citrix Director和站点数据库进行有效的站点管理。这节省了部署、人员配备、许可和在远程位置运行更多包含独立数据库的站点的成本。

    区域可以有助于各种尺寸的部署。您可以使用区域将应用​​程序和桌面更接近最终用户,这提高了性能。一个区域可以在本地安装一个或多个控制器,以进行冗余和弹性,但不需要。

    站点中配置的控制器数量可能会影响某些操作的性能,例如向站点本身添加新控制器。为了避免这种情况,我们建议您将Citrix虚拟应用程序或Citrix虚拟桌面站点中的区域数限制为不超过50个。

    当您的区域的网络延迟超过250ms RTT时,我们建议您部署多个站点而不是区域。

在本文中,术语local指的是正在讨论的区域。例如,“VDA向本地控制器注册”表示VDA向VDA所在区域的控制器注册。

该版本中的区域与XenApp 6.5及更早版本中的区域相似,但不完全相同。例如,在这个区域的实现中,没有数据收集器。站点中的所有控制器与主分区中的一个站点数据库通信。此外,在这个版本中,故障转移和首选区域的工作方式也不同。

区域类型

一个站点总是有一个主区域。它还可以有一个或多个卫星区域。卫星区域可用于灾难恢复、地理位置遥远的数据中心、分支机构、云或云中的可用区域。

主要区域:

主分区的默认名称为“primary”。该区域包含SQL Server站点数据库(以及高可用性SQL服务器,如果使用)、Studio、Director、Citrix StoreFront、Citrix License Server和Citrix Gateway。始终将站点数据库保持在主区域。

主区域应具有至少两个用于冗余的控制器。主区域可以具有与数据库和基础架构紧密耦合的应用程序的VDA。

卫星区域:

卫星区域包含一个或多个VDAs、Controllers、StoreFront服务器和Citrix Gateway服务器。在正常操作下,卫星区域中的控制器直接与主区域中的数据库通信。

卫星区域,特别是大型区域,还可能包含一个虚拟机监控程序,用于为该区域配置和存储计算机。配置卫星区域时,可以将虚拟机监控程序或其他服务连接与其关联。(确保使用该连接的所有目录都位于同一区域。)

根据您的独特需求和环境,站点可以具有不同配置的卫星区域。下图显示了主分区和卫星分区示例。

主区域和卫星区域的说明

说明:

  • 主要区域:包含两个controller、Studio、Director、StoreFront、License Server和站点数据库(加上高可用性SQL Server部署)。Primary zone还包含多个vda和一个Citrix Gateway。

  • 卫星区1:带控制器的VDAS:卫星区1包含一个控制器,VDA和店面服务器。VDA在本卫星区域中与本地控制器寄存器。本地控制器与主区域中的站点数据库和许可证服务器通信。

    如果WAN出现故障,本地主机缓存功能允许卫星区域中的控制器继续代理与该区域中VDA的连接。在员工使用本地店面站点和本地控制器访问其本地资源的办公室中,这样的部署非常有效。

  • 卫星区2:带冗余控制器的VDAs:卫星区2包含两个controller、VDAs和一个StoreFront服务器。这是最有弹性的区域类型,提供保护,防止WAN和一个本地控制器同时发生故障。

VDAs寄存器和控制器故障转移在哪里

在包含主区域和卫星区域的站点中,VDAs至少为7.7版本:

  • 主区域中的VDA向主区域中的控制器注册。主区域中的VDA从不尝试向附属区域中的控制器注册。
  • 如果可能,卫星区中的VDA向本地控制器注册。(这被认为是首选控制器。)如果没有可用的本地控制器(例如,因为它们不能接受更多的VDA注册或它们已经失败),VDA将尝试向主区域中的控制器注册。在这种情况下,VDA仍然在主区域中注册,即使卫星区域中的Controller再次可用。卫星区域中的VDA永远不会尝试向另一个卫星区域中的控制器注册。
  • 如果为控制器的VDA查找启用了自动更新,并且在VDA安装期间指定了控制器地址列表,则会从该列表中随机选择控制器进行初始注册(无论控制器位于哪个区域)。具有该VDA的机器重新启动后,VDA将开始倾向于在其本地区域的控制器上注册。
  • 如果卫星区域中的一个控制器出现故障,如果可能,它将故障转移到另一个本地控制器。如果没有可用的本地控制器,它将故障切换到主区域中的控制器。
  • 如果将Controller移进或移出一个区域,并且启用了自动更新,两个区域中的vda都会收到更新列表,其中指示哪些Controller是本地的,哪些位于主区域,以便它们知道可以向谁注册并接受连接。
  • 如果将目录移动到另一个区域,则该目录中的VDA将与移动目录所在区域中的控制器重新注册。(将目录移动到另一个区域时,请确保此区域和具有关联主机连接的区域连接良好。如果带宽有限或延迟高,请将主机连接移动到包含关联计算机目录的同一区域。)

如果主区域所有控制器故障:

  • 工作室无法连接到网站。
  • 无法连接主区域的vda。
  • 站点性能降低,直到主要区域中的控制器可用。

对于包含早于7.7的VDA版本的站点:

  • 卫星区域中的VDA接受来自控制器的本地区域和主区域的请求。(最低版本7.7的VDAs可以接受来自其他卫星区域的Controller请求。)
  • 卫星区域中的VDA随机向主区域或本地区域中的Controller注册。(最低版本7.7的vda更倾向于本地区域。)

区偏好

要使用区域首选项特性,您必须使用最小的StoreFront 3.7和Citrix Gateway 11.0-65.x。

在一个多区网站中,区域首选项功能提供了管理员更灵活地控制哪些VDA用于启动应用程序或桌面。

区域优先是如何工作的

有三种形式的区域偏好。基于以下:,您可能更愿意在特定区域中使用VDA:

  • 存储应用程序数据的位置。这被称为应用程序主页。
  • 用户家庭数据的位置,例如配置文件或家庭共享。这被称为用户主页。
  • 用户的当前位置(Citrix Workspace应用程序正在运行的位置)。这称为用户位置。

多区域配置示例如下图所示。

多区域配置示例

在本例中,vda分布在三个卫星区域中,但它们都在同一个交付组中。因此,代理可以选择将哪个VDA用于用户启动请求。这个例子表明有几个位置,用户可以运行他们的Citrix工作区应用程序端点:

  • 用户A正在卫星区1使用带有Citrix Workspace应用程序的设备。
  • 用户B正在使用卫星区域2中的设备。
  • 用户的文档可以存储在不同的位置。

    • 用户A和用户B使用基于卫星区1的共享。
    • 用户C使用卫星区C的共享。
    • 其中一个已发布的应用程序使用位于卫星区1的数据库。

通过为用户或应用程序配置home zone,可以将用户或应用程序与zone关联。然后,Delivery Controller中的代理使用这些关联来帮助选择启动会话的区域(如果资源可用的话)。您可以:

  • 通过向区域添加用户来配置用户的主区域。
  • 通过编辑应用程序属性为应用程序配置主区域。

一个用户或一个应用程序一次只能有一个主区。(对于用户来说,当由于用户组成员身份而导致多个区域成员身份时可能会出现例外;请参阅“其他注意事项”一节。然而,即使在这种情况下,broker也只使用一个home zone。)

虽然可以配置用户和应用程序的区域首选项,但是代理只选择一个首选区域进行启动。选择首选区域的默认优先级顺序是应用程序home >用户home >用户位置。你可以限制序列;看到定制区域偏好. 当用户启动应用程序时:

  • 如果该应用程序具有已配置的区域关联(应用程序主界面),那么首选区域就是该应用程序的主界面区域。
  • 如果应用程序没有配置的区域关联,但用户有配置的区域关联(用户home),则首选区域是该用户的home区域。
  • 如果应用程序和用户都没有配置的区域关联,那么首选区域是用户运行Citrix Workspace应用程序实例的区域(用户位置)。如果没有定义该zone,则使用随机VDA和zone选择。优先分区内的所有vdc均采用负载均衡。如果没有首选zone,则对“下发组”下的所有vda进行负载均衡。

定制区域偏好

当您为用户或应用程序配置(或删除)主区域时,还可以进一步限制如何使用区域首选项。

  • 强制性用户家庭区域使用:在交付组中,可以指定会话在用户的主区域(如果已配置)中启动,如果主区域没有可用资源,则不会将故障转移到另一个区域。当您必须避免在区域之间复制大型概要文件或数据文件的风险时,此限制非常有用。换句话说,您宁愿拒绝会话启动,也不愿在不同的区域启动会话。
  • 强制应用程序home zone使用:类似地,当为应用程序配置主区域时,可以指示仅在该区域启动应用程序,如果应用程序主区域中的资源不可用,则不会将故障转移到另一个区域。
  • 没有应用程序主区域,忽略已配置的用户主区域:如果不为应用程序指定主区域,还可以指示在启动该应用程序时不考虑已配置的用户区域。例如,您可能希望用户使用用户位置区域首选项在其设备附近的VDA上运行应用程序,即使一些用户可能有不同的主区域。

首选区域如何影响会话使用

当用户启动应用程序或桌面时,代理更喜欢使用首选区域,而不是使用现有会话。

如果启动应用程序或桌面的用户已经有一个适合于正在启动的资源的会话(例如,可以为应用程序使用会话共享,或已经运行正在启动的资源的会话),但是该会话在VDA上运行,而不是在用户/应用程序的首选区域,那么系统可能会创建一个新的会话。这可以满足在正确的区域启动(如果它有可用容量),然后根据用户的会话需求重新连接到不太喜欢的区域中的会话。

为了防止无法再连接的孤立会话,允许对已断开连接的会话重新连接,即使它们位于非首选区域。

满足启动的会话的可取性顺序为:

  1. 重新连接到首选区域中的现有会话。
  2. 重新连接到首选区域以外的区域中的现有已断开连接的会话。
  3. 在首选区域启动新的会话。
  4. 重新连接到首选区域以外的区域中连接的现有会话。
  5. 在首选区域以外的区域启动新的会话。

其他区域优先考虑事项

  • 如果为用户组(例如安全组)配置归属区域,则该组的用户(通过直接或间接成员)与指定区域相关联。但是,用户可以是多个安全组的成员,因此可能具有通过其他组成员配置的不同的归属区域。在这种情况下,确定该用户的家庭区可以模糊。

如果用户配置的主区域不是通过组成员关系获得的,则将该区域用作区域首选项。通过组成员关系获得的任何区域关联都被忽略。

如果用户有多个单独通过组成员身份获取的不同区域关联,则代理会在区域中随机选择。一旦代理做出此选择,该区域将用于后续会话启动,直到用户的组成员身份发生更改。

  • 用户位置区域首选项需要通过设备连接的Citrix网关检测终端设备上的Citrix工作区应用程序。必须将Citrix Gateway配置为将IP地址范围与特定的zone相关联,并且发现的zone标识必须通过StoreFront传递给Controller。

有关zone首选项的详细信息,请参见区偏好内部

注意事项、需求和最佳实践

  • 您可以将以下项目放在一个区域中:控制器、计算机目录、主机连接、用户和应用程序。如果目录使用主机连接,请确保目录和连接位于同一个区域。(但是,有了一个低延迟的高带宽连接,它们可以位于不同的区域。)

  • 当您将项目放置在卫星区域时,它将影响站点如何与它们以及与它们相关的其他对象进行交互。

    • 当将Controllers放置到附属区域时,假定这些机器与同一区域中的虚拟机监控程序和VDAs具有良好的(本地)连接。然后,该附属区域中的控制器优先于主区域中的控制器来处理这些管理程序和VDA机器。
    • 当一个管理程序连接被放置到一个附属区域时,假定通过该管理程序连接管理的所有管理程序也位于该附属区域。当与hypervisor连接通信时,该卫星区域中的控制器优先于主区域中的控制器。
    • 当将机器目录放入卫星区时,假设该目录中的所有VDA机器都在卫星区中。当控制器列表自动更新机制在每个VDA的第一次注册后激活后,本地控制器在主区域中的控制器中使用了主区域中的控制器。
    • Citrix Gateway实例也可以与zone相关联。这是作为StoreFront Optimal HDX Routing配置的一部分完成的,而不是像这里描述的其他元素一样,作为站点配置的一部分完成的。当一个Citrix Gateway与一个区域相关联时,当使用到该区域中的VDA机器的HDX连接时,最好使用它。
  • 当创建生产站点并随后创建第一个目录和交付组时,所有项目都位于主区域—在完成初始设置之前,不能创建附属区域。(如果您创建一个空站点,主区域最初将只包含一个Controller。可以在创建目录和交付组之前或之后创建附属区域。)

  • 当您创建包含一个或多个项目的第一个附属区域时,站点中的所有其他项目都将保留在主区域中。

  • 默认情况下主区域名为“primary”;你可以改名字。尽管Studio显示表明哪个区域是主要区域,但最佳实践是为主要区域使用一个易于识别的名称。您可以重新分配主区域(即使另一个区域成为主区域),但是它应该始终包含站点数据库和任何高可用性服务器。

  • 始终将站点数据库保持在主区域。

  • 创建区域后,您可以稍后将项目从一个区域移动到另一个区域。这种灵活性允许您可能将工作得最好的项目分开。例如,将目录移动到与在目录中创建机器的连接(主机)不同的区域,可能会影响性能。在区域间移动物品之前,考虑潜在的意外影响。将目录和它使用的主机连接保存在相同的区域,或者连接良好的区域(例如,通过低延迟和高带宽网络)。

  • 为了获得最佳性能,只在主区域安装Studio和Director。如果希望在附属区域中有另一个Studio实例(例如,包含Controllers的附属区域在主区域不可访问时用作故障转移),请将Studio作为本地发布的应用程序运行。您还可以从卫星区域访问Director,因为它是一个web应用程序。

  • 理想情况下,卫星区域中的Citrix网关用于从其他区域或外部位置进入该区域的用户连接,尽管您可以将其用于区域内的连接。

  • 记住:要使用区域首选项特性,您必须使用最小的StoreFront 3.7和Citrix Gateway 11.0-65.x。

连接质量限制

卫星区域中的控制器直接与站点数据库执行SQL交互。这对卫星区和包含场址数据库的主要区之间的连接质量施加了一些限制。具体的限制与部署在卫星区域的vda和用户会话的数量有关。因此,与拥有大量VDAs和会话的卫星区域相比,只有少量VDAs和会话的卫星区域与数据库的连接质量较差。

有关更多信息,请参见延迟和SQL阻塞查询改进

延迟对经纪性能的影响

尽管区域允许用户位于延迟较高的链接上,但如果存在本地代理,额外的延迟不可避免地会影响最终用户的体验。对于用户所做的大多数工作,由于卫星区控制器和站点数据库之间的往返,他们会遇到速度变慢的情况。

对于启动应用程序,当会话代理进程确定要向合适的vda发送会话启动请求时,会发生额外的延迟。

创建和管理区域

完全管理员可以执行所有的分区创建和管理任务。但是,您也可以创建自定义角色,允许您创建、编辑或删除zone。在分区之间移动项不需要与分区相关的权限(分区读权限除外);但是,您必须具有要移动的项目的编辑权限。例如,要将目录从一个区域移动到另一个区域,您必须具有该目录的编辑权限。有关更多信息,请参见委托管理

如果您使用Citrix配置:Citrix Provisioning Console不知道区域,因此Citrix建议使用Studio为卫星区域创建目录。在Studio中创建目录,指定正确的卫星区域。然后使用Citrix Provisioning Console在该目录中的配置计算机。(如果使用Citrix Provisioning向导创建目录,则目录将放在主区域中。您必须使用Studio将其移动到卫星区以后将其移动到卫星区域。)

创建一个带

  1. 选择配置>区域在Studio导航窗格中。
  2. 选择创建区域在Actions窗格中。
  3. 输入分区的名称和说明(可选)。该名称在站点中必须是唯一的。
  4. 选择要放在新区域中的项目。您可以筛选或搜索可以从中选择的项目列表。你也可以创建一个空的区域;简单地不选择任何项目。
  5. 点击保存

作为此方法的替代方法,您可以在Studio中选择一个或多个项目,然后进行选择创建区域在Actions窗格中。

修改zone名称或描述

  1. 选择配置>区域在Studio导航窗格中。
  2. 在中间窗格中选择一个区域,然后选择编辑区在Actions窗格中。
  3. 更改区域名称,描述或两者。如果更改主区域的名称,请确保将区域仍然可容易地识别为主区域。
  4. 点击好吧申请

将项目从一个区域移动到另一个区域

  1. 选择配置>区域在Studio导航窗格中。
  2. 在中间窗格中选择一个区域,然后选择一个或多个项目。
  3. 将项目拖到目标区域或选择移动项目,然后指定要将它们移动到哪个区域。

确认消息将列出您选择的项目,并询问您是否确定要移动所有项目。

记住:当目录使用到管理程序或其他服务的主机连接时,请将目录和连接放在同一个区域中。否则会影响性能。如果你移动一个,另一个也要移动。

删除区域

在删除之前,区域必须为空。您无法删除主区域。

  1. 选择配置>区域在Studio导航窗格中。
  2. 在中间窗格中选择一个区域。
  3. 选择删除区域从Actions窗格中。如果该区域不是空的(它包含项目),则要求您选择将这些项目移动到的区域。
  4. 确认删除。

为用户添加home zone

为用户配置归属区也被称为添加用户到zone

  1. 选择配置>区域,然后在中间窗格中选择一个区域。
  2. 选择将用户添加到区域在Actions窗格中。
  3. 将用户添加到区域对话框中,单击添加然后选择要添加到区域的用户和用户组。如果指定已拥有主区域的用户,则消息将提供两种选择:是的=仅添加您指定的没有主区域的用户;没有=返回到用户选择对话框。
  4. 点击好吧

对于配置了home zone的用户,你可以要求会话只从他们的home zone启动:

  1. 创建或编辑交付组。
  2. 用户页面,选择会话必须在用户的主区域启动(如果已配置)复选框。

由该交付组中的用户启动的所有会话都必须从该用户的主区域中的机器启动。如果交付组中的用户没有配置主区域,则此设置无效。

移除用户的主区域

这个过程也称为从zone中删除用户。

  1. 选择配置>区域,然后在中间窗格中选择一个区域。
  2. 选择删除用户在Actions窗格中。
  3. 将用户添加到区域对话框中,单击删除然后选择要从专区删除的用户和组。此操作仅从该区域删除用户;这些用户仍然属于交付组和应用程序组。
  4. 当提示时确认删除。

管理应用程序的主区域

为应用程序配置归属区域也被称为将应用程序添加到区域。默认情况下,在多区域环境中,应用程序没有归属区域。

应用程序的主区在应用程序的属性中指定。您可以在将应用程序添加到组或稍后时配置应用程序属性。

应用程序的属性/设置页面:

  • 如果您希望应用程序有一个归属区:
    • 选择使用选定的区域来决定单选按钮,然后选择区域。
    • 如果您希望仅从选定的区域启动应用程序(而不是从任何其他区域),请选择区域选择下的复选框。
  • 如果你不希望应用程序有home zone:
    • 选择没有配置home zone单选按钮。
    • 如果您不希望代理在启动此应用程序时考虑任何已配置的用户区域,请选中单选按钮下的复选框。在本例中,应用程序和用户主区域都不是用来确定在哪里启动该应用程序的。

包括指定区域的其他操作

创建至少一个附属区域后,可以在添加主机连接或创建目录时指定区域。

通常,主区域是默认的。当使用Machine Creation Services创建目录时,将自动选择为主机连接配置的区域。

如果站点不包含附属区域,则假定为主要区域,区域选择框也不会出现。