应用网络服务

思科广域文件服务

Downloads

思科®广域文件服务(WAFS)为拥有多个分支机构的企业和机构提供了集中管理存储和提供本地文件服务的能力。思科WAFS可以帮助企业整合服务器和存储,集中管理备份和灾难恢复流程,同时在WAN上提供快速的、接近LAN的文件访问性能。

思科WAFS解决方案的好处包括:

  • 降低总拥有成本(TCO)――整合文件和打印服务器,不再在分支机构使用不可靠的磁带备份。
  • 加强数据保护――在数据中心保留分支机构的所有文件的备份,提供更好的保护,简化灾难恢复计划的实施,加强管理和提高存储资源的使用效率。
  • 减轻管理负担――IT管理员可以集中管理文件服务,例如使用配额、备份、灾难恢复、访问控制和安全策略等。
  • 全球文件共享――思科WAFS让用户可以在不同地点之间统一地共享文件,从而可以提高用户的生产率和促进分布式机构的合作。

通过采用先进的协议级缓存、压缩和网络优化技术,思科WAFS可以最大限度地缩短在WAN上访问文件服务器所导致的延迟。它不仅有助于确保标准的文件系统协议(Windows平台上的通用互联网文件系统[CIFS]和Unix平台上的网络文件系统)在WAN上的有效运行,还可以保持协议的各项特性,包括锁定、一致性、安全性和数据完整性。思科WAFS解决方案不需要在客户端主机或者文件服务器上安装任何软件。它的运行对最终用户完全透明,可无缝地集成到现有的网络和存储基础设施中。

本文概括地介绍了思科WAFS解决方案的技术机理,着重分析了它的产品架构、主要组件、特性和硬件平台、文件引擎。本文中的信息仅用作概述。如需了解关于产品功能或限制的详细信息,请参阅WAFS用户指南,或者直接联系思科系统公司。

思科WAFS的部署

思科WAFS解决方案部署在思科文件引擎设备上。图1显示了常用的部署配置。WAFS的部署通常包括下列组件:

  • 边缘文件引擎――一个部署在每个分支机构或者远程园区的文件缓存模块,可以替代文件和打印服务器,让本地客户端能够以快速的、接近LAN的性能读写集中存储的缓存内容。
  • 核心文件引擎――一个位于数据中心的服务器端模块,可以直接连接到一个或者多个文件服务器或者网络连接存储(NAS)服务器,代表远程边缘文件引擎发出针对WAN优化的文件请求。
  • WAFS中央管理器――一个管理模块,可以为所有文件引擎的集中管理、配置、监控和维护提供基于Web的工具。


图1 思科WAFS部署

思科WAFS部署

思科WAFS架构

图2显示了思科WAFS的主要架构。为了便于部署和安装,每个文件引擎都预装了WAFS软件,这使其能够作为一个边缘文件引擎、核心文件引擎或者WAFS中央管理器运行。管理员可以选择性地启用一个或者多个可用模块(边缘文件引擎、核心文件引擎或者中央管理器)。WAFS网关一词通常指的是一个配有一个或者多个有效模块的设备。

中央管理模块应当在一个指定设备上启用。它的独特设计使其可以控制多个网关的逻辑群组――无论它们位于何处。

图2 思科WAFS架构

思科WAFS架构

一个典型的思科WAFS部署包括一组分布在远程地点的边缘文件引擎,以及一个或者多个位于同一地点的服务器端核心文件引擎。它们负责提供对中央文件服务器的访问。从逻辑的角度来说,Windows和UNIX用户和应用分别可以利用标准的CIFS和NFS协议访问中央文件服务器,访问方法与他们访问其他任何CIFS、NFS文件服务器或者NAS并没有什么不同。

在物理上,所有文件服务器请求首先都被发送到本地边缘文件引擎,由其决定是在本地利用文件系统缓存管理该请求,还是把该请求转发到远程文件服务器。对于后一种情况,边缘文件引擎会封装CIFS或者NFS请求,并利用思科WAFS传输协议有效地在WAN上(基于TCIP/IP)将该请求发送到核心文件引擎。核心文件引擎会将WAFS请求解码为标准的CIFS或者NFS请求,再将请求发送到实际的文件服务器。随后,它将用WAFS协议封装文件信息,发送到边缘文件引擎,最终发回到CIFS/NFS客户端。

