DFS的基本概念是DFS根和DFS连接。DFS根指服务器或服务器组,是客户端试图访问文件时首先要前往的地方。这些服务器通常分布在一个域的各个站点中。DFS 连接是指从逻辑目录到可以处理文件请求的服务器(位于企业内的任意位置)上的物理共享文件夹的引用。在Windows Server 2003中,大大增强了DFS的功能。 Windows Server 2003 在可靠性方面,针对DFS 作了重要的功能提升:一个服务器可以主持多个DFS 根。在Windows 2000中,不可能在一个服务器上有多个DFS根。因此,需要有大量运行Windows 2000 的服务器来主持多个DFS根。在Windows Server 2003 中,取消了这一限制。此外,Windows 2000 群集的独立DFS 服务器只能主持一个DFS根,而Windows Server 2003允许主持多个DFS根。
Windows Server 2003 还改进了在跨越多个站点对复制操作进行设置时的DFS行为。在 Windows 2000中,DFS 会优先考虑与客户端位于同一站点中的目标,如果在该站点中没有连接目标,它会在任何其他站点中为该客户端请求选择任意的连接目标。这种算法不是最有效的。
例如,如果某企业有分别位于北京、天津和上海的站点,并且其客户端计算机试图访问天津中的连接,则当天津中的所有连接目标都无法访问时,该客户端计算机不会考虑通信成本的高低,而故障转移到北京或上海中的某个目标。与此不同的是,Windows Server 2003会使用主动目录(Active Directory)中的站点开销信息来选择能够满足客户端请求的站点外目标。对于该企业的这种情况,DFS 能够从主动目录了解到从天津到上海的通信费用比从天津到北京的通信费用更昂贵,因此它会根据主动目录中的站点配置相应地将天津的客户端重定向到最近的北京目标。
利用DFS
实现流量分担方法的首先要在多台主机服务器内保持相同的内容,即把某主机的特定内容动态地复制到多台主机中。比如在Windows Server 2003 里,我们就可以借助DFS 技术来完成此目的。通过使用DFS 在域环境中能够利用文件复制服务(FRS)为共享目录产生副本这一功能,就能够把指定主机服务器内某一文件夹下的内容自动拷贝到其他一台或多台服务器中,从而就实现了主机间保持相同内容的目的。
在Windows Server 2003 中使用DFS的第一步是要建立DFS 根目录。
从Windows Server 2003 的管理工具进入“分布式文件系统”管理器,在这里新建DFS根目录。建立根目录的时候系统会要求选择根的类型。DFS根的类型有两种:一种是域DFS;另一种是独立DFS,要想实现目录的副本,必须选择域DFS 类型。独立DFS 只是在非域环境内建立的,它不能支持文件复制服务。
至此,在多台主机内保持相同内容的工作就完成了。Windows Server 2003的DFS会利用文件复制服务,把某主机服务器的特定内容动态地复制到多台服务器中。通过定义DFS 根的属性,还可以把DFS 发布到活动目录中,当域用户在活动目录里访问此主机服务器的链接内容时,DFS就会自动在多台服务器的副本间分流访问流量。然而这样的应用只解决了企业网内部 Windows用户的访问问题,但是,许多非企业网用户也许根本访问不到域的DFS根,比如广域网用户在访问主机服务器上的Web页内容时就不是直接访问DFS根的,从而也就无法访问其中的链接副本。因此还应该选择一种更通用的方法来实现不同主机服务器间的流量分担。
借力DNS
对于上述问题,可以通过域名服务(DNS)来解决。根据DNS的工作特点,我们的思路是让DNS将同一个主机名称轮流解析到不同的IP地址,即把信息轮流交换到不同的网络主机内,这些主机就是我们在前面已经利用Windows Sever 2003 的DFS 副本技术准备好了的、保存了相同内容的服务器,从而达到在多台主机间分担网络流量的目的。
实现这一功能可以借助Windows Server 2003 的 DNS 服务器里提供的循环解析功能来完成。
完成这些设置工作后,Windows Server 2003 网络中利用多主机服务器来分担网络流量的任务就可以实现了。当许多用户同时访问网络主机时,DNS服务器会先把第一台主机的IP地址回应给第一个用户,然后把第二台主机的IP地址回应给第二个用户,等等,当用完最后一个IP地址后再动态循环到第一台主机,以次类推。用户在访问时不用知道主机的具体网络地址,只要访问主机的名称即可,所有流量的分配工作由DNS 服务器自动完成,而且DNS 服务器还能够根据子网的划分,优先由子网内的主机来处理来自同一子网的用户访问,这样就实现了网络流量在多台主机服务器间的负载平衡。
以上介绍的这种分担流量的方法,使用了Windows Server 2003 中的DFS 和DNS两个服务,技术完全由软件实现,实现起来比较简单,而且成本低,不需要配置额外的硬件。虽然功能相对较少,但使用操作系统本身的网络技术,不需要另外的其他负载平衡服务,所以此方法通用性较强,任何提供目录副本技术和支持DNS循环解析功能的主机服务器都能够实现。