参考体系结构:在 Azure IaaS 上与存储区域进行Content Collaboration

读者

此参考体系结构适用于希望在其 Azure 订阅中为 Citrix Content Collaboration 部署客户托管存储区域的个人。这些人包括 IT 决策者、顾问、解决方案集成商和合作伙伴。

本文件的目标

Citrix Content Collaboration 允许客户选择存储其文件的位置。客户可以选择将文件存储在 Citrix 的云原生存储区域或客户管理的存储区域位置中。客户管理的存储区域可以位于其本地数据中心、他们选择的公共云或组合中。客户管理的存储区域还可以作为现有存储库(如网络文件共享或 SharePoint Server 文档库)的网关。 本文档特别侧重于在 Azure 云上部署存储区域的指导。 本文件的范围限于:

  • Azure 存储区域的体系结构组件
  • 提供有关存储永久文件对象和缓存的位置的指导
  • 提供有关配置 Citrix Application Delivery Controller (ADC) 以获得最佳用户体验的指导
  • 将防病毒解决方案集成到存储区域的最佳实践建议

Content Collaboration 平台概述

Citrix Content Collaboration 是一个企业内容协作平台,使 IT 部门能够提供强大的数据共享和同步服务。该服务满足用户的移动性和协作需求以及企业的数据安全要求。Citrix Content Collaboration 提供了选择静态文件存储位置的灵活性。 Citrix Content Collaboration 由三个主要组件组成:Content Collaboration 管理平面、存储区域和 Citrix Files 应用程序。

  • 管理层:一个 Citrix 管理的组件,托管 Content Collaboration 服务和业务逻辑,托管在美国或欧盟。
  • 存储区域:客户文件的存储位置。客户可以选择存储文件的位置。这些文件由 Citrix 或客户托管。客户位置可以是他们自己的数据中心或公共云。此参考体系结构侧重于 Azure 中托管的客户管理的存储区域。
  • Citrix Files(客户端):提供对 Content Collaboration 服务的访问权限的本机应用程序。Citrix Files 应用程序可用于 Windows、macOS 和 iOS。Android、Outlook 和 Gmail。

Content Collaboration 组件概述

用例

客户出于不同的原因部署自己的客户管理的存储区域。在 Azure 上使用存储区域的典型使用案例包括:

  • 性能: 尽管 Citrix 在多个地理区域托管存储区域,但某些区域的客户可能无法访问为员工提供所期望的用户体验的区域。客户可以直接在靠近用户的数据中心部署存储区域,但是这种设计会带来资本支出成本和持续运营成本。全球拥有 54 个 Azure 区域,客户可以选择将存储区域部署到更接近用户的区域。这可以减少传输文件时的延迟,为员工和外部协作者提供更好的用户体验。 在 Azure 中部署 Citrix Virtual Apps and Desktops 资源位置时,始终在同一 Azure 区域中部署内容协作存储区域。这使得数据更接近他们的应用程序/台式机。
  • 治理和数据驻留: 与之前的陈述类似,客户可能需要将数据托管在 Citrix 可能没有占用空间的特定地区。另一种方法是客户在自己的数据中心托管,并可能被其中一个 Azure 区域覆盖。
  • 对现有存储库进行现代化改造: 文件迁移并非总是可能,也可能非常耗时。通过部署客户管理的存储区域,客户可以直接在任何设备上解锁现代工作风格,而无需迁移现有数据。

Azure 中的客户托管存储区域体系结构

客户管理的存储区域存储上载到 Content Collaboration 服务的所有文件对象。它还为员工和在这些文件上进行协作的外部人员提供了对这些文件对象的访问权限。存储区域的另一个功能是提供对本地托管的现有存储库的访问权限。这些存储库包括网络文件共享、SharePoint Server 文档库和 OpenText Documentum 文档管理系统。为了提供这些功能,存储区域包括这些组件。

  • 存储区域 Controller:托管存储区域控制器服务的基于 Windows 的 Web 服务器。
  • 存储库:Citrix Files 对象持久存储的位置。建议:Microsoft Azure Blob 存储或由 Azure IaaS 虚拟机托管的中小型企业共享。我们建议使用 Storage Spaces Direct 将文件共享配置为高可用性。要提高 SMB 共享的性能,请附加高级数据磁盘。
  • 存储缓存:Citrix Files 客户端软件中的数据文件临时缓存的位置。建议:使用 Azure 文件或附加到 VM 的标准 SMB 共享。如果使用 SMB 共享,我们建议使用 Storage Spaces Direct 将文件共享配置为高可用性。要提高 SMB 共享的性能,请附加高级数据磁盘。
  • Citrix ADC:Application Delivery Controller 为进入存储区域的入站流量提供网络负载平衡、SSL 卸载和身份验证服务。