思科WAFS在架构上的主要特点是它工作在网络的文件服务器协议层(CIFS和NFS)。也就是说,WAFS建立了它自己的NFS和CIFS服务器和客户端层(分别在边缘文件引擎和核心文件引擎),并直接管理CIFS和NFS请求和响应。特别需要指出的是,对于用户开启的每个CIFS进程,WAFS都会代表该用户保持一条与文件服务器的虚拟通道,以便让WAFS支持CIFS的各种特性。

思科WAFS架构的另外一个重要特点是边缘文件系统相当于远程文件系统的一个纯粹的缓存和加速系统,而不是一个实际的文件服务器。这具有很多重要的作用。例如,不需要在WAFS中定义和管理用户和权限,也不需要管理缓存容量。用户还不需要备份边缘文件系统中的存储,因为它只存储原始文件的临时复本。这可以大大简化WAFS的运营和维护,最大限度地减少用于系统管理的IT资源。

组件连接综述

WAFS解决方案的各个组件之间按照下列方式连接:

  • 核心文件引擎、CIFS和NFS文件服务器――核心文件引擎组件可以连接到多个位于同一地点的文件服务器。它与这些文件服务器之间通过LAN相连。核心文件服务器可以建立集群,以实现负载均衡和故障切换。经过定义,核心文件引擎的集群可以作为单一“逻辑”核心文件引擎进行管理,从而可以简化配置。
  • 边缘文件引擎、CIFS和NFS客户端――每个边缘文件引擎组件可以同时管理多个CIFS和NFS客户端。边缘文件引擎与客户端之间通过LAN相连。每个边缘文件引擎组件都支持CIFS和NFS客户端。
  • 核心文件引擎、边缘文件引擎――两者通过WAN相连。每个核心文件引擎可以支持多个边缘文件引擎。一个边缘文件引擎可以连接到多个服务于不同的文件服务器的核心文件引擎,以及/或者一个服务于一组文件服务器的核心文件引擎集群。
  • 中央管理器、边缘文件引擎和核心文件引擎――一个管理器可以控制企业中的所有网关。

命名空间

边缘文件引擎会在LAN上表现为一个标准主机,而客户端则通过连接边缘文件引擎来访问远程文件服务器上的数据。对于NFS客户端,边缘文件引擎会被注册到本地域名空间(DNS)表中,并为每个原始文件服务器输出的所有目录输出一个安装点。NFS客户端随后会利用标准安装协议连接到输出的目录。边缘文件引擎会通过核心文件引擎,“虚拟”安装到原始文件服务器上的相关目录。而核心文件引擎则会利用标准的安装协议,真正地安装来自于原始文件服务器的相关目录。

对于CIFS客户端而言,一个边缘文件服务器还代表了多个远程文件服务器。边缘文件引擎可以利用WINS、DNS或者广播来注册本地文件服务器名称。本地名称会被映射到边缘文件引擎主机,进而通过核心文件引擎映射到数据中心的相应文件服务器。因此,一个Windows客户端可以浏览网络邻居,找到可用的(逻辑)文件服务器,并通过标准的进程建立CIFS命令连接到一个文件服务器。对于逻辑文件服务器的实际名称,管理员可以选择任何一个名称作为原始文件服务器的别名,但是别名不能与原始文件服务器的实际名称相同,以避免可能的名称冲突。* 一种常见的做法是按照分支机构过去使用的文件服务器的名称命名逻辑文件服务器。这样,中央文件服务器不需要进行任何改动,用户可以继续使用过去的本地文件服务器名称。

利用DFS和网络驱动器使用全局命名空间

在某些部署中,管理员希望提供一个全局命名空间,以便让所有分支机构可以共用同一个文件服务器名称。这种情况在用户需要在不同地点之间共享文件时表现得尤为明显。一个简单的办法是为中央文件服务器分配一个公用的网络字符驱动器。在每个分支机构,该网络驱动器都被映射到逻辑文件服务器名称(自动映射可以利用一个集中的启动或者登陆脚本实现)。

