DFS介绍

使用分布式文件系统可以轻松定位和管理网络中的共享资源、使用统一的命名路径完成对所需资源院的访问、提供可靠的负载平衡、与FRS(文件复制服务)联合在多台服务器之间提供冗余、与windows权限集成以保证安全。

配置分布式文件服务器的过程很简单,可以使用"DFS管理"组件来配置,也可使用"分布式文件系统"组件。

分布式文件系统(DFS)把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合成一个文件夹内(虚拟共享文件夹)利用分布式文件夹,对于用户来说,要访问这些共享文件夹时,只要打开这个虚拟共享文件夹,就可以看到所有链接到虚拟共享文件夹内的共享文件夹。用户感觉不到这些个共享文件是分散于各个计算机上的。分布式文件系统的好处是:集中访问。简化操作。提高文件存取效率。

配置分布式文件系统

安装windows2003 R2或者windows 2008的系统才有分布式文件系统组件,现就win2003R2系统说明如下:

创建DFS

DFS为共享文件夹定义了一个层次结构,类似于标准的目录结构,只是构成该目录结构的不是文件夹,而是多个共享点。使用分布式文件系统配置DFS分为两步:创建DFS根、创建DFS链接;

单击开始-管理工具-分布式文件系统,在弹出的页面中右击新建根目录,如图所示;

弹出新建根目录向导;单击下一步;选择根目录类型,如果有AD域建议选择域根目录,如下图所示;

独立根的配置信息存储在根服务器的注册表信息中,如果独立根服务器不可用,会导致DFS不可用。不支持容错。

域根的配置信息存储在AD中,并复制到当前域中所有DC中,以实现容错性,当根服务器不可用时,其它服务器仍可向客户端传送DFS信息。显然,域根是更加安全的方案,但需要AD域支持。建议连接数不要超过5000个。

单击下一步,输入域名信息,

输入服务器名称;点击浏览查找选择根目录的服务器名称;如图所示;

输入根目录名称和注释;根目录名称即共享访问的顶级的共享名称。如果共享文件夹存在,则直接使用,如果共享文件夹没有创建,便会自动创建一个共享文件夹。

在根目录共享中,选择指定的共享文件夹,如果文件未共享,向导会自动创建对应的文件;根目录建立完成后,分布式文件系统中会相应生成DFS根目录;

创建DFS链接

建立好DFS根目录后,为了能让DFS正常运行,还需建立DFS链接才能完成整个DFS的建立。即在DFS根上右击新建DFS链接,为链接起个名字并指向适当的的共享资源。如图,

在新建链接页面中输入链接名称和目标路径;链接名称即为客户端希望看到的根目录下的共享文件夹的名称。目标路径为服务器中已经共享的文件夹路径,如图所示;

对客户端缓存引用所需时间的解释:客户端对获得的引用进行缓存,对于独立的根目录默认的缓存时间是300秒,对于域根目录默认的缓存时间是1800秒。通常情况无需修改缓存时间配置,如果命名空间中的文件夹目标变更频繁,应考虑减少缓存时间;但减少缓存时间会增加域控制器和命名空间服务器的负载并增加网络访问流量。

客户端将每次使用缓存引用访问文件或文件夹时,更新引用的缓存持续时间值,可以无限地使用该缓存引用,直到清除客户端的引用缓存或重新启动客户端为止。其结果为命名空间中的文件夹目标虽已更新,但客户端却持续使用旧文件夹。可以让缓存引用在到达缓存持续时间值之后过期,再次访问时向域控制器或命名空间服务器获取新的引用,从而可以更快地发现对命名空间和命名空间文件夹的更改。

客户端只需在运行中输入UNC路径(\\域名\根目录名称)即可使用文件服务器进行资源访问,如图;客户端用户无需知道此共享文件在哪个服务上,实现了简单的资源访问。如多台服务器\电脑中有多个共享文件夹,只需依依添加新建链接即可,简单方便,用户访问简单便捷。

注:新建链接仅为单层,即不可在创建好的链接下在创建链接。

