Windows Server 2012系列---分支缓存

  分支缓存的技术是从2008R2和Win7开始引入的,此功能通过在分部的计算机中频繁的本地缓存那些使用过的文件,减少分部与总部之间的WAN网带宽使用。分支缓存利用下面的协议提高应用程序的性能:

  1.HTTP 或者 HTTPS协议。这些协议被网页浏览器和其他应用程序所使用。

  2.SMB(服务器消息块),包括已签名的SMB流量协议。这个协议被用于访问共享文件夹。

  3.BITS(后台智能传输服务)。这是一个仅利用空闲的网络带宽将服务器的内容发布给客户端的windows组件。BITS也被应用与微软的SCCM中。

  分支缓存改善了常用的应用程序在慢速网络的中访问内部服务器的响应能力。分支缓存不需要额外的基础架构,你可以通过部署Win7或更新版的客户端计算机和Win2008R2以上版本的服务器,并启用分支缓存功能来提升远程网络的性能。

  分支缓存的文件和文件夹权限保障了用户只能访问拥有权限的文件和文件夹。分支缓存能够与网络安全技术无缝的结合在一起,包括SSL,SMB签名和端到端的IPsec。即使能容是被加密的,也可以通过分支缓存技术来降低网络带宽的使用并提升应用程序的性能。

  分支缓存拥有两种模式,托管缓存模式和分布式缓存模式。

  托管缓存模式:这种模式主要用于分支机构,在分支机构搭建一台Win2008R2以上版本的服务器作为托管缓存服务器。当这台服务器的托管缓存生效时,客户端计算机会从这台服务器的托管缓存中获取内容。如果在托管缓存中的内容是无效的,托管缓存的服务器会通过网络连接到存放内容的服务器中获取所需的内容,然后将获取到的内容放入托管缓存以便请求成功的客户端能够从中检索到内容。

  分布式缓存模式:对于比较小的分支机构,这种模式更为适合,它不需要一台专门的服务器来作为缓存位置。但是这种模式只能用于各自单独的子网中,另外如果用户缓存的客户端计算机休眠了或者无法连接了,那么其他请求检索内容的客户端是无法检索到内容的。

  使用分支缓存的时候,可以将两种模式都在企业中应用,但是每个分支机构职能配置一种模式。

  在Win2012R2中,分支缓存有以下的改进:

  1.允许扩展性,分支缓存能够在每个位置设置多台托管缓存服务器。

  2.一个新的底层数据库,使用从Exchange服务器中引入的可扩展存储引擎技术。这个技术能够让一个托管缓存服务器存储更多的数据,数据的容量可以达到TB。

  3.更简单的部署方法,不再需要每个区域都设置一个GPO。部署分支缓存只需要一个设置好的GPO,当用户在区域之间移动办公时,客户端可以在托管缓存和分布式缓存模式之间切换,不需要使用特定站点的GPO。


  当客户端和服务器启用了分支缓存之后,如果客户端计算机使用HTTP,HTTPS或者SMB协议,客户端计算机通过以下的步骤来获取数据:

  1.Win8.1的客户端计算机连接到总部一台Win2012的内容服务器,最初请求的内容将不会使用分支缓存

  2.总部的内容服务器验证请求用户,并且确认该用户拥有访问数据的权限。

  3.总部的内容服务器返回一个哈希值作为请求内容的标示符给客户端计算机,而不是发送内容本身。通常内容服务器会使用与之前发送时相同的连接方式发送数据。

  4.使用检索的标示符,客户端计算机会使用以下方法:

    I.如果客户端计算机被配置成分布式缓存,那么它会通过在本地子网中广播去找到其他的已经下载了内容的客户端计算机。

    II.如果客户端计算机被配置成托管缓存,那么它会在配置的托管缓存中搜索内容。

  5.如果分支机构中的内容是有效的,客户端计算机会在分支机构的一台或多台客户端或者托管缓存上检索内容。客户端计算机需要确认数据已经更新并且没有被篡改或者损坏。

  6.如果在远程办公地点的内容是无效的,那么客户端计算机将直接通过WAN网从内容服务器上获取内容。这台客户端计算机可以使用分布式缓存让本地网络中的其他发出请求的客户端计算机获得有效的内容,或者按照托管缓存模式将内容发送给托管缓存。


  配置分支缓存的要求:

  客户端操作系统需要是Win7及以上的企业或者旗舰版,服务器操作系统需要Win2008R2及以上版本

  针对文件服务使用分支缓存需要执行以下操作:

  1.在Win2012R2的托管服务器上安装BranchCache功能或者网络文件BranchCache角色。

  2.使用powershell命令Enable-BCHostedClient或者组策略或者Netsh branchcache set service命令配置客户端计算机。

  如果你想使用分支缓存区缓存文件服务器的内容,你必须执行以下步骤:

  1.在文件服务器上安装网络文件BranchCache角色服务

  2.配置分支缓存的哈希发布机制

  3.创建启用分支缓存的文件共享

  如果你想使用分支缓存区缓存Web服务器的内容,必须在Web服务器上安装BrancheCache功能,但不需要做其他额外的配置。

  在安装有Hyper-V角色的Win2008R2企业版的核心模式和Win2012R2的数据中心版的服务器上不能使用分支缓存功能。

  

  在分布式缓存模式中,分支缓存不需要专用的服务器,而是在同一个站点的客户端之间应用。如果一个客户端计算机被配置成使用分布式缓存模式,任意的客户端计算机可以使用WS-Discovery的广播协议去搜索本地的已经下载并缓存了内容的计算机。你需要配置客户端防火墙的入站流量,HTTP和WS-Discovery.

  但是在win8.1客户端会去搜索托管缓存服务器,如果发现了一台托管缓存服务器,将会自动的把客户端配置成托管缓存模式。在托管缓存模式中,客户端计算机会自动将自身配置成托管缓存模式的客户端,并会搜索托管缓存服务器以便于他们能从托管缓存中获取内容。