另外一种方法是使用分布式文件系统(DFS)。DFS是微软提供的一种逻辑命名空间机制,它可以将逻辑的文件夹和文件树状结构映射到物理文件服务器。思科WAFS支持DFS。逻辑文件服务器可以被注册为某个指定的逻辑文件夹的DFS复本。利用“站点信息”,用户会映射到它们的本地复本,以获得文件服务。除了全局命名空间以外,DFS的一个附带好处是它提供更加简便的故障切换――如果边缘文件引擎发生故障,客户端会自动使用第二个复本。这可能是另外一个本地备用边缘文件引擎,或者原始文件服务器。

* 在某些环境中,可以在不导致名称冲突的情况下使用相同的名称。请参阅部署指南,了解更多细节。

系统的主要特性

读写数据和元数据缓存

文件缓存是思科WAFS的核心。文件缓存模块位于边缘文件引擎,可以在本地满足大部分客户端请求(例如文件读取),而不需要通过WAN连接文件服务器。对于其他命令(例如文件写入),边缘文件引擎可以在本地响应用户请求,同时异步地将命令发送到文件服务器,而不会影响用户响应的延迟。缓存的主要特性包括:

  • 缓存的存储容量是自行管理的。当存储容量用完时,它会通过删除最近没有使用的缓存文件,为新的文件留出磁盘空间。因此,缓存只相当于文件的“工作区”,通常只是原始存储的一小部分。
  • 元数据保存在一个为快速I/O检索而优化的、基于文件的专用数据库中,也可以缓存在RAM中,让经常被访问的元数据具有加快的响应时间。采用缓存方式的操作包括那些涉及大部分元数据的操作,例如浏览--即使当实际文件数据不在缓存中时。
  • 基于文件段的缓存――思科WAFS不需要将整个文件置于缓存之中,就可以满足客户端的读取请求。特别需要指出的是,它支持随机访问,可以在被请求的字节到达边缘文件引擎时响应客户端的请求。同样,在写入时,WAFS只会向文件服务器发送实际被更改的文件段,而不是发送整个文件。这使得WAFS可以支持那些需要使用容量较大,但是改动较小(即使比较频繁)的文件的应用。
  • 提前读取缓存――如果缓存中没有保存某个文件,而思科WAFS又意识到应用正在对该文件执行连续读取,它会预测到应用将会读取文件剩下的部分,提前在后台读入该文件,从而缩短后续读取操作的延迟。
  • 异步缓存写入――思科WAFS支持有效的、统一的写入操作。通过执行缓存写入可以提高效率。这可以在与客户端请求异步的情况下,从边缘文件引擎向核心文件引擎(进而连接文件服务器)执行写入操作。但是,WAFS试图通过不断地将更新信息发送到核心文件引擎,最大限度地减少文件服务器中尚未补齐的、位于缓存中的更新信息。最重要的是,WAFS会在发出一个关闭命令之后将所有位于缓存中的数据发送到文件服务器,以确保应用可以察觉到文件服务器发生的任何写入错误(例如超过磁盘使用限额)。
  • 逆向缓存――思科WAFS采用了逆向缓存技术,即在缓存中存储关于缺失文件的信息,以避免在已知某个所请求的文件并不存在的情况下,在WAN上进行不必要的往返查询。这项功能对于那些需要在特定目录中反复寻找特定文件(例如配置文件)――即使这些文件往往并不存在――的应用非常有用。

针对协议信令操作的优化

除了数据和元数据缓存以外,思科WAFS可以在不影响协议特性的情况下,对特定的信令消息进行协议级缓存。典型的例子包括微软远程过程调用(MS-RPC)缓存,开放缓存,以及将一组锁定转换为一个综合锁定请求的锁定缩减技术。

同时性和一致性

锁定和共享模式

思科WAFS完全支持CIFS开放共享模式,可以将它们与文件开启请求一同发送到文件服务器。这让WAFS可以支持Microsoft Word和Excel等应用对共享文件进行正确的两地间访问。而且,因为共享模式会一直发送到文件服务器,文件可以避免受到直接连接到文件服务器(不是通过文件引擎)的客户端所进行的同时访问的影响。