配置服务器冗余/负载平衡

配置服务器冗余/负载平衡可以实现在不同的服务器存储相同的共享文件夹中的文件,通过复制实现文件同步,当一台服务器宕机时,DFS会自动将共享文件指向另一服务器的共享文件夹,使客户端感觉不到宕机对共享文件夹的访问影响。客户端随时可以访问相应的资源。

即在不同的服务器中创建相同的共享文件夹,由DFS自动将客户端引向其中一个共享文件夹,当一台服务器宕机时,自动将客户端引向另一个共享文件夹,方便用户的共享访问。

单击分布式文件系统-新创建的链接mp3-右击新建目标,如图所示;

在目标路径中单击浏览选择另一台服务器的共享文件夹,如图所示;

单击确定,询问是否需要配置复制目标,如图所示;单击是弹出配置向导,亦可稍后配置复制。

弹出欢迎新建复制向导页面单击下一步;选择一个初始主机,随便选一个。要完成配置复制,下图的列表中最少要有两个正常的目标,若其中某项上有红叉,表示此机没有联好,或者相关的服务没有正常运行,检查Distributed File SystemDistributed Transaction CoordinatorFile Replication services三个服务是否在运行。

暂存文件夹是指如果需要启用复制的话,DFS会将复制的内容暂存到此文件夹,由此文件夹进行复制;

选择复制的拓扑,选择复制拓扑最快的“交错”,单击“完成”。

环:以循环的方式将文件从一台计算机复制到另一台计算机。每一台计算机的两边分别连接到此环形拓扑中的其他两台计算机。优点:提供了冗余。缺点:同步时间较长。

集散:此拓扑要求存在三个或更多成员;否则不可用。对于每个轮辐成员,可以选择必需的中心成员和(可选)用于冗余的第二个中心成员。此可选中心可以确保轮辐成员在一个中心成员不可用时仍可以复制。如果指定两个中心成员,中心成员之间将采用交错拓扑。优点:网络流量的速度快,缺点:容易造成单点失败。

交错:即混杂型,将上面两种综合起来。此拓扑中,每个成员将与复制组的所有其他成员进行复制。如果复制组中的成员等于或少于十个,此拓扑非常适合。如果复制组中的成员多于十个,建议使用交错拓扑。
优点:由于两两相接,提供了最大的冗余;缺点:造成的网络流量会比较大。

拓扑关系图如下所示;

由于是在域环境中进行设置,在任一域成员计算机中单击\\test.com\public将需要共享的文件放入其中,均可在设置复制拓扑的计算机中找到相应备份,实现了共享文件服务器自动备份,有效减少了重要文件损失的机率;

配置复制优先级和计划时间

如图所示,已经创建好DFS复制,可以进行复制冗余和负载平衡,右击已配置的共享目标属性,如图所示;

选择复制选项卡,如图所示;

单击计划可以自定义复制时间,某时间段内进行复制,单击自定义可以配置配置相关信息如图所示;

此处可以更改复制拓扑,即查看复制关系,勾选部分表示启用此服务器到另一服务器的复制,可以取消勾选即取消此服务器到另一服务器的复制。单击优先级可以设置复制优先级。如图所示;

在入站连接处勾选替代计划下面的勾,选择优先级,选择更改;默认情况下优先级为低;

建议同一站点内的文件服务器的优先级配置为高,不同站点的文件服务器优先级配置为中/低,依据不同的物理位置和带宽决定复制优先级;

如果DFS指向的共享文件位于不同的站点内,且相互复制,服务器会依据站点间的cost值将客户端的共享访问请求指向cost最小的一个站点;如果宕机,便依据cost值重定向到某个站点;

单击计划可以配置复制时间,如图所示;

依据具体网络带宽要求,避免在带宽使用较高的情况下复制等等。

如图单击文件筛选器旁的编辑,可以设置哪些文件不被复制,如应用程序的一些临时文件夹不被复制。

如图所示;*.avi的文件不被复制,点击添加即可;

单击子文件夹旁边的编辑,可以设置此文件夹下的哪些子文件夹不被复制;可以使用通配符;