BranchCache配置实验演示:

环境介绍:

LON-DC1  win2012R2 域服务器

LON-SVR2  win2012R2 成员服务器

LON-CL1   win8.1Ent 客户端计算机

LON-CL2   win8.1Ent 客户端计算机


一、配置总部的文件服务器LON-DC1


本实验中将LON-DC1作为文件服务器,首先在LON-DC1上安装网络文件BranchCache的角色,该角色位于 文件和存储服务->文件和iSCSI服务中

wKiom1RIwlDi3o6TAASQvpst8JY331.jpg

后续操作都按默认值,开始安装网络文件BranchCache

wKiom1RIw2Tzdm4ZAAL4Osvlt54941.jpg

安装成功后,在LON-DC1上用gpedit.msc打开本地组策略,在计算机配置-管理模板-网络-Lanman服务器 中找到分支缓存的哈希发布并启用它,哈希发布操作保持默认。

wKioL1RIxoiwhFv6AAbBBzrAPnk866.jpg

将LON-DC1通过本地组策略设置模拟一个慢速网络,在计算机配置-windows设置-基于策略的Qos,新建一条策略

wKioL1RIzPvw_QJ6AAN_RaPYc9k043.jpg

策略命名为100Kbs,将指定出站调解率的值设为100,后续保持默认完成向导

wKiom1RIzsuwVkxAAAOovFElnh4874.jpg

在LON-DC1的C盘建立一个名为Folder的文件夹,并在文件夹的属性中启用高级共享

wKiom1RIz6HxCE4sAAM1ijwxhpY106.jpg

在高级共享打开缓存选项,并勾选启用BranchCache

wKiom1RI0I3xSMQ7AAMbzGd143o279.jpg

在Folder文件夹中放入一个文件,本实验中拷贝了一个mspaint.exe文件

wKiom1RI0brxNSJtAAHu2v2P3dg530.jpg

在LON-DC1上使用GPMC.MSC打开组策略管理器,新建一个BranchCacheFireWall的组策略来配置客户端的防火墙

wKioL1RI02-iKZBcAAMJ6S1-O7s618.jpg

在新建的组策略中设置两条入站防火墙规则,在预定义中选择BranchCache-对等机发现(使用WSD)和BranchCache-内容检索(使用HTTP)

wKioL1RI1P7Q43hMAARlLxdovMo384.jpg

策略设置完毕

wKiom1RI1QDwC98gAANA-1SXMgY405.jpg