同样,所有CIFS字节范围锁定请求也被发送到文件服务器,进一步确保了使用文件系统锁定的应用会执行正确的全局行为。对于NFS,WAFS支持本地锁定,即可以保存多用户的两地间访问的锁定特性。

一致性

边缘文件引擎组件中的数据缓存可以充当常用数据的临时性存储空间。在客户端请求一个文件或者数据块时,边缘文件引擎组件首先会检查它的本地缓存。如果本地存在被请求的数据,并且被视为“及时”,它将立即提供给客户端。如果数据缺失或者无效(陈旧或者过期),最新的数据将从远程服务器取回。用以保持缓存数据的时效性的策略和算法被统称为一致性。

思科WAFS提供了一种“开启-关闭”全局一致性模式,这意味着当某个用户开启一个文件时,它将是该文件被其他任何用户关闭以来的最新版本,这包括来自同一个地点或者不同地点的用户,或者直接从文件服务器访问文件的用户。

当管理员知道某些文件只能由来自某个地点的用户访问时(这些文件或者目录不允许两点间文件共享),思科WAFS提供了一种可选的“本地一致性”模式。这种模式提供了完全的一致性,但是只限于地点内部。相应地,性能将得到提高,尤其是那些需要扩展“信令”操作的应用,例如Microsoft Access。本地一致性模式能以任何用户希望的精确度定义,包括指定的文件、文件类型、目录,甚至整个文件服务器。

访问控制和身份验证

作为端到端架构的一部分,思科WAFS将访问控制和身份验证决策权力交给了文件服务器。因此,尽管WAFS可以通过缓存以前的查找结果来提高性能,但是它并不需要真正地管理和维护这些定义。

对于CIFS,用户身份验证(在进程建立时执行)和授权(在发出文件开启请求时)都被发送到文件服务器,由其直接管理。因此,不需要为特定文件定义新的用户或者新的权限,从而大大简化了思科WAFS的配置。

思科WAFS还支持跨区域身份验证和授权,这适用于一个被定义在某个特定区域中的用户需要访问另外一个区域的文件时。在Windows中,这是通过Windows的信任域机制透明管理的。在UNIX中,WAFS可以根据UNIX用户目录服务(例如NIS和YP)进行可选的跨区域用户和群组映射,或者直接将某个指定区域的所有用户映射到文件服务器中的一个特定的UID-GID映射。

WAN传输层

NFS和CIFS都是基于LAN的协议,并不适合在WAN连接上使用。而且,大部分访问文件系统的应用也只适合基于LAN的访问,从而加剧了通过WAN访问文件系统的问题。为了克服这个限制,思科WAFS在边缘文件引擎和核心文件引擎的WAN连接上采用了它自己独有的转换协议层,同时在客户端和服务器端保留了标准的NFS和CIFS。图3显示了WAFS的网络架构层次。

图3 WAN转换层

WAN转换层

下面概括介绍了该协议的工作机制:

  • 该协议建立在TCP/IP的基础上,只需要每个核心文件引擎提供一个端口,这使它适合与防火墙配合使用。
  • 思科WAFS为每个边缘文件引擎-核心文件引擎连接使用了数量可设置的并发TCP连接。请求和响应可以通过任何开放连接提供。特别需要指出的是,多个用于数据供应的请求(和响应)可以划分到多个连接,以提高网络的使用效率――对于高延迟或者高损耗的WAN连接,TCP性能很可能会降低。另外,WAFS提供了一种带宽控制机制,以便在其他应用需要共享连接时防止WAFS导致链路连接饱和。
  • 协议消息(请求和响应)是经过压缩的。在压缩之前,消息是加密的,以确保文字和双字节数据的有效供应。无论消息的内容是什么,协议层都会自动执行压缩。
  • 如前所述,思科WAFS会以管线方式处理写入操作,以便最大限度地减小延迟对WAN吞吐量的影响。同样,WAFS也会利用大于应用的缓存和TCP窗口,以管线方式处理读取请求。

网络故障

在发生临时性网络故障时,思科WAFS传输层可以在中断的接口上,重新建立连接和重新发送未获得响应的请求。