存储区域控制器

存储区域 Controller 是由 ASP.NET Web 服务和后台 Windows 服务组成的 Windows 软件包。控制器软件在具有互联网信息服务 (IIS) 的 Windows Server IaaS 虚拟机之上运行。存储区域控制器的系统要求位于 此处

所需的存储区域控制器数量取决于存储区域部署的使用方式。影响这个数字的因素包括以下几个因素:

  • 正在存储的新文件和更新文件数量:影响存储区域 Controller 和存储库之间所需的带宽,以防止文件 I/O 队列在存储区域控制器上构建。
  • 存储文件的大小:传入文件分多个段上载,存储区域控制器将这些段合并回到一个文件对象中。合并这些部件可提高 CPU 利用率,因为更大的文件需要更多的 CPU 处理能力。
  • 并发会话数:对于文件下载或文件上载,到存储区域的并发文件传输会话数会影响所需 Controller 主机数量。
  • 本地连接器的使用:当用户打开连接器或浏览到其他文件夹时,存储区域控制器会实时更新文件和文件夹的元数据。

为了实现高可用性目的,我们建议每个存储区域至少部署两个存储区域控制器,Citrix ADC 为入站流量提供负载平衡服务。2 个控制器的基准部署最多可支持 Content Collaboration 租户内的 5,000 个用户。为超过 5,000 个用户的 2,500 个用户,向存储区域中添加一个存储控制器主机。存储区域的实际使用情况决定了需要多少个控制器主机。根据文件大小和访问频率,部署范围可从每 250 个用户 2 个控制器主机到每 250,000 个用户 4 台控制器主机。

内部测试显示,每个存储区域的最佳控制器数量最大为 4。对于单个站点中需要更多控制器的部署,建议设置多个存储区域。

要在 Azure 中设置存储区域控制器,我们建议:

  • 首先将 DS 或 FS 系列 虚拟机作为服务器计算机 — 从 DS4v2 实例类型开始,然后从那里进行修改。修改存储控制器的实例类型不需要重新安装组件,只需重新启动即可。有关虚拟机限制(IOPS/吞吐量/CPU)的详细信息,请访问以下 链接
  • 建议在主机缓存设置为读/写的情况下在虚拟机中使用高级磁盘。
  • 在存储控制器适配器上启用 NSG(网络安全组)上的端口 443。
  • 创建多个控制器时,请确保根据您的可靠性/可用性要求在可用性集或可用区内创建它们。

有关更多详细信息,请参阅 “ 性能监视 ” 一章。

存储库

Azure Blob 存储: 使用 Azure Blob 存储来存储文件对象。存储区域控制器主机使用本机 API 执行文件传输。

我们建议在 Azure 中使用 GRS(地理冗余存储)作为复制机制创建具有卓越性能的 V2 存储帐户。如果用户选择不使用地理冗余,则一般指导是使用 LRS(本地冗余存储)进行配置。但是,用户需要注意,Azure 存储帐户有 20,000 IOPS 限制。有关存储帐户 限制,请参阅此 Microsoft 文档。