二、配置分支机构的托管服务器LON-SVR2


在LON-SVR2上安装BranchCache功能和网络文件BranchCache角色

wKioL1RJpUPhjh_TAARhmK71WAw061.jpg

开始安装所选角色和功能

wKioL1RJpcuD53LIAAMnuxlfbxc758.jpg

打开Powershell控制台,使用命令Enable-BCHostedServer -RegisterSCP将LON-SVR2注册为服务连接点

wKioL1RJqT-SL2YeAAHxEQoZOD8299.jpg

输入Get-BCStatus,确认显示的信息中BranchCacheIsEnabled,HostedCacheServerIsEnabled,HostedCacheScpRegistrationEnabled这3个值都是True

wKioL1RJvMrh-VvcAARa-DY5lB4821.jpg

将Powershell的显示内容拉到最下,确认目前DataCache中的CurrentActiveCacheSize的值为0,表示目前托管主机还没有缓存数据

wKioL1RJvlKRGgTrAAUr0_yIFxM522.jpg

三、配置客户端计算机的BranchCache


连接到LON-DC1,打开AD用户和计算机控制台,新建一个名称为BranchCache的OU,将LON-CL1和LON-CL2放入这个OU

wKioL1RJ4FXQI1fFAAKdzi0Y1s8810.jpg

打开组策略管理器,创建一个新的组策略,命名为BranchCache,并编辑这个组策略,导航到计算机配置-策略-管理模板-网络-Branche,将"启用BranchCache","通过服务连接点启用自动托管缓存发现","配置网络文件的BranchCache"都设置成已启用状态

wKioL1RJyBXDNUYUAAXUnOvE_Y4270.jpg

将BranchCache和之前创建的BranchCacheFireWall策略链接到BranchCache的OU上

wKioL1RJzCHzEKTLAAOdTeojVWE967.jpg

使用域管理员账号登陆LON-CL1,LON-CL2,运行CMD打开命令窗口,在命令窗口中输入netsh branchcache show status all,或者使用powershell的命令Get-BCStatus,查看BranchCache服务状态中的服务模式和当前状态,确保服务处于运行状态,如果不是运行状态则用gpupdate /force强制刷新组策略,然后确认BranchCache服务正在运行

wKiom1RJyuPgj_PVAAPVHTJ0-RA071.jpg


四、检测BranchCache的运行状况


分别在LON-SVR2,LON-CL1,LON-CL2上面性能监视器中监视BranchCache的性能数据,首先运行Perfmon打开性能监视器控制面板

wKioL1RJ0jeigG76AAL4Yko00kI419.jpg

选中性能监视器,并在右边的工具栏中将视图方式修改成报告模式

wKiom1RJ3knjoPz_AAN8xVKZAAM292.jpg

添加BranchCache对象的监视

wKioL1RJ3y2T3mvCAAXsTlc30Y4981.jpg

在LON-CL1上拷贝LON-DC1上共享的mspaint.exe文件,由于LON-DC1与LON-CL1之间处于一个慢速网络链接的状态下,所以拷贝所需时间会比较慢,同时你可以观察性能监视器中的数据,可以看出内容主要是从文件服务器中检索的,而不是从缓存中

wKioL1RLTNnwcCsSAAZXxMcZfUc451.jpg

我们切换到LON-SVR2,观察BranchCache的性能监视,可以看到数据已经缓存到LON-SVR2上了

wKioL1RLTaaCd8j1AASnjhPcD7k612.jpg

接下来,我们切换到LON-CL2上,同样从LON-DC1的共享Folder里面拷贝mspaint这个文件,可以发现Retrieval:Bytes from cache的值变得比LON-CL1上的大很多,可以看出LON-CL2获取的内容主要来自缓存。

wKiom1RLT3aiX6dPAAXmmKX1M_k730.jpg


最后可以在LON-SVR2,LON-CL1,LON-CL2中运行powershell命令Get-BCStatus查看DataCache中的CurrentActiveCacheSize,你会发现数值已经变成mspaint的大小了,说明文件已经缓存了。


注:实验用的客户端计算机必须是Win7或者以上的企业版和旗舰版,否则Branche功能是无法生效的。


你可能感兴趣的:(windows,server,2012)