将根目录分布在多台服务器中

单击另一台服务器-开始管理工具-分布式文件系统,右击选择显示根目录,如图所示;

在弹出的对话框中点击信任域,依次展开至根目录,如图所示,单击确定;

此时,DFS的根分布在两个服务器中,其配置信息全部存在于活动目录中,因为创建是域的根目录;

配置顶级DFS根目录添加其他DFS根作为其链接统一访问

如图所示,单击分布式文件系统,选择新建根目录即可按照步骤新建一个根目录,步骤重复不再贴图;

至此可以在同一服务器上创建多个DFS根目录,似乎违反了统一命令路径的原则,客户端需要记住多个根路径查找相应的共享文件,其实不然,可以在另一服务器上创建一个顶级DFS根目录,

选择另一台服务器,单击分布式文件系统,新建根目录,如图所示;

然后新建链接,将原服务器上的DFS根路径作为新建链接的目标路径添加其中如图所示;

注:public为win2003r2.test.com的DFS根目录,此处作为顶级DFS根目录的一个链接添加;

可以依次新建链接,将不同服务器上的根目录添加其中,

客户端访问只需记住顶级根目录的路径如\\test.com\root,便可轻松访问共享文件夹;

应用场景:适用于企业文件服务器依据需要为各个部门创建多个共享文件夹之后,又将不同部门的共享文件夹添加至根目录之下,使用统一命名路径进行访问的情形。注:根的嵌套链接最多8层。建议一个域的DFS根所包含的链接数不要超过5000个;

配置文件服务器访问权限(允许特定的用户访问共享文件夹)

分布式文件系统结合文件夹的共享权限与NTFS权限;

设置特定的文件夹只允许特定的部门组或者特定的用户访问,

选中需要设置权限的文件夹,右击属性-安全-高级,取消“允许父项的继承权限传播到该对象和所有子对象”。 在弹出的窗口中,选择“删除”,

随后点击高级选项卡中的添加按钮,添加相应的部门组或者用户到安全选项卡中,为方便管理,建议将Domain Admins用户组也加入到该文件夹,并赋给“安全控制”权限。如图所示;

如果设置所有人都能访问共享文件夹,在安全选项卡中点击添加,添加everyone,并给与读取、列出文件夹目录和读取和运行权限。如图所示;

安全选项卡中,用户和权限是直接继承自上级目录,对于test\Users只有读取权限;

(注:取消高级选项卡中的继承子文件夹权限则不显示Users的用户)

给Users(test\Users)添加"拒绝"写入权限,防止用户在与"此文件夹"同级目录中新增文件夹。

设置共享选项卡的权限,默认共享用户是Everyone,权限是只读;单击共享选项卡-权限如图所示;

勾选允许更改,赋予允许更改的权限,依据具体需求需要赋予客户端写入权限时给与此权限;

DFS与活动目录结合设置共享

单击AD用户和计算机-任一OU-右击新建-共享文件夹,如图;

客户端和服务器端可以通过搜索AD-共享文件夹搜索共享文件夹;

右击共享文件夹属性,可以进行一些设置,设置哪些用户可以/不可以搜索到此共享文件夹;如图所示;

提示:切换到高级功能模式下即可查看;

常规选项卡中单击关键字,可以添加共享文件夹下的子文件夹作为关键字,便于客户端忘记根目录的名称,只记得某一共享文件夹名称时进行搜索;

单击安全选项卡,可以设置哪些用户或组允许/拒绝搜索此文件夹,实现了AD共享文件夹的安全性,

如图,用户sky被禁止搜索AD中的共享文件夹,

客户端单击网上邻居-搜索Active Directory,单击查找-共享文件夹,便查找不到共享的文件夹。

创建独立的根目录

前述阐述,独立的根目录其配置信息存在于注册表中,域根目录配置信息存在于AD中;

单击创建好的根目录,可以看到发布选项卡,单击,如图所示;勾选在AD中发布这个根目录,即可将根目录发布到AD中,亦可设置关键字用于查询;