传输层会在连接中断一段时间之后通知思科WAFS应用。如果检测到“永久性中断”,系统就会切换到断开模式,拒绝对远程文件服务器的访问,直到连接重新恢复。很多客户端应用(例如Microsoft Word)都可以在连接断开的情况下继续工作,而且它们会在连接恢复之后自动恢复正常。

管理

思科WAFS中央管理器负责集中管理和配置远程网关,监控它们的运行状况,以及根据从网关搜集到的日志生成使用情况统计报告。利用一个简便的、基于Web的界面,管理员可以编辑和查看配置和策略信息,并从它们收取使用情况报告。WAFS中央管理包括两个管理应用:运行在每个网关(包括边缘文件引擎和核心文件引擎)上的网关管理器,以及运行在一个指定网关上的中央管理器。WAFS网关管理器可以管理WAFS网关的设置和本地监控。它包括一个用于首次安装的图形化安装向导,包括到中央管理器的连接、日志代理,以及负责监控多个系统参数和捕获设置的简单网络管理协议(SNMP)代理。图4显示了针对边缘文件引擎统计数据的例图。

思科WAFS中央管理器(包含一个如图4所示的简明界面)主要扮演着两个重要的角色:

  1. 管理思科WAFS重叠网络――同一个系统中的不同网关之间的连接和关系。这包括将一个边缘文件引擎连接到一个或者多个核心文件引擎,定义连接参数,以及查看网关构成的网络。
  2. 定义应用于一组网关的全局策略。特别需要指出的是,管理员可以为指定特定文件和预置任务的一致性等级制定策略。

图4 简明的边缘文件引擎统计数据

简明的边缘文件引擎统计数据

预置

思科WAFS为客户提供了从数据中心将文件预置或者“推送”到边缘文件引擎的能力。这可以提高缓存命中率。利用WAFS中央管理器,管理员可以指定分发文件的时间、需要分发的文件、分发的目的地。这大大提高了设定这些参数的灵活性。WAFS利用了传输层来提高传输效率,只传输缺失的数据块。另外,WAFS可以将文件分发时间限制于一定的时间(例如避免在高峰时间执行文件分发任务),以及限制需要传输的文件数量(避免快速的缓存重复使用)。

打印服务

除了文件服务以外,思科WAFS还可以为分支机构用户提供打印服务,消除了在分支机构使用一个单独的打印服务器的需要。WAFS打印服务器与标准的Windows打印服务类似。它们适用于任何打印机(利用原始模式-客户端负责处理数据)。它们配备了一个打印驱动程序库,客户端可以根据需要自动下载该程序库。它们还提供了完整的打印队列管理功能,其中包括任务状态监控。

其设计具备可扩展性和可靠性

思科WAFS为提高可扩展性进行了专门的优化。特别需要指出的是,只有不到20%的客户端消息会到达核心文件引擎,这大大减轻了核心文件引擎和文件服务器的负担。而且,核心文件引擎执行的任务相当简单,主要是对WAN传输层进行解码。这些任务不需要涉及任何缓存,因而不需要保存任何状态。另外,核心文件引擎的无状态架构使得用户可以方便地在多个核心文件引擎之间建立集群和执行负载均衡,从而通过添加核心文件引擎提供接近线性的可扩展性。在边缘,可以利用DFS或者Web缓存通信协议(WCCP)支持更多的用户。

核心文件引擎的无状态特性也大大提高了系统的可靠性,因为核心文件引擎的故障不会导致状态的丢失。因此,用户可以轻松地通过建立集群实现故障切换。边缘可靠性是通过密切监控系统看门狗和一个事务处理元数据的数据库而实现的。该数据库可以在故障之后恢复缓存状态。最终,DFS或者WCCP可以提供很高的可靠性。

硬件平台

思科公司为思科WAFS解决方案提供了一个采用多种配置的、预打包的文件引擎设备。请联系思科,了解最新的供货配置。每个文件引擎设备都可以选择世界级的Cisco SMARTnet服务。

其他资源

如需了解更多关于思科WAFS解决方案的信息,请访问http://www.cisco.com/cn,或者联系您当地的客户代表。

联系我们