------From microsoft technet

         Microsoft 寄望 BranchCache 向分支机构员工提供与公司总部同事一样的文件处理体验。一如既往,对于 Microsoft 的新产品,您可以只选择您需要的功能。这一次,您可以只实现 BranchCache 和 Windows 7 客户端及 2008 R2 服务器。下面我们对这项新功能逐一进行深入探讨。

BranchCache

      BranchCache 将通过在 Windows Server 2008 R2 服务器或用户工作站上本地缓存常用文件来改善分支机构的体验,而不是强制用户通过位于集中位置的网络共享来访问文件。BranchCache 非常棒,但也有一些需要注意的问题。

     IT 部门可以在分布式缓存模式或托管式缓存模式下部署 BranchCache(请参见 1)。IT 部门可通过组策略配置模式,这样,若要在一个分支机构使用托管模式而在另一个分支机构使用分布式模式,则需实现两个策略并相应规划组织单位 (OU) 结构。Microsoft 建议在不超过 50 个客户端的站点中部署分布式缓存模式,但这要取决于 WAN 链接的速度和带宽以及其他因素。分布式缓存模式需要更大的硬盘并可能需要更多内存和其他资源,因此有时使用托管式缓存模式更为有利,尤其是在站点中已有一台 2008 R2 服务器的情况下。另外,分布式缓存模式只适用于本地子网。因此,如果某站点中有多个子网,则每个子网上的客户端都必须缓存文件,这样该子网上的其他客户端才能下载该文件。但是,托管式缓存模式可以服务于站点上的多个子网,这成为选择托管式缓存模式的另一个理由。

clip_image002

图 1 分支机构可以在分布式模式或托管式模式下使用 BranchCache

在分布式缓存模式下,分支机构中不存在文件服务器。实际上,通过设置策略,所有用户计算机都可以成为 BranchCache 客户端,也就是说,它们能够缓存分支站点中其他客户端可以下载的文档(如果这些文档是最新版本)。

例如,假设 Caroline 从中心站点一台启用了 BranchCache 的文件服务器请求文档 Reports.docx。BranchCache 发送描述该文件内容的元数据。然后,将使用元数据中的哈希值在本地子网中搜索内容。如果未找到搜索内容,则在该用户计算机的本地驱动器上缓存一个副本。在当日晚些时候,Tyler 需要修改 Reports.docx,因此他访问总部文件服务器上的共享位置以便获取一个副本进行编辑。该文件服务器返回元数据,该客户端随后搜索内容,它在 Caroline 的计算上找到搜索的内容并从该计算机进行下载。通过使用从元数据中的哈希值派生的加密密钥,这一过程可安全进行。第二天,Abigail 需要修改同一文档。过程是相同的,但她打开的将是缓存在 Tyler 的计算机上的副本。同样,版本信息仍然保留在服务器上。客户端访问服务器以确定在客户端的站点上是否存在最新版本的副本。

用户在处理各种文档时将应用三种 BranchCache 方案,这只是其中一种。另外两种方案如下:

. 一个分支机构工作人员向总部文件服务器请求一个没有在本地计算上缓存的文档。该用户收到一个副本,该副本随后缓存于本地。

. 一个分支机构工作人员向文件服务器请求一个在本地站点进行缓存的文档,但缓存该文档的计算机已关机。该客户端从文件服务器获得一个新副本,然后将该副本缓存在自己的计算机上。后续请求将转向最近缓存的这个副本。

在每一种情况下,文档都同时保存到总部文件服务器上。这样,如果 Caroline 回来访问该文档而现在拥有最新版本的 Abigail 的计算机已关机,则她将从总部服务器接收该文档。

在托管式缓存模式下,IT 部门可为分支机构中的 Windows 2008 R2 文件服务器配置 BranchCache,方法是安装 BranchCache 功能并配置一个组策略以通知客户端使用托管式缓存模式。针对分布式缓存模式描述的过程在这里同样适用,只不过文件缓存在本地配置的 BranchCache 服务器上,而不是用户计算机上。

注意:当从一台启用 BranchCache 的服务器请求文件时,由总部站点文件服务器维护的内容元数据将发送到每个客户端。这是为了确定是否有任何本地客户端或服务器(具体取决于使用哪种缓存模式)拥有最新副本。

分支站点上启用了 BranchCache 的服务器可用于其他目的,例如,可用作 Web 或 Windows Server Update Services (WSUS) 服务器。在这些情况下有一些特别的注意事项,相关内容请参见 Microsoft BranchCache 部署指南Microsoft BranchCache 前期应用指南

 

BranchCache:优点

下面是我所喜欢的 BranchCache 的一些方面:

. 如果用户已登录,那么即使应用程序退出,该功能也可以使用后台智能传输系统 (BITS) 在后台启用文件传输。这对于通过慢速链接相连的分支机构而言是一个非常好的功能。如果系统需要重新启动,则文件传输会在系统启动完成后继续进行。当然,为了使用这一功能,编写的应用程序必须能够利用 BITS。

. BranchCache 可通过 Netsh 命令行实用工具进行配置,并且在 TechNet 站点“适用于 Windows Server R2 的 BranchCache”上有完整的文档记录。

. 您可以通过用于客户端、文件服务器和缓存主机的计数器来监视 BranchCache 性能。这些不仅对于性能诊断有帮助,而且据我所知,观察这些计数器也是查看客户端是否真正获得缓存副本的唯一方法。

. BranchCache 环境可通过组策略进行控制。

BranchCache:缺点

BranchCache 肯定会有它的一席之地,但要留意它的以下缺点:

. 由于分布式缓存模式实质上将每个工作站都转变为文件服务器,因此,承载大量经常访问的文件的客户端计算机在性能方面可能会受到影响。实际影响程度有多大需要进行一些测试。

. 在某些情况下,客户端可能需要额外磁盘空间以获取足够的缓存大小。

. 此时,缓存客户端将与其他客户端争用网络资源。

. 在初始缓存过程中或在缓存中没有可用的文件时,可能会出现意外的延迟。只有 Windows 7 客户端和 Windows Server 2008 R2 服务器可以参与使用此功能,因此,此功能的全面普及可能需要一段时间。

如果您可以确定在分支机构中布置文件服务器的合理性,何不使用分布式文件共享 (DFS)?您可以使用分布式文件系统复制 (DFS-R) 功能来复制文件并使用 DFS 来维护一个命名空间,而不会经历在四处缓存文件的混乱情况。您可能会发现对网络文件进行缓存的优点,而且 BranchCache 或许适用于 DFS 共享。或者,您或许会发现缓存效率高于 DFS-R 效率的某种性能边界。另一方面,BranchCache 对服务器的影响将小于完备 DFS 配置的影响。关键是您必须弄清自己的需要,并研究 BranchCache 所提供的选项。当然,每个环境都是不同的,在一些分支机构中出现的问题不一定在其他分支机构中也出现。不存在适用于所有情况的唯一答案。