SMB 文件共享: 如果所需容量超过 20,000 IOPS,我们建议在 Azure 虚拟机上使用 SMB 文件共享。附加多个托管数据磁盘以托管共享文件夹。在构建高可用性 IaaS 文件共享时,请确保使用 Storage Spaces Direct 并密切关注性能限制。除 虚拟机类型(以较低者为准)外,还会对 [托管磁盘](https://docs.microsoft.com/zh-cn/azure/virtual-machines/windows/disks-types) 类型 和大小施加 IOPS 限制。 或者,用户可以考虑 Azure NetApp 文件(开箱即用的高可用性)。

存储缓存

Azure 文件: Azure 文件上的本地缓存存储上载到存储区域或从存储区域下载的最新文件。经验表明,最近使用的文件通常会同步到不同的设备或与其他人共享。不必每次从 Azure Blob 存储库中检索这些文件,这会增加用户体验并减少存储区和云存储库之间使用的带宽量。

Azure 文件支持 SMB 协议,共享可以挂载在 Windows 计算机上。有关挂载 Azure 文件的信息,请参阅本文。

SMB 文件共享: 或者,可以将具有高性能高级数据磁盘的 SMB 文件共享用于缓存。根据设计,此选项不高可用性,我们建议您使用 Storage Spaces Direct 并将虚拟机部分纳入可用性集。我们建议将高级 SSD 附加到 DS 或 FS 系列 Azure 虚拟机。

注意: 我们的测试显示 Azure 文件和高级 SSD 之间没有显著的性能差异。

Azure 上的存储区域体系结构

文件对象的加密

存储区域允许在文件级别上配置所有文件对象的加密。存储区域控制器主机使用在初始设置存储区域期间生成的 AES 256 位加密密钥进行加密。启用加密会影响存储区域控制器主机的性能,因为加密和解密文件对象会增加 CPU 利用率。

当公司安全策略要求对所有文件进行加密且没有其他加密存储层的方法时,我们建议使用此选项。由存储区域控制器主机进行的加密将消除在存储区域内的持久性存储文件夹上执行重复数据删除的能力。在没有 SCKeys.txt 文件或配置密码短语的情况下重建存储区域时,加密还使得无法恢复数据。

Citrix ADC

Application Delivery Controller 在存储区域前面使用。Citrix ADC 执行以下功能:

  • SSL 卸载: 存储区域的传入 SSL 会话在 ADC 上终止。根据客户的安全性和监视要求,ADC 和存储区域控制器主机之间的流量可以进行加密或未加密。
  • 负载平衡: ADC 在存储区域控制器主机之间进行流量负载平衡,以提供高可用性。为了确定哪个存储区域 Controller 主机可以运行,ADC 将监视每个主机上的检测信号结果。对检测信号的响应无效的主机被视为脱机,并且不会将文件传输会话定向到这些主机。
  • 验证: 用户在访问连接器时必须进行身份验证最佳做法是在 DMZ 内执行此身份验证,而不要让远程用户在未经身份验证的情况下进入 LAN。通过在 Citrix ADC 上配置 Kerberos 约束委派,从加入域的设备访问连接器的本地用户可以无缝地进行身份验证,而无需提供凭据。有关更多信息,请参阅这 篇文章
  • 内容切换: Citrix Files 存储库的流量因流量到连接器的流量不同:连接器需要身份验证,而 Citrix Files 存储库的流量始终没有身份验证。此流量是由于与外部用户共享文件,外部用户没有凭据可以通过客户的 Active Directory 进行身份验证。由于这种差异,ADC 执行内容切换以分隔此流量,并将身份验证策略应用于连接器流量的负载均衡器。在 Citrix Files 流量的负载均衡器上,响应程序策略被配置为验证请求的真实性:只有来自 Content Collaboration 管理平面的请求才允许通过存储区域控制器主机。

分离本地和远程用户会话

为了为本地用户提供最佳用户体验,Citrix ADC 上的配置将为本地用户和远程用户分开。本地用户被视为从加入域的设备或移动设备访问存储区域。移动设备在 iOS 或 Android 上使用 Citrix Endpoint Management 管理的 Citrix Files 应用程序。在 ADC 上部署内部和外部接口的另一个原因是为了提高安全性。Citrix ADC 位于 DMZ 内部,外部接口位于 DMZ 网络中,内部接口位于本地网络上。要允许本地用户访问正确的 IP 地址,需要配置 拆分 DNS ,因为存储区域只有一个公有 DNS 名称和证书。

本地用户使用内部 IP 地址从内部负载平衡服务器或内容交换服务器访问存储区域。负载平衡服务器或内容交换服务器的选择取决于是否需要在 Citrix ADC 上对连接器进行身份验证。在这种情况下,需要内容交换服务器,本地用户的连接器的负载平衡服务器在访问连接器时使用 Kerberos 对用户进行身份验证。远程用户从具有 DMZ 范围内 IP 地址的外部内容交换机访问存储区域。远程用户的连接器的负载平衡服务器使用基本身份验证(用户名和密码)在访问连接器时对用户进行身份验证。存储区域 Controller 主机上的连接器身份验证使用 Windows 身份验证,连接器存储库使用在存储库上配置的身份验证方法。对于 SharePoint Server,此身份验证通常是 Kerberos,对于文件服务器,身份验证通常是 NTLM。

DMZ 和内部网络中的单一 ADC 设计

注意: 另一种配置使用两个单独的 ADC,而不是在 DMZ 和本地网络的边界上使用单个 ADC。外部用户在 DMZ 内部使用一个 Citrix ADC,在本地网络上为内部用户使用另一个 Citrix ADC。

两个 ADC 设计,一个在 DMZ 中,一个在本地网络

其他考虑

除了上述关键体系结构组件之外,我们还包括有关防病毒解决方案和存储区域性能监控的一般指导。

与防病毒解决方案集成

我们建议扫描上载到存储区域的所有文件是否有病毒和恶意软件。由于文件元数据与文件对象分离,因此不建议直接从存储区域扫描和删除受感染或可疑文件。虽然这将删除文件,但文件元数据将保留,用户可以在 Citrix Files 应用程序和 Web UI 中看到该文件。当他们尝试访问该文件时,会显示一条错误消息,表明该文件不存在。

为了提供更好的用户体验并保持所需的安全级别,存储区域可以通过 ICAP 界面利用防病毒解决方案。收到新的和更新的文件后,存储区域控制器主机会将该文件添加到扫描队列中。该文件通过 ICAP 发送到防病毒服务器,扫描文件后,防病毒服务器返回结果。存储区域 Controller 主机将此状态上载到存储在 Content Collaboration 管理平面内的文件元数据中。根据为租户帐户配置的防病毒策略,限制用户下载或共享标记为感染病毒的文件。

性能监控提示

存储区域 Controller 是在 Internet 信息服务器上运行的 ASP.NET Web 应用程序。监视存储区域控制器主机的性能遵循监视运行 ASP.NET 应用程序的任何 Web 服务器的一般原则。以下是确定性能问题的推荐指标。

内存

  • 可用 MB:持续值为总可用 RAM 的 20% 或更高。
  • 页面输入/秒:等于或小于 15。值越低,存储区域 Controller 的性能越好。
  • 页/秒:持续值为 5 或更少。

逻辑磁盘

  • % 磁盘时间:持续值为 50% 或更低。
  • 平均磁盘队列长度:小于或等于轴数加 2。
  • 平均磁盘读取队列长度:低于 2。
  • 平均磁盘写入队列长度:低于 4。
  • 平均磁盘秒/读取:等于或小于 15 毫秒,峰值低于 25 毫秒。
  • 平均磁盘秒/写:等于或小于 15 毫秒,峰值低于 25 毫秒。
  • 平均磁盘 SEC/ 传输:等于或小于 20 毫秒。

处理器

针对操作系统和运行存储区域控制器应用的 W3WP 进程运行处理器性能监视器。如果这些值彼此接近,则 Web 服务正在消耗 CPU,如果不是,那么其他进程正在影响系统的性能。

  • 百分比特权时间:持续价值为 75% 或更低。
  • 百分比处理器时间:持续值为 85% 或更低。

系统

  • 内容开关/秒:等于或小于每 CPU 15,000/秒。

Web 服务缓存

  • 内核:URI 缓存命中%:大于 80%。

ASP.NET Apps v4.0.30319(总数

  • 请求等待时间:等于或小于 1,000 毫秒。

摘要

Citrix Content Collaboration 提供了将文件存储在最适合组织需求的位置的能力。本文档介绍在 Microsoft Azure IaaS 中部署 Content Collaboration 存储区域的体系结构以及所有需要的组件。 组织中的 Content Collaboration 服务的用例会影响所需的组件:

  • 存储永久文件对象的地方
  • 可以检索最近访问的文件的存储缓存
  • 通过存储区域连接器访问 Content Collaboration 存储存储库和现有存储库。
  • 访问存储区域的用户的设备类型以及外部协作的类型。 所述体系结构涵盖了我们的客户与 Citrix Services 团队共同实施的测试和支持的部署模型。最常见的用例是通过存储区域连接器访问 Content Collaboration 存储存储库和现有存储库。

引用

用于 Citrix Content Collaboration 的资源

存储区域 Controller 的资源

Citrix Virtual Apps and Desktops 的 Citrix Files 服务部署指南

参考体系结构:在 Azure IaaS 上与存储区域进行Content Collaboration