DFS只是通过一个统一的界面把共享资源组织起来,原来对共享文件夹所设置的各种权限都将保留;

FRS的冲突处理

当在DFS中启用复制的共享文件夹时,由于复制不能实时更新,会产生一些复制冲突,FRS的冲突处理如下:

对于创建重名的文件:在不同的主机上创建相同的文件产生冲突时,采取“last writer wins”即保存后写入的文件;

对于创建重名的文件夹:采取“frist writer wins”,即创建的文件夹名字不变,且后创建的文件夹会增加一个“_NTFRS_XXXXXXXX”的后缀,X是随机产生的16进制数字。

FRS可能带来的一些问题

当网络很不稳定时,客户端不能够确定被引向哪个服务器;

FRS的“last writer wins”机制,可能造成用户数据在不知不觉中丢失;即先写入的重名文件的内容丢失,虽然已保存,但只保存后写入的文件的内容。

只有当文件被关闭时,FRS才开始复制此文件;

即使是文件只改动一小部分,FRS也将复制整个文件;

病毒可能通过FRS传播的更快,所以有必要安装杀毒软件;

Win2003群集服务不支持FRS;

远程存储与FRS不兼容;

FRS不复制EFS加密文件,也不给予任何提示;

不支持磁盘配额;

分段目录(staging directory):DFS复制过程中的临时空间,当复制开始时,DFS会将文件生成一个副本至此文件夹中,然后在给其他服务器复制,优点:如果在复制过程中,需要修改复制的文件,此文件不会受到影响。

DFS所能复制的最大文件大小由分段目录(临时空间)决定,默认为660M;

临时空间最小为10M,最大为2TB;

可以通过修改注册表来改变临时空间的大小;

修改如下键值,改完需要重启NTFRS服务,才能使设置生效,net stop ntfrs;

关于USN journal wrap错误

USN日志是一种固定大小的日志,记录NTFS 5.0格式分区上发生的所有更改。只要FRS运行,NTFRS就会监视NTFS USN日志文件,看在FRS复制的目录中是否有关闭的文件。
如果在FRS关闭期间发生了大量更改,以至于FRS在关闭过程中记录的最后一次USN更改在启动期间在USN日志中不复存在,就会出现journal wrap(日志折叠)错误。存在的风险是:在该服务关闭期间,可能会发生对 FRS 复制树的文件和文件夹的更改,而USN日志中不存在对此更改的记录。为了防止出现数据的不一致性,FRS决定进入一种journal wrap状态。
能够减少journal wrap错误的选项包括:

将FRS复制的内容放在不太忙的卷上;让FRS服务保持运行;在FRS服务关闭期间,避免对它复制的内容进行更改;增加USN日志的大小。

FRS是一种服务,需要在域控制器上和FRS复制DFS集的成员上运行。
建议由复制机制管理的卷上的每 10 万个文件配置 128 MB 的日志容量。

USN日志的大小可以通过设置以下注册表项来更改:

HKLM\System\CCS\Services\NTFRS\Parameters\"Ntfs Journal size in MB" (REG_DWORD)

新建一个DWORD值Ntfs Journal size in MB,设置十进制128;

DFS可以帮助在多重物理系统之外创建逻辑文件系统,便于用户使用。通过DFS用户可以创建单一的在组、部门或企业内的包括多重文件服务器的文件共享目录树,使用户能够轻松的寻找分布在网络任何地方的文件或文件夹。

    1:通过DFS,可以实现将存在网络多个不同位置的共享文件夹使用统一路径访问,生产环境中如有条件,建议只使用一台独立服务器做专职的文件服务器。
    2:对于DFS,虽只要求DFS根必须在NTFS卷上,从安全方面考虑,建议DFS链接文件夹也建立在NTFS卷中。
    3:理论上DFS可以无限包含子文件夹,实际DFS路径长度不能超过260字节,建议建立文件夹时使用简洁的命名方案。
    4:同一个DFS根不能从现有的链接中再创建子链接,基本的DFS命名空间只有一级